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
    
    
    
    
    
  

