pub struct SkmBitSelector {
pub quarter: Quarter,
pub bitpos: SkmBitPos,
}
Expand description
SkmBitSelector
is primarily for use with the SKM
instruction which can access bits 1-9 of quarters, plus the meta
and parity bits (of the full word). Hence the wider range. See
the index_address_to_bit_selection
function.
Fields§
§quarter: Quarter
§bitpos: SkmBitPos
Implementations§
Source§impl SkmBitSelector
impl SkmBitSelector
pub fn to_value_bit(self) -> Option<BitSelector>
Trait Implementations§
Source§impl Clone for SkmBitSelector
impl Clone for SkmBitSelector
Source§fn clone(&self) -> SkmBitSelector
fn clone(&self) -> SkmBitSelector
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Debug for SkmBitSelector
impl Debug for SkmBitSelector
Source§impl Display for SkmBitSelector
Render the bit selector in the form q.b. Unfortunately the TX2
documentation is inconsistent in how the bit number is formatted.
Page 3-34 of the User Handbook clearly says “Bit Numbers are
interpreted as Decimal”.
impl Display for SkmBitSelector
Render the bit selector in the form q.b. Unfortunately the TX2 documentation is inconsistent in how the bit number is formatted. Page 3-34 of the User Handbook clearly says “Bit Numbers are interpreted as Decimal”.
However, section 5-5.2 of the Users Handbook provides a listing of the standard reader leader. The instruction at location 17 is shown as
INSTRUCTION NUMERICAL FORM (OCTAL)
²MKZ₄.₁₂ 400011 |021712 400011|
Section 5-5.2 of the Users Handbook also shows an instruction in Plugboard A at address 0377775:
INSTRUCTION NUMERICAL FORM (OCTAL)
³⁰SKN₄.₁₂ 377744 |301712 377744|
In both our examples above, quarter 3 has the value 0712 octal. This encodes the value generated by the 4.12 bit selector (as well as the bottom 3 bits of the opcode).
SKN
is shorthand for ³⁰SKM
and MKZ
is shorthand for ²SKM
.
The opcode for SKM
is 017. In the TX-2’s instruction word, the
index bits are used to store the bit selector for the SKN
instruction. In the TX-2’s convention these are bits 3.1 to 3.6
inclusive. That is, bits 19 through 24 (counting from 0 as the
least significant):
Q3 Bit | Interpretation | Octal | Meaning |
---|---|---|---|
3.1 to 3.4 | Bit number | 012 | 10 decimal, the metabit |
3.5 to 3.6 | Quarter number | 000 | Q4 |
3.7 to 3.9 | Low bits of opcode | 007 | Part of 017, for SKM |
However, for the moment we will adopt the decimal convention since it is in wider use in the documentation.
Source§impl Hash for SkmBitSelector
impl Hash for SkmBitSelector
Source§impl Ord for SkmBitSelector
impl Ord for SkmBitSelector
Source§fn cmp(&self, other: &SkmBitSelector) -> Ordering
fn cmp(&self, other: &SkmBitSelector) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Source§impl PartialEq for SkmBitSelector
impl PartialEq for SkmBitSelector
Source§impl PartialOrd for SkmBitSelector
impl PartialOrd for SkmBitSelector
impl Copy for SkmBitSelector
impl Eq for SkmBitSelector
impl StructuralPartialEq for SkmBitSelector
Auto Trait Implementations§
impl Freeze for SkmBitSelector
impl RefUnwindSafe for SkmBitSelector
impl Send for SkmBitSelector
impl Sync for SkmBitSelector
impl Unpin for SkmBitSelector
impl UnwindSafe for SkmBitSelector
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Comparable<K> for Q
impl<Q, K> Comparable<K> for Q
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.