PM Opc XCHG
From SublabWiki
Contents |
XCHG = Exchange Registers
| Hex | Mnemonic | Cycles |
|---|---|---|
| C8 | XCHG BA, HL | 12 |
| C9 | XCHG BA, X | 12 |
| CA | XCHG BA, Y | 12 |
| CB | XCHG BA, SP | 12 |
| CC | XCHG A, B | 8 |
| CD | XCHG A, [HL] | 12 |
Execute
A = (8-Bits) Register A B = (8-Bits) Register B BA = (16-Bits) Register BA: (B shl 8) or A HL = (16-Bits) Register HL: (H shl 8) or L X = (16-Bits) Register X Y = (16-Bits) Register Y SP = (16-Bits) Register SP (Stack Pointer) [HL] = (8-Bits) Memory: (I shl 16) or HL
; XCHG Sc2, Sc
;
; Sc2 = Source 2
; Sc = Source
; Tr = Temporary Register
Sc2 Sc
\ /
x
/ \
Sc2 Sc
Description
"Source" content is exchanged (swapped) with "Source 2".
Conditions
None
Examples
; BA = 0x1337 ; HL = 0xC0D3 XCHG BA, HL ; BA = 0xC0D3 ; HL = 0x1337
; A = 0x45 ; B = 0x12 XCHG A, B ; A = 0x12 ; B = 0x45