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_000
bit set. - Signed5
Bit Signed5Bit
is somewhat special-purpose for instructions such as JPX which use the instruction’s configuration value as a 5-bit signed integer.- Signed6
Bit Signed6Bit
is 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 Unsigned5Bit
is used as a system configuration value; that is, an index into F-memory.- Unsigned6
Bit Unsigned6Bit
is used as an X-register address. That is, thej
inXj
.- Unsigned9
Bit Unsigned9Bit
is 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 Unsigned12Bit
is used as the mode of a connected I/O device.- Unsigned18
Bit Unsigned18Bit
is 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 Unsigned36Bit
is 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
IndexBy
trait implements address arithmetic (adding a signed or unsigned value to an address).