ORG *+3, DS XL3 or DS 3X seem good to me, FWIW. I don't perceive future ORG 
problems, but I could be missing something.

Charles


-----Original Message-----
From: IBM Mainframe Assembler List [mailto:[email protected]] On 
Behalf Of somitcw
Sent: Wednesday, April 5, 2017 11:49 AM
To: [email protected]
Subject: ORG question

I use IFOX00.  Okay, you can laugh now.

Since IFOX00 doesn't support any RXE or RXY instructions, someone wrote a MACRO 
to use an RX instruction to generate RXE and RXY instructions.
It just codes an RX instruction like LA, STC, or IC and then overlays the 
opcode and adds two bytes to the end.
Displacement-high is not supported so is always zero.

The question is on the ORG use.

The code does:
   ORG *-4
   DC   XL1'E3'  Overlay the opcode
   ORG *+3

My question is the second ORG.
Should it instead be ORG , ?
Which is safer?
Could a later errant "ORG ,' mess thing up royally?
Am I needlessly worrying?

Note: IFOX00 was before LOCTR instruction existed.

An entire MACRO after I restructured and modified:

         MACRO
&LBL     STY   &R1,&BXD
.*
.* Generate STY Opcode in IFOX00
.*
         DS    0H                 Instructions on a half-word boundary
         AIF   ('&LBL' EQ '').NL  Skip unlabelled length set
&LBL     EQU   *,6                Set Instruction Length of 6
.NL      ANOP  ,
.*
.* Use LA opcode to generate Base and Index Registers and
.* DL Displacement for E3 Store instructions
.*
         STC   &R1,&BXD           Dummy instruction to build STY on
         ORG   *-4                Go back to overlay op-code
         DC    XL1'E3'            Set op-code to E3
.*
.* Zero DH and set Sub Opcode
.*
         ORG   *+3                Go forward to end STY instruction
         DC    X'0050'            Last two bytes of STY
         MEND

Reply via email to