Thursday, November 02, 2006

Retrospect of days with DOS assembler

The fourth movement of Brahms's Third Piano Sonata in f minor (Op 5) is a dirge in B-flat minor called "Retrospect." Some of these entries on this blog recreate a few situations in my 30-year mainframe career.

In the mid 1980s, I worked at a credit reporting company in Dallas, and one of the things I did was convert the monthly and daily billing systems from DOS Assembler to OS Assembler. (Then we replaced the Daily Billing with COBOL). Now where OS has DCB's, DOS had DTF's, and the job ran under OS jcl as PGM=DUO with the actual program name an execution parm. That is, DUO emulation. If you wanted to update the files, you ran with the UPSI execution parameter turned on. You had to be careful with dataset nodes, because in the mid 1980s there was no security preventing accidental update of production files.

Shortly after the OS conversion of Monthly Billing (I actually babysat the implementation New Years Day 1986 right after my father had died, before getting on a plane to fly home), we ran into an interesting problem with halfword or fullword boundaries in defined storage in assembler. It seemed that certain instructions did not work properly, and as a result quarterly fixed billing for some members did not work, but we did not find out about that until after the fact, mid month. So we had to rerun a lot of stuff. A programmer had made a change, causing the DS alignment to go off.

The other big technical controversy was addressability. I heard horror tales of Y2K conversions of ALC programs with up to seven base registers! We would use the technique of a temporary base register, with R15 as a pivot point.

In those days, the Bible for Assembler Language programming was George Struble, "Assembler Language Programming: The IBM System 360 and 370, 2nd Edition", from Addison-Wesley, 1969 and 1975. How many programmers learned, say, floating point arithmetic in IBM mainframe assembler? Not many. Today the many client that uses Assembler seems to be the IRS, and usually when they look for people they need extreme proficiency in it, including all of the mathematical instructions.

No comments: