|
The symbol <- means "gets a copy of" so A <- S means that S's value is copied into A. "x" stands for the lower 12 bits of the IR register, since the machine instruction consists of a 4-bit opcode followed by a 12-bit value. Thus, for LDI, A <- x means that the 12-bit value is directly copied into A. For LOD, A <- m[x] means that x is used as the address of a word of memory that is copied into the A register. Eight of CSC-1's instructions do not have a memory operand, so x does not appear in these instructions' RTL. Main memory is treated as a large one-dimensional array of 16-bit values. M[x] means use the 12-bit value x from the instruction as the address of the word to either retrieve or change. In two cases, the value from the S register is used to address memory. Though S is 16 bits long, only the lower 12 are used when memory is addressed. The C operators for Boolean bitwise AND (&), Boolean bitwise OR (|) and Boolean bitwise negation (~) are used in the RTL description, as also the two shift operations. These are strictly logical 1-bit shifts in the CSC-1, however, not arithmetic or circular. |