Difference between revisions of "PM Opc EX"

From SublabWiki
Jump to: navigation, search
(EX instruction (PLEASE REVIEW!))
 
m (Examples)
 
(2 intermediate revisions by the same user not shown)
Line 10: Line 10:
 
|12
 
|12
 
|}
 
|}
 
'''Flags Affected:''' None
 
  
 
=== Execute ===
 
=== Execute ===
  
  A      = Register A
+
  A      = (8-Bits) Register A
  BA      = Register BA: (B shl 8) or A
+
  BA      = (16-Bits) Register BA: (B shl 8) or A
  
 
  ; EX BA, A
 
  ; EX BA, A
Line 23: Line 21:
 
  ; A  = Source
 
  ; A  = Source
 
   
 
   
  IF (A and 0x80 == 0) THEN
+
  IF (A AND 0x80) THEN ; Check for sign
 +
  B = 0xFF
 +
ELSE
 
   B = 0x00
 
   B = 0x00
ELSE
 
  B = 0xFF
 
 
  ENDIF
 
  ENDIF
  
Line 35: Line 33:
 
=== Conditions ===
 
=== Conditions ===
  
Zero: Set when result is 0
+
None
  
Sign: Set when bit 7 of the result is 1
+
=== Examples ===
  
Carry and Overflow remain unchanged
+
; A = 0x05 (5)
 +
'''EX BA, A'''
 +
; BA = 0x0005 (5)
  
=== Examples ===
+
; A = 0xF9 (-7)
 +
'''EX BA, A'''
 +
; BA = 0xFFF9 (-7)
  
  ; A = 0x05
+
  ; A = 0x00 (0)
  EX BA, A
+
  '''EX BA, A'''
  ; BA = 0x0005
+
  ; BA = 0x0000 (0)
; F = (Zero=0):(Sign=0)
 
  
  ; A = 0xF9
+
  ; A = 0x7F (127)
  EX BA, A
+
  '''EX BA, A'''
  ; BA = 0xFFF9
+
  ; BA = 0x007F (127)
; F = (Zero=0):(Sign=1)
 
  
  ; A = 0x00
+
  ; A = 0x80 (-128)
  EX BA, A
+
  '''EX BA, A'''
  ; BA = 0x0000
+
  ; BA = 0xFF80 (-128)
; F = (Zero=1):(Sign=0)
 
  
 
[[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