SI Instructions
Instructions that involve a byte in storage represented by a D(B) address and an immediate byte. The immediate byte is part of the encoded instruction.
The immediate byte can be specified in 4 ways:
1. Character Immediate Byte - enclose the character in single quotes and precede it with the letter C - Example: C'$' 2. Hexadecimal Immediate Byte - enclose TWO hexadecimal numbers in single quotes and precede it with the letter X - Example: X'5B' 3. Binary Immediate Byte - enclose 8 bits in single quotes and precede it with the letter B - Example: B'01011011' 4. Decimal Immediate Byte - code a decimal value between 0 and 255 (it will be converted to hexadecimal when encoded - Example: 91
Move Immediate
Format: label MVI D(B),byte - Moves the immediate byte specified by byte to D(B) Character: MVI 42(R5),C'*' moves a * to the address 42(5) Hexadecimal: MVI 42(R5),X'5B' moves a $ to the address 42(5) Binary: MVI 4(R5),B'01000000' moves a space to the address 4(5) Decimal: MVI 0(R10),80 moves a & to the address 0(10)
Compare Logical Immediate
Format: label CLI D(B),byte - Compares the byte at D(B) with the immediate byte specified by byte - Sets Condition code Code Meaning 0 Equality 1 byte at D(B) < immediate byte 2 byte at D(B) > immediate byte Character: CLI 4(R7),C'A' compares the letter A with the byte at the address 4(7) Hexadecimal: CLI 5(R5),X'F0' compares the character 0 with the byte at the address 5(5) Binary: CLI 4(R5),B'11011000' compares the letter Q with the byte at the address 4(5) Decimal: CLI 0(R10),64 compares a space with the byte at the address 0(10)