Difference between revisions of "Z80:Opcodes:JR"

From Learn @ Cemetech
Jump to navigationJump to search
(Initial automated import)
 
m (→‎Syntax: This is the Syntax for JR, not JP. Also, contition.)
Line 6: Line 6:
 
<!-- Syntax for this instruction -->
 
<!-- Syntax for this instruction -->
  
     JP NN ;unconditional jump
+
     JR NN ;unconditional jump
     JP cond.,NN ;conditional jump
+
     JR cond.,NN ;conditional jump
  
 
=== Allowed Instructions ===
 
=== Allowed Instructions ===
Line 14: Line 14:
  
 
     ;Constants
 
     ;Constants
     JP NN ;no contition
+
     JR NN ;no condition
 
     JR C,NN ;jumps if C is set
 
     JR C,NN ;jumps if C is set
 
     JR NC,NN ;jumps if C is reset
 
     JR NC,NN ;jumps if C is reset

Revision as of 16:54, 10 March 2017

Relative jumps to the address. This means that it can only jump between 128 bytes ahead or behind. Can be conditional or unconditional. JR takes up one less byte than JP, but is also slower. Weigh the needs of the code at the time before choosing one over the other (speed vs. size).

Syntax

   JR NN			;unconditional jump
   JR cond.,NN		;conditional jump

Allowed Instructions

   ;Constants
   JR NN		;no condition
   JR C,NN		;jumps if C is set
   JR NC,NN		;jumps if C is reset
   JR Z,NN		;jumps if Z is set
   JR NZ,NN	;jumps if Z is reset

Effects

All flags preserved.

Uses

T-States

cc is condition: NZ, Z, NC, C, PO, PE, P, M

X 12
condition met condition not met
cc,X 12 7

See Also

BIT,CALL,CP,CPD,CPDR,CPI,CPIR,DJNZ,JP