LONGDISP is actually only x'A0' from R9, it's base, so the branch is
generated correctly as R9+x'A0'.
Tony Thigpen
Joe Reichman wrote on 2/26/25 7:51 AM:
Hi
My understanding of this new instruction is that it is a BCT with a new 20
bit displacement.
The object code layout of this6 byte instruction has in bit 20 - 31 the 12
bit displacement and if the address exceeds 4096 decimal the new bit
displacement would get populated in bits
32 - 40
I tried out a BCTG R9,LONGDISP
Where the address of longdisp was beyond 4096 and yet I don't see bits 32 -
40 of the instruction being populated
So here is the example
LONGDISP is beyond 4,096 and in bits 31 - 40 there is zeros
00A0 LONGDISP DS 0H
2E60 E390 00A0 00 46 BCTG R9,LONGDISP