Back TO 370 Assembler

Well with my Linux Academy education halted it’s back to MVS (there’s always something to learn). Specifically 370 Assembler. Or is it 370 Assembly? Anywho I wrote my 1st Assembler program since about 30 years. I did take a simple Assembler I/O program a few weeks ago and successfully Assembled/executed it. But it was an existing old program…no thinking required.

This was a very simple program to get my feet wet. A program loop to display text on the console, 5 times. Surprisingly it worked on the 2nd try! And one of my 1st errors, I only got wrong because I second guessed myself. Some things I remembered…somethings I had to look up.

I thought I’d use a register as a counter. So I wanted to put 5 in R6. I wrote LH (yes I remembered this) and I coded LH R6,H’5′ (yes I remembered the H’5′). But it didn’t look right. I thought, I think there’s supposed to be an ‘=’ in there…and there was…LH R6,=H’5′ but I second guessed myself and didn’t add it, and got an error!

I remembered some needed compare instructions but had to look up some details until I found the BCT instruction…which is what I used. Not too bad for all this time.

I also want to look up a MVS command that is similar to the VSE PDUMP command I use to frequently use. I don’t quite remember if it displayed storage and/or registers. but it was useful for debugging. I think I wrote a COBPDUMP command (subprogram) for COBOL based on this.