Z80:Opcodes:JR: Difference between revisions

From Learn @ Cemetech
Jump to navigationJump to search
Initial automated import
 
ReGuess (talk | contribs)
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