Difference between revisions of "PM Opc DEC"

From SublabWiki
Jump to: navigation, search
(Join 8 and 16 bits of DEC)
 
m (Execute)
 
(One intermediate revision by the same user not shown)
Line 57: Line 57:
 
=== Execute ===
 
=== Execute ===
  
  A        = Register A
+
  A        = (8-Bits) Register A
  B        = Register B
+
  B        = (8-Bits) Register B
  L        = Register L
+
  L        = (8-Bits) Register L
  H        = Register H
+
  H        = (8-Bits) Register H
  N        = Register N
+
  N        = (8-Bits) Register N
  SP      = Register SP (Stack Pointer)
+
  SP      = (16-Bits) Register SP (Stack Pointer)
  BA      = Register BA: (B shl 8) or A
+
  BA      = (16-Bits) Register BA: (B shl 8) or A
  HL      = Register HL: (H shl 8) or L
+
  HL      = (16-Bits) Register HL: (H shl 8) or L
  X        = Register X
+
  X        = (16-Bits) Register X
  Y        = Register Y
+
  Y        = (16-Bits) Register Y
  [N+#nn]  = Memory: (I shl 16) or (N shl 8) or #nn
+
  [N+#nn]  = (8-Bits) Memory: (I shl 16) or (N shl 8) or #nn
  [HL]    = Memory: (I shl 16) or HL
+
  [HL]    = (8-Bits) Memory: (I shl 16) or HL
  
 
  ; DEC Ds
 
  ; DEC Ds
Line 75: Line 75:
 
   
 
   
 
  Ds = Ds - 1
 
  Ds = Ds - 1
+
 
 
=== Description ===
 
=== Description ===
  
Line 94: Line 94:
  
 
  ; [N+0x88] = 0xFF
 
  ; [N+0x88] = 0xFF
  '''INC [N+$88]'''
+
  '''DEC [N+$88]'''
 
  ; [N+0x88] = 0xFE (0xFF - 1 = 0xFE)
 
  ; [N+0x88] = 0xFE (0xFF - 1 = 0xFE)
 
  ; F = (Zero=0)
 
  ; F = (Zero=0)

Latest revision as of 00:38, 21 April 2009

DEC = Decrease Register by 1

Hex Mnemonic Cycles
88 DEC A 8
89 DEC B 8
8A DEC L 8
8B DEC H 8
8C DEC N 8
8D nn DEC [N+#nn] 16
8E DEC [HL] 12
8F DEC SP 8
98 DEC BA 8
99 DEC HL 8
9A DEC X 8
9B DEC Y 8

Execute

A        =  (8-Bits) Register A
B        =  (8-Bits) Register B
L        =  (8-Bits) Register L
H        =  (8-Bits) Register H
N        =  (8-Bits) Register N
SP       = (16-Bits) Register SP (Stack Pointer)
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
[N+#nn]  =  (8-Bits) Memory: (I shl 16) or (N shl 8) or #nn
[HL]     =  (8-Bits) Memory: (I shl 16) or HL
; DEC Ds
;
; Ds = Source/Destination

Ds = Ds - 1

Description

"Destination" is decremented by 1.

Conditions

Zero: Set when result is 0

Carry, Overflow and Sign remain unchanged

Examples

; A = 0x55
DEC A
; A = 0x54 (0x55 - 1 = 0x54)
; F = (Zero=0)
; [N+0x88] = 0xFF
DEC [N+$88]
; [N+0x88] = 0xFE (0xFF - 1 = 0xFE)
; F = (Zero=0)
; BA = 0x2997
DEC BA
; BA = 0x2996 (0x2997 - 1 = 0x2996)
; F = (Zero=0)
; X = 0xFFFF
DEC X
; X = 0xFFFE (0xFFFF - 1 = 0xFFFE)
; F = (Zero=0)

« Back to Instruction set