| Hex | Mnemonic | Cycles |
|---|---|---|
| D0 nn mm | SUB BA,#mmnn | 3 |
| D1 nn mm | SUB HL,#mmnn | 3 |
| D2 nn mm | SUB IX,#mmnn | 3 |
| D3 nn mm | SUB IY,#mmnn | 3 |
| CF 6A nn mm | SUB SP,#mmnn | 4 |
| CF 08 | SUB BA,BA | 4 |
| CF 09 | SUB BA,HL | 4 |
| CF 0A | SUB BA,IX | 4 |
| CF 0B | SUB BA,IY | 4 |
| CF 28 | SUB HL,BA | 4 |
| CF 29 | SUB HL,HL | 4 |
| CF 2A | SUB HL,IX | 4 |
| CF 2B | SUB HL,IY | 4 |
| CF 48 | SUB IX,BA | 4 |
| CF 49 | SUB IX,HL | 4 |
| CF 4A | SUB IY,BA | 4 |
| CF 4B | SUB IY,HL | 4 |
| CF 4C | SUB SP,BA | 4 |
| CF 4D | SUB SP,HL | 4 |
hhll = Immediate unsigned 16-bits
BA = Register BA: (B shl 8) or A
HL = Register HL: (H shl 8) or L
IX = Register IX
IY = Register IY
SP = Register SP (Stack Pointer)
; SUB Ds, Sc
;
; Ds = Destination
; Sc = Source
Ds = Ds - Sc
16-bits Source subtracts to the 16-bits Destination.
; BA = 0x2EF0
SUB BA, $1337
; BA = 0x1BB9 (0x2EF0 - 0x1337 = 0x(0)1BB9)
; SC = (Zero=0):(Carry=0):(Overflow=0):(Negative=0)
; HL = 0xBB7E
; BA = 0xCF12
SUB BA, HL
; HL = 0xBB7E
; BA = 0xEC6C (0xCF12 - 0xBB7E = 0x(1)EC6C)
; SC = (Zero=0):(Carry=1):(Overflow=0):(Negative=1)