Expand description
The prelude exports a number of structs which are useful in representing things to do with the TX-2. Providing this prelude is the main purpose of the base crate.
Re-exports§
pub use super::quarters::Quarter;pub use super::splay::cycle_and_splay;pub use super::splay::unsplay;pub use super::subword::join_halves;pub use super::subword::join_quarters;pub use super::subword::left_half;pub use super::subword::right_half;pub use super::subword::split_halves;pub use super::instruction::*;
Macros§
Structs§
- Address
- An address has 17 normal value bits. There are 18 bits for the
operand base address in the instruction word, but the topmost bit
signals a deferred (i.e. indirect) access, so we should never see
a memory access to an address with the
0o400_000bit set. - Signed5
Bit Signed5Bitis somewhat special-purpose for instructions such as JPX which use the instruction’s configuration value as a 5-bit signed integer.- Signed6
Bit Signed6Bitis somewhat special-purpose as the signed counterpart forUnsigned6Bit, which is for handlng index register numbers and sequence numbers.- Signed9
Bit - Signed counterpart of
Unsigned9Bit. - Signed12
Bit - Signed counterpart of
Unsigned12Bit. - Signed18
Bit - Signed counterpart of
Unsigned18Bit. - Signed36
Bit - Signed counterpart of
Unsigned36Bit. - Unsigned5
Bit Unsigned5Bitis used as a system configuration value; that is, an index into F-memory.- Unsigned6
Bit Unsigned6Bitis used as an X-register address. That is, thejinXj.- Unsigned9
Bit Unsigned9Bitis the value of a “quarter” of the 36-bit TX-2 machine word. A number of instructions - and in particular the Exchange Unit - work on the quarters of a word.- Unsigned12
Bit Unsigned12Bitis used as the mode of a connected I/O device.- Unsigned18
Bit Unsigned18Bitis the value of a “half” of the 36-bit TX-2 machine word. We use this type to hold STUV-memory addresses, among other things. Physical memory addresses though are only 17 bits wide. The remaining bit can be used to “mark” an address either for tracing (when it’s an instruction address) or for deferred addressing (when it’s an operand address).- Unsigned36
Bit Unsigned36Bitis the basic machine word of the TX-2. This is the width of the registers in the Arithmetic Unit, and it is the unit on which the Exchange Unit operates when performing memory fetches or stores. This is also the width of all instructions.
Enums§
- Conversion
Failed - Represents a failure to convert to or from one of the signed or unsigned types defined in the base crate.
- String
Conversion Failed
Constants§
- PLACEHOLDER_
MARK_ BIT - Placeholders (saved sequence instruction pointers in the index registers) use bit 2.9 to indicate that sequence switches to marked sequences should trap to sequence 42. This means that the mark bit needs to be retained in the program counter (P register) so that the sequence is still “marked” after it has run.
Traits§
- IndexBy
- The
IndexBytrait implements address arithmetic (adding a signed or unsigned value to an address).