- Starting Assembler 1
- Starting Assembler 2
- Tour the Architecture with VisibleZ
- MVI, DCB, Open, Close, Standard Entry and Exit
- A First Program
- A First Program (zip)
- Removing Assembly Errors in the First Program
- Pack Instruction PPT
- Pack Instruction Video
- UNPK Instruction Video
- UNPK Instruction PPT
- ED Instruction Video
- ED Instruction PPT
- LA Instruction Video
- LA Instruction PPT
- L Instruction Video
- L Instruction PPT
- Loading Multiple Registers Video
- Loading Multiple Regs.ppt
- Multipleregs.ppt
- The Using Directive ppt
- The Using Directive mp4
- Named USINGs mp4
- Addressability Errors
- ADDRESSA (assembler code)
- Add and Subtract Packed Decimal Video
- Add and Subtract Packed Decimal PPT
- Debugging an S0C1
- Debugging an S0C4 Video
- Code for S0C4 Video
- Debugging an S0C7 Video
- Code for S0C7 Video
- Debugging an S0C7 (Part 2) Video
- Debuggin an S0C7 txt
- MVO Video
- MVO code
- MVO1 code
- MVO2 code
- MVO3 code
- Debugging an S0C9 Video
- SC09 code
- Lots of Code On One Base Register: Relative Branching
- Branch Relative Program code
- Using COM Control Sections (MP4)(Sample Code)
- Introduction to VSAM for Assembler Programmers: Part 1 (MP4)(PPT)
- Introduction to VSAM for Assembler Programmers: Part 2 (MP4)(PPT)
Hi Dwoolnright,
Thanks for this great help. Could you please create some tutorials for Assembler macros?
Thank you for the comment … I’ll try to add some videos on macros soon.
Thanks very much for making these materials (and VisibleZ) available!
Hi, Dwoolbright; I am taking your video courses which are much better than the other ones I found from youtube. Just want to say a big THANK YOU for all these video courses!
Eric.
Thanks for the kind words, Eric. Glad you are finding the videos helpful.
David
This has been of immense help, a very useful course for learning assembler programming, Thank you very much. Kind Regards Karthik
Amazing content! The best part is you explained it in a very simple way that anyone can easily understand. THANK YOU for sharing your valuable knowledge.
Pingback: Introduction to VSAM for Assembler Programmers: Part 2 | The Punctilious Programmer
This is a comment with feedback on chapter-3.pdf of your book draft at https://punctiliousprogrammer.com/starting-assembler/ (which doesn’t seem to have replies enabled.)
As an experienced mainframe developer, the column restrictions required for mainframe assembler are probably second nature to you, but they weren’t so obvious to me.
I tried cut and pasting your sample code from the pdf and assembling it, and immediately hit a number of problems, because the cut and paste from pdf to text format resulted in all the carefully tuned spaces of your sample being lost. I’d adjusted the spacing after the cut and paste manually, but did not appreciate just how picky the assembler would be about spaces. Examples:
1. The END ASMSKEL, ended up in column 1, which the assembler did not appreciate.
2. Continued lines had to start in column 16 (I’d incorrectly put them in column 10.)
3. The continuation ‘X’ characters had to be in column 72 (I think that I’d used column 71 erroneously.)
4. The DCB parameters had to be in column 16, but some other things had to be in column 10.
Note that I was using the Dignus assembler with the LzLabs runtime running on Linux (i.e.: not using an actual mainframe for either assembly, nor runtime), but I’d guess that the columnar issues that caused me trouble are probably common to Dignus and the mainframe assembler.
In this intro chapter, I’d strongly suggest that you detail the column requirements for various parts of the program. If you did so, it would help out clueless newbie’s like me attempting to learn a bit of zos assember (I have a 30 year Linux and Unix history, where expectations of specific column requirements seems completely insane — provided one isn’t trying to use an abhorrent language like python.)
ps. The email address listed on your http://csc.columbusstate.edu/woolbright/ page appears to be invalid.
Thanks, Peeter, for taking time to write.
– There are formatting requirements listed on page 8 in Chapter 3. I wonder if you have an older version of that chapter?
– Cutting and pasting the pdf is a problem. I’ll add a link to a text file that contains the sample code. I’ll also look for other chapters that need links to other code.
The email address on my academic site is good. Just in case, it’s woolbright_david@columbusstate.edu
David
Once I got the program running, I continued reading, and sure enough found the column requirements detailed. They were along with text that said “try this yourself”, which I’d already done. The link for text download will probably be helpful for others.
Re: your email. I thought it was a bounce error, but looking again, it appears that your server explicitly prohibits you from receiving from protonmail addresses:
: host ASPMX.L.GOOGLE.COM[74.125.133.27]
said: 550-5.7.1 The user or domain that you are sending to (or from) has a policy that 550-5.7.1 prohibited the mail that you sent. Please contact
your domain 550-5.7.1 administrator for further details. For more
information, please visit 550 5.7.1
https://support.google.com/a/answer/172179 s186si208845wme.195 – gsmtp (in reply to end of DATA command)
most of the source code link does not work
I’m working on it. There are lots of links.
can you make a detailed video on standard entry and exit ?
I’ll put something together soon. I’m going to finish editing first.