The white space break comes in comments, though, so it's irrelevant.
XEDIT started in VM/CMS IN 1980 IIRC. My thesis research predated that and was actually all done in a 28K MVS region on an IBM 029 keypunch. [They got XEDIT in TSO under MVS in 1985.] I did mixed case comments in 370 assembler as far back as 1984 on an IBM 3279-4.
Yes, I did debug supervisor code in VM/CMS, but I was a systems programmer at that time, and ran supervisor privileged production code all the time under DOS/VSE and MVS as well.
in the wrong place. |
XEDIT macro?? You are still using that museum piece? Programmed in Rexx? Is it on a real mainframe? Or is it an Intel-based emulator? Are you getting paid to do it?
BTW, if you just want to post old code, or anything else typewriter-formatted, you can use the <pre> tag. No need to mess with tables. Eg.,
************************************************************** ** HELLO - Program to print "Hello, World" on device 009 ** ************************************************************** HELLO CSECT STM R14,R12,12(R13) Save Registers LR R12,R15 Load Base Register USING HELLO,R12 Establish Addressability SSM =X'00' Disable Interrupts SPKA 0(0) Disable storage protection LA R2,CCWS Store pointer to CCW chain ST R2,CAW ... in Channel Address Word LA R2,9 Put device address in R2 CLEARIO TIO 0(R2) Test for device busy BC CC1+CC2,CLEARIO Wait until device not busy BC CC3,IOERROR Abort if device error STARTIO SIO 0(R2) Start I/O to the console BC CC1,CSWSTORE A CSW Has been stored BC CC2,CLEARIO Device busy. Wait until clear BC CC3,IOERROR Abort if device error TESTIO TIO 0(R2) Wait for I/O completion BC CC2,TESTIO Busy, Wait for completion BC CC3,IOERROR Abort if device error CSWSTORE CLI CSW+4,CE Channel End w/o Device End? BE TESTIO Yes - wait for Device End too TM CSW+4,BY Channel Busy? BO TESTIO Yes - Keep Waiting TM CSW+4,DE Device End? BNO IOERROR No - The CSW is bad SUCCESS SSM =X'FF' Reenable Interrupts LM R14,R12,12(R13) Restore Caller's Registers XR R15,R15 Clear Return Code BR R14 Return to Caller IOERROR SSM =X'FF' Reenable Interrupts LM R14,R12,12(R13) Restore Caller's Registers LA R15,4 Set Return Code 4 BR R14 Return to Caller DS 0D CCW must be doubleword aligned CCWS CCW X'09',MESSAGE,X'20',L'MESSAGE MESSAGE DC C'Hello, World' CSW EQU X'40' Address of Channel Status Word BY EQU X'10' Channel Busy CE EQU X'08' Channel End DE EQU X'04' Device End CAW EQU X'48' Address of Channel Address Word R2 EQU 2 Register 2 R12 EQU 12 Register 12 R13 EQU 13 Register 13 R14 EQU 14 Register 14 R15 EQU 15 Register 15 CC0 EQU 8 Condition Code 0 CC1 EQU 4 Condition Code 1 CC2 EQU 2 Condition Code 2 CC3 EQU 1 Condition Code 3 END