SLL Shift Left Logical

Undocumented instruction to perform a logical left shift

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.

Visualisation of the SLL instruction
76543210
 
SLL r
11001011CB
00000r
 
SLL (HL)
11001011CB
0000011006
 
SLL (IX+d)
11011101DD
11001011CB
d
0000011006
 
SLL (IY+d)
11111101FD
11001011CB
d
0000011006
Registers
Registerr
B000
C001
D010
E011
H100
L101
A111
Opcode Matrix
ABCDEHL(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
Opcode Matrix Legend
Instruction Opcode hex
 Undocumented