Reputation: 808
I'm working with an Infineon Tricore processor and I'm coming across an addressing mode that I've not seen before, then referring to a register in some of the instructions that I am confused by the following:
jz16.t d15:2, loc_6749A
Now from what I understand this instruction checks one bit to determine if the branch is taken or not (that's from the .t extension on the opcode). But what does d15:2 mean? I've only seen that used for ranges of bits, could it mean the second bit of d15?
It is important to know that d15 contains a status register.
Upvotes: 1
Views: 337
Reputation: 58427
The instruction set reference from Infineon uses the syntax jz.t d15, n, label
, but as you guessed yourself it checks the n:th bit of d15
(though bit 2 is the 3rd bit, not the 2nd) and jumps if the bit is zero.
Quoting from the manual:
If bit n of register D[15] is equal to zero, then add the value specified by disp4, zero-extended and multiplied by 2, to the contents of PC and jump to that address.
Upvotes: 1