The block CB30…CB37 is missing from the official list.
These instructions, usually denoted by the mnemonic SLL, Shift Left Logical, shift left the operand and make bit 0 always one.
These instructions are quite commonly used. For example, Bounder and Enduro Racer use them.
Some documents list this as SL1
instead of SLL
due to it setting bit 0.
7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
---|---|---|---|---|---|---|---|---|
SLL r | ||||||||
1 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | CB |
0 | 0 | 0 | 0 | 0 | r | |||
SLL (HL) | ||||||||
1 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | CB |
0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 06 |
SLL (IX+d) | ||||||||
1 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | DD |
1 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | CB |
d | ||||||||
0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 06 |
SLL (IY+d) | ||||||||
1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | FD |
1 | 1 | 0 | 0 | 1 | 0 | 1 | 1 | CB |
d | ||||||||
0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 06 |
Register | r |
---|---|
B | 000 |
C | 001 |
D | 010 |
E | 011 |
H | 100 |
L | 101 |
A | 111 |
Opcode Matrix
A | B | C | D | E | H | L | (HL) | (IX+dd) | (IY+dd) | |
---|---|---|---|---|---|---|---|---|---|---|
SLL |
SLL A
CB37 |
SLL B
CB30 |
SLL C
CB31 |
SLL D
CB32 |
SLL E
CB33 |
SLL H
CB34 |
SLL L
CB35 |
SLL (HL)
CB36 |
SLL (IX+dd)
DDCBnn36 |
SLL (IY+dd)
FDCBnn36 |
Instruction
Opcode hex
| Undocumented |