The generated code looks correct, although you don't show the USING: address 
0000A0, base R12, displacement 0A0.

Goin forward, I recommend using the long listing format; it makes it easier to 
see who did what to whom.

-- 
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3
עַם יִשְׂרָאֵל חַי
נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר



________________________________________
From: IBM Mainframe Assembler List <ASSEMBLER-LIST@LISTSERV.UGA.EDU> on behalf 
of Joe Reichman <reichman...@gmail.com>
Sent: Wednesday, February 26, 2025 7:51 AM
To: ASSEMBLER-LIST@LISTSERV.UGA.EDU
Subject: BCTG Instruction

External Message: Use Caution


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

Reply via email to