Writing a book takes years – at least it does for me. Writing a book about a computer that is still evolving is difficult. The evolution of IBM System/z machines over the last twenty years is amazing. The things I wrote years ago are often dated now – mostly correct, but dated – newer instructions, newer techniques have come along. I’ll keep working at this – editing chapters and changing the content. Today I reposted Chapter 4. Kudos to Les Kelley for some good suggestions that got me thinking.
Update to Chapter 4
Filed under IBM Mainframe Assembler
8 responses to “Update to Chapter 4”
I have only just started to go through this..I’m sure I’ll have more comments !
Chapter 1…This is entirely academic, but let’s split IBM Assembler into two pieces. There is what we now know as HLASM, and then there is the instruction set
The IBM/360 instruction set did indeed start in October 1964, but the Assembler existed much earlier with the IBM 1400 series
Do these look familiar…
DC DS ORG LTORG EQU *(as location)
All of these were in use in 1401 Autocoder, around 10 years before IBM 360
Thanks for weighing in, Melvyn. You are always welcome. I did write code on an IBM 360, but I missed out on the 1401.
Chapter 2 Paragraph 2 states:
This has increased from the original 24 to 31 and finally 64 bits.
I believe that the word “finally” should be changed to “currently”, since 64 bits might not be the end.
Brian – I made that change. Thanks for the suggestion. – David
First, page numbers are missing on this chapter.
Chapter 3 begins with âIn Appendix A, we created a small program with the editor, submitted it for execution, and examined the results. Weâll revisit that program in this chapter, examine its parts, and try to get the lay of the land. Weâll concentrate on how to organize a simple assembler program. Itâs time to jump in.â
Isnât it sort of confusing to tell someone just beginning and about to create their first program, to be told that they should have skipped to appendix A (which they wonât understand based on what they have been taught so far)? It would be far better (I think) to rephrase the paragraph so that it might still mention that they will process this same âfirst programâ in appendix âAâ which they can reference for examples. Otherwise they will start out this chapter already depressed that they missed something and that the techniques might be beyond their ability to learn.
ân our case, thatâs the family of System/z machines. IBM assembly language – HLASM (High-Level Assembler) â wonât run on an Intel or Mac OS box.â
Is sort of a very confusing run-on sentence. I think the sentence should end with âHLASM (High Level Assembler) and then a new sentence should start with âIt wonât run on an Intel or Mac OS Box.â
As a side note, that statement is not really entirely true, because the person could run Hercules on their PC (mac or PC), and run MVS under that, or they could run the OS/380 emulator, which would allow them to execute it. Maybe those products should have been mentioned up in Chapter 2.
The code below:
I think this is just an oversight, but it should be shifted to the right in the box instead of lining up on the left. People will assume that they are supposed to write the code in column 1 (as you have shown) when to needs to be started after column â1â. Strangely, the âLOOPâ and âGETâ is lined up correctly, while the rest is misaligned.
The chart on the next page needs to say something about the continuation column and it probably needs to be identified as such on the chart, otherwise they will think they are comments or that they just need to randomly put an âXâ to continue a line:
You need to use color in the pictures if you are going to talk about colors.
Personally I am colorblind, so the actual colors would not have meant anything to me, but I can tell when there arenât any. ð
Thanks for the very close read you gave this and the excellent observations. I’ll use them to make this better
I’ve done a substantial rewrite of Chapter 3 based on some of your suggestions. It’s getting better. Thanks again – David