Basic Assembler Language Programming
The class includes weekly video lectures and programming assignments that help students develop fundamental assembler skills. Individual attention is given to each student. Topics include number systems, machine components, instruction formats, addressing techniques, character manipulation, looping, conditional logic, packed decimal and binary arithmetic, multiple CSECTs, parameter passing, linkage conventions, debugging by hand and with the interactive debugger zXDC, dump reading, and DSECTs.
The topics covered include:
-
Number Systems (Decimal, Binary, Hexadecimal, and conversions)
-
Machine components (CPU, ALU, CU, GPRs, PSW)
-
Language Comparison (High level vs. Low level)
-
Addressing Main Storage (RX format instructions and addressing storage)
-
Linkage Conventions (Register conventions and linkage instructions)
-
A shell program (Walk through of a simple program)
-
Condition Code (Using the condition code and arithmetic/branch instructions that set it)
-
Comparisons (Compare instructions and branching based on the condition code)
-
Loops (Using multiple base registers and index registers)
-
Characters (EBCDIC and defining character constants)
-
Character String Instructions (SS and SI format instructions)
-
More Numbers (Negative numbers, Overflow, and multiplication/division)
-
Mapping Macro Shell (Walk through of a simple macro)
-
Debugging (Techniques and approaches)
-
Re-entrant Programs (An introduction and obtaining dynamic storage )
-
Messages (Simple output - WTO )
-
Bit Manipulation (Boolean Operations)
-
Binary Conversions (Number conversions - binary, zoned, packed)
-
Multiple CSECTs
-
Addressing Virtual Storage (Address space and Virtual Storage Operations)