System Software Notes eBook
About this eBook
Parentheses are used to indicate the contents of a register or a memory location.
Instruction Set SIC provides, load and store instructions LDA, LDX, STA, STX, etc. . Integer arithmetic operations ADD, SUB, MUL, DIV, etc. . All arithmetic operations involve register A and a word in memory, with the result being left in the register. Two instructions are provided for subroutine linkage. COMP compares the value in register A with a word in memory, this instruction sets a condition code CC to indicate the result. There are conditional jump instructions JLT, JEQ, JGT , these instructions test the setting of CC and jump accordingly. JSUB jumps to the subroutine placing the return address in register L, RSUB returns by jumping to the address contained in register L.
Input and Output Input and Output are performed by transferring 1 byte at a time to or from the rightmost 8 bits of register A accumulator . The Test Device TD instruction tests whether the addressed device is ready to send or receive a byte of data. Read Data RD , Write Data WD are used for reading or writing the data.
Data movement and Storage Definition LDA, STA, LDL, STL, LDX, STX A- Accumulator, L Linkage Register, X Index Register , all uses 3-byte word. LDCH, STCH associated with characters uses 1-byte. There are no memory-memory move instructions.
Storage definitions are
WORD RESW BYTE RESB -
ONE-WORD CONSTANT ONE-WORD VARIABLE ONE-BYTE CONSTANT ONE-BYTE VARIABLE
Example Programs SIC Example 1 Simple data and character movement operation LDA FIVE STA ALPHA LDCH CHARZ STCH C1 . ALPHA FIVE CHARZ C1