
262 Глава9
93 Использование ассемблера в z/OS
Ассемблер является символьным языком програм-
мирования, который можно использовать для на-
писания последовательностей инструкций вместо
составления программ на машинном языке. Этот
символьный язык программирования по форме и содержанию является ближайшим
к машинному языку. Поэтому ассемблер является отличным языком для написания
программ, имеющих следующие требования:
• требуется полный контроль над программой, вплоть до уровня отдельных
байтов или битов;
• необходимо написать подпрограммы
1
для функций, отсутствующих в других
символьных языках программирования, таких как COBOL, FORTRAN или PL/I.
Ассемблер состоит из операторов, представля-
ющих инструкции либо комментарии. Операто-
ры-инструкции являются рабочей частью языка,
и они разделяются на следующие три группы:
•
Машинная инструкция (machine instruction) яв-
ляется символьным представлением инструкции
машинного языка или наборов инструкций, таких
как:
o
IBM Enterprise Systems Architecture/390 (ESA/390)
o
IBM z/Architecture
Название «машинная инструкция» используется потому, что ассемблер преоб-
разует ее в машинный код, выполняемый компьютером.
• Инструкция ассемблера (assembler instruction) представляет собой запрос к ас-
семблеру для выполнения определенных операций во время ассемблирования
исходного модуля; например, для определения констант данных, резервирова-
ния областей хранения и определения конца исходного модуля.
• Макроинструкция (macro instruction) или макрос (macro) представляет со-
бой запрос к ассемблеру для обработки предопределенной последователь-
ности инструкций, называемой макроопределением (macro definition).
Из этого определения ассемблер генерирует машинные инструкции и инс
-
трукции ассемблера, которые он впоследствии обрабатывает, как если бы
они были частью первоначально введенного кода в исходном модуле.
Ассемблер создает листинг программы, содержащий информацию, сгенерирован-
ную на различных этапах процесса ассемблирования
2
. Он является полноценным
компилятором для программ, написанных на языке ассемблера.
1
Подпрограммами называются программы, часто вызываемые другими программами и по определению тре-
бующие высокой производительности. Ассемблер является отличным языком для написания подпрограмм.
2
Листинг программы не содержит всей информации, генерируемой в процессе ассемблирования. Для
захвата всей информации, которая может находиться в листинге (и сверх этого), программист z/OS
может задать опцию ассемблера ADATA, чтобы ассемблер генерировал файл SYSADATA в качестве вы-
ходных данных. Файл SYSADATA не предназначен для чтения человеком; его содержимое имеет формат,
предназначенный для обработки специальным инструментом. Использование файла SYSADATA проще
для обработки инструментами, чем извлечение подобных данных посредством «listing scrapers» (анали-
заторов листингов), что применялось ранее.
Ассемблер–
компилятордляпрограмм,
написанныхнаязыке
ассемблера
Компилятор–
программныйпродукт,
выполняющий
преобразованиенабора
оператороввысокоуровневого
языкавнизкоуровневое
представление