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)