ZO/S – Assembler Language – Tutorial

Join free Technical Forum. Thanks to author(Bill Qualls) for his great work and free contribution to the mainframe community. Assembler language skill is rare now a days. Still, who needs some knowledge on this, this material is really useful.

 The following are major contents:

 In chapter 1:  you will learn the mechanics of writing, assembling, and executing assembler programs using PC/370. You will also learn how to create the datasets used in this text.
In chapter 2: you will learn the fundamentals of defining and moving character fields. You will then be able to produce simple formatted reports.
In chapter 3: you will learn how to do IF’s in assembler. It will probably be unlike anything
you’ve done before. But you can do it: just think very low level!
In chapter 4: you will learn how to structure an assembler program. Many programmers think “structure” and “assembler” don’t belong in the same sentence. But if you follow some very simple rules, you’ll soon be writing programs which are very easy to modify and maintain.
In chapter 5: you will learn more about data representation, including the binary and hexadecimal number systems and the EBCDIC and ASCII collating sequences. Many assembler texts put this information in the first chapter, but I have put it off until now in favor of enabling you to write programs as soon as possible.
In chapter 6: you will learn about some of the assembler instruction formats. Upon completion of this chapter you will actually “be” the assembler, determining the object code instructions that would be produced by the assembler for your source code.
In chapter 7: you will learn about packed decimal arithmetic. Most arithmetic in assembler is done with packed decimal numbers or binary numbers. Packed decimal numbers are the more important of the two since binary numbers must be converted to packed decimal in order to be printed. So this is a very important chapter.
In chapter 8: you will learn about page break logic. This is one of many applications of the
arithmetic you learned in chapter 7.
In chapter 9: you will learn about the EDIT instruction, which enables you to print a packed decimal number in just about any form you need (for example, with embedded commas and a decimal point). At this point you will be producing professional caliber reports.
In chapter 10: (Control Break Logic),
chapter 11 (More than One Input File), and
chapter 12: (Sequential File Update) you will learn the logic necessary to complete some very common business applications. There are no new assembler instructions here: the emphasis is on logic.

In chapter 13 :you will learn more about packed decimal arithmetic, specifically how to multiply and divide. Division in assembler is particularly unusual, but I’ll show you some absolutely fool-proof tricks for doing so.
In chapter 14: you will learn about binary, or register, arithmetic. Specifically, you will learn about addition and subtraction. Things start to get a little more confusing here, but the payoff makes it worthwhile. This chapter is particularly important for computer science (vs. information systems) majors.
In chapter 15: you will learn about table processing. Table processing could not be done in
assembler without register arithmetic.
In chapter  16: you will learn more about binary, or register, arithmetic. Specifically, you will learn how to multiply and divide.
In chapter  17: you will learn about bit level operations. There are some interesting applications in this chapter, including changing a letter from upper case to lower case (and vice-versa), removing the sign from a numeric field, encryption, swapping two fields, multiplication and division by powers of two, and accessing the system date and time.

Check here for complete tutorial.

We offer help on any topic through our website.


Author: Srini

Experienced software developer. Skills in Development, Coding, Testing and Debugging. Good Data analytic skills (Data Warehousing and BI). Also skills in Mainframe.