z80:Opcodes:JR

From Learn @ Cemetech
Revision as of 18:31, 19 March 2017 by ReGuess (talk | contribs) (→‎T-States)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search

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 are not available)

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

See Also

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