Instruction Set Description
187
SLAU367P – October 2012 – Revised April 2020
Copyright © 2012–2020, Texas Instruments Incorporated
CPUX
4.6.2.27 JL
JL
Jump if less (signed)
Syntax
JL label
Operation
If (N .xor. V) = 1: PC + (2 × Offset)
→
PC
If (N .xor. V) = 0: execute following instruction
Description
The negative bit N and the overflow bit V in the SR are tested. If only 1 is set, the signed
10-bit word offset contained in the instruction is multiplied by 2, sign extended, and
added to the 20-bit PC. This means a jump in the range –511 to +512 words relative to
the PC in full memory range. If both bits N and V are set or both are reset, the instruction
after the jump is executed.
JL is used for the comparison of signed operands: also for incorrect results due to
overflow, the decision made by the JL instruction is correct.
Status Bits
Status bits are not affected.
Mode Bits
OSCOFF, CPUOFF, and GIE are not affected.
Example
If byte EDE contains a smaller, signed operand than byte TONI, continue at Label1. The
address EDE is within PC ± 32 K.
CMP.B
&TONI,EDE
; Is EDE < TONI
JL
Label1
; Yes
...
; No, TONI <= EDE
Example
If the signed content of R6 is less than the memory pointed to by R7 (20-bit address), the
program continues at Label5. Data and program in full memory range.
CMP
@R7,R6
; Is R6 < @R7?
JL
Label5
; Yes, go to Label5
...
; No, continue here
Example
If R5 < 12345h (signed operands), the program continues at Label2. Data and program
in full memory range.
CMPA
#12345h,R5
; Is R5 < 12345h?
JL
Label2
; Yes, 80000h =< R5 < 12345h
...
; No, 12344h < R5 <= 7FFFFh