Application programming on z/OS
Previous topic | Next topic | Contents | Glossary | Contact z/OS | PDF


More information about Assembler language

Application programming on z/OS

The assembler processes the machine and Assembler language instructions at different times during its processing sequence. The programmer should be aware of the assembler's processing sequence to code the program correctly.

Processing sequence

Processing involves the translation of source statements into machine language, assignment of storage locations to instructions and other elements of the program, and performance of auxiliary assembler functions you have designated.

The output of the assembler program is the object deck, a machine language translation of the source program. The assembler produces a printed listing of the source statements and object deck statements, as well as additional information such as error messages that are useful in analyzing the program. The object deck is in the format required by the binder.

The assembler processes most instructions twice, first during conditional assembly and later, at assembly time. However, as described in the following section, it does some processing only during conditional assembly.

Conditional assembly and macro instructions

The assembler processes conditional assembly instructions and macro processing instructions during conditional assembly. During this processing, the assembler evaluates arithmetic, logical, and character conditional assembly expressions. Conditional assembly takes place before assembly time.

The assembler processes the machine and ordinary assembler instructions generated from a macro definition called by a macro instruction at assembly time.

Machine instructions

The assembler processes all machine instructions, and translates them into object code at assembly time.

Assembler instructions

The assembler processes ordinary assembler instructions at assembly time. During this processing:
  • The assembler evaluates absolute and relocatable expressions (sometimes called assembly-time expressions).
  • Some instructions, such as ADATA, ALIAS, CATTR and XATTR, DC, DS, ENTRY, EXTRN, PUNCH, and REPRO, produce output for later processing by programs such as the binder.

Input/Output (I/O)

The terms input (I) and output (O) are used to describe the transfer of data between I/O devices and main storage. An operation involving this kind of transfer is called an I/O operation. The facilities used to control I/O operations are collectively called the channel subsystem (I/O devices and their control units attached to the channel subsystem).

The channel subsystem directs the flow of information between I/O devices and main storage. It relieves CPUs of the task of communicating directly with I/O devices, and permits data processing to proceed concurrently with I/O processing.

I/O devices

An input/output (I/O) device provides external storage, a means of communication between data-processing systems, or a means of communication between a system and its environment. I/O devices include such equipment as magnetic tape units, direct access storage devices (for example, disks), display units, typewriter-keyboard devices, printers, teleprocessing devices, and sensor-based equipment. An I/O device may be physically distinct equipment, or it may share equipment with other I/O devices.

The term I/O device as used in this section refers to an entity with which the channel subsystem can directly communicate.





Copyright IBM Corporation 1990, 2010