IPUSHLT pushes the following boolean conditions on top of the stack:
 |
Bank Selector |
High Condition |
Low Condition |
 |
BS3 = 1 (low) |
[Rs0].L < [Rs1].L |
[Rs0].L < [Rs1].L |
BS3 = 2 (high) |
[Rs0].H < [Rs1].H |
[Rs0].H < [Rs1].H |
BS3 = 3 (vector) |
[Rs0].H < [Rs1].H |
[Rs0].L < [Rs1].L |
 |
Note: [R].X denotes the data on bank X of register R.
Takes 6 cycles to execute.
Example: IPUSHLT 0xFF 3 0xA 0xB
STKC FLW IOC AGU ASEL BS5 P5 BS4 C4 P4 MPC BS3 C3 P3 P2 P1 P0
--------------------------------------------------------------------
- - - - - 0 00 0 0 00 ISUB 0 0 00 00 0b 0a
- - - - - 0 00 0 0 00 - 0 0 00 00 00 00
- - - - - 0 00 0 0 00 - 0 0 00 00 00 00
- - - - - 0 00 0 0 00 - 0 0 00 00 00 00
- - - - - 0 00 0 0 00 - 3 0 ff 00 00 00
PLT - - - - 0 00 0 0 00 - 0 0 00 00 00 00
No exceptions.
!! Initial conditions:
!! Content of register 0xA:
!! [0xA].H = 0xFFFFFFFFFFFFFFFF
!! [0xA].L = 0xDDDDDDDDDDDDDDDD
!! Content of register 0xB:
!! [0xB].H = 0xFFFFFFFFFFFFFFFF
!! [0xB].L = 0xEEEEEEEEEEEEEEEE
IPUSHLT 255 3 0xA 0xB !! Pushes: High = FALSE Low = TRUE
IPUSHLT 255 2 0xA 0xB !! Pushes: High = FALSE Low = FALSE
IPUSHLT 255 1 0xA 0xB !! Pushes: High = TRUE Low = TRUE