Difference between revisions of "PM Opc EX"

From SublabWiki
Jump to: navigation, search
m
m (Examples)
 
Line 38: Line 38:
  
 
  ; A = 0x05 (5)
 
  ; A = 0x05 (5)
  EX BA, A
+
  '''EX BA, A'''
 
  ; BA = 0x0005 (5)
 
  ; BA = 0x0005 (5)
  
 
  ; A = 0xF9 (-7)
 
  ; A = 0xF9 (-7)
  EX BA, A
+
  '''EX BA, A'''
 
  ; BA = 0xFFF9 (-7)
 
  ; BA = 0xFFF9 (-7)
  
 
  ; A = 0x00 (0)
 
  ; A = 0x00 (0)
  EX BA, A
+
  '''EX BA, A'''
 
  ; BA = 0x0000 (0)
 
  ; BA = 0x0000 (0)
  
 
  ; A = 0x7F (127)
 
  ; A = 0x7F (127)
  EX BA, A
+
  '''EX BA, A'''
 
  ; BA = 0x007F (127)
 
  ; BA = 0x007F (127)
  
 
  ; A = 0x80 (-128)
 
  ; A = 0x80 (-128)
  EX BA, A
+
  '''EX BA, A'''
 
  ; BA = 0xFF80 (-128)
 
  ; BA = 0xFF80 (-128)
  
 
[[PM_InstructionList|'''« Back to Instruction set''']]
 
[[PM_InstructionList|'''« Back to Instruction set''']]

Latest revision as of 00:32, 21 April 2009

EX = Expand Register

Hex Mnemonic Cycles
CE A8 EX BA, A 12

Execute

A       =  (8-Bits) Register A
BA      = (16-Bits) Register BA: (B shl 8) or A
; EX BA, A
;
; BA = Destination
; A  = Source

IF (A AND 0x80) THEN  ; Check for sign
  B = 0xFF
ELSE
  B = 0x00
ENDIF

Description

EX expands register A into BA, turning a signed 8-bits value into 16-bits.

Conditions

None

Examples

; A = 0x05 (5)
EX BA, A
; BA = 0x0005 (5)
; A = 0xF9 (-7)
EX BA, A
; BA = 0xFFF9 (-7)
; A = 0x00 (0)
EX BA, A
; BA = 0x0000 (0)
; A = 0x7F (127)
EX BA, A
; BA = 0x007F (127)
; A = 0x80 (-128)
EX BA, A
; BA = 0xFF80 (-128)

« Back to Instruction set