jarl22


Jump and register link.

[Syntax]

-

jarl22 disp22, reg1

 

The following can be specified for disp22:

-

Absolute expression having a value of up to 22 bits

-

Relative expression having a PC offset reference of label

[Function]

Transfers control to the address attained by adding the current program counter (PC) value and the relative or absolute expression value specified by the first operand. The return address is stored in the register specified by the second operand.

[Description]

-

If the following is specified for disp22, the assembler generates one jarl machine instructionNote.

(a)

Absolute value in the range of -2,097,152 to +2,097,15

(b)

Relative expression that has a PC offset reference of label

Note

The jarl machine instruction takes an immediate value in the range of -2,097,152 to +2,097,151 (0xFE00000 to 0x1FFFFF) as the operand.

[Flag]

CY

---

OV

---

S

---

Z

---

SAT

---

[Caution]

-

If an absolute expression that exceeds the range of -2,097,152 to +2,097,151 is specified as disp22, the assembler outputs the following message and stops assembling.

E0550230 : illegal operand (range error in displacement)

-

If an absolute expression having an odd-numbered value is specified as disp22, the assembler outputs the following message and stops assembling.

E0550226 : illegal operand (must be even displacement)