программирования на языке ассемблера Системы 370-Б.Бериан Современный курс программирования на языке ассемблера Системы 370, доступный для начинающих. Используя ряд специально подобранных в учебных целях программ, автор постепенно вводит все более сложные средства языка, обеспечивая возможность полного овладения обучающимися техникой и приемами программирования на языке ассемблера. Книга может быть использована преподавателями курсов программирования, а в качестве пособия для самообразования — специалистами, работающими на ЭВМ.
ПРЕДИСЛОВИЕ К РУССКОМУ ИЗДАНИЮ
Алгоритмические языки существенно упростили проблему взаимодействия человека и ЭВМ, позволив широкому кругу пользователей программировать свои задачи, имея только общее представлен не об устройстве ЭВМ. Наряду с расширением сферы применения алгоритмических проблемно- и процедурно-ориентированных языков возрастает значение машинно-ориентированных языков, в частности языка ассемблера. В связи с тем что в настоящее время операционные системы разрабатываются на базе языка ассемблера, последний является основным языком системного программирования. Этот язык позволяет наиболее эффективно использовать ресурсы ЭВМ, благодаря чему достигается экономия памяти и времени, необходимых для выполнения программ.
В последние годы в области прикладного программирования наблюдается тенденция к увеличению объема программ, которые по своему характеру относятся к классу системных программ. Эта тенденция вызвана стремлением создавать высокоэффективные программные средства, обеспечивающие обработку информации в условиях постоянного изменения состава данных и формулировок задач. В такого рода программных комплексах применяются специальные процедуры обработки данных, которые могут быть эффективно реализованы только при использовании программ на языке ассемблера.
Язык ассемблера, являясь средством создания наиболее эффективных программ, сложен как в изучении, так и в использовании, поскольку требует отчетливого понимания внутренней организации ЭВМ, знания функций супервизора, соглашений о связях между программными модулями и т. д. Иначе говоря, чтобы успешно применять язык ассемблера, необходимо знание как машинной архитектуры, так и средств операционной системы.
Автору удалось найти удачную форму изложения многочисленных и сложных аспектов языка ассемблера, которая делает книгу доступной широкому кругу читателей, в том числе тем, кто не имеет систематического образования в области программирования. В книге используется метод последовательного расширения и углубления сведений о языке. Вначале определяется подмножество языка, достаточное для написания хотя и не сложных, но завершенных программ. Затем добавляются все новые и новые средства (включая средства макроописаний и операторы языка управления задани-
ями). Для книги характерны простота и ясность изложения каждого вопроса, чему немало способствует широкое использование графического материала, в сжатой форме представляющего связи и правила, присущие языку.
Для советских читателей настоящая книга является необходимым дополнением ряда изданий по программированию для ЕС ЭВМ. Системным программистам и пользователям эта книга может служить пособием по программированию на языке ассемблера, что же касается студентов и инженеров, осваивающих технику и методы программирования для ЕС ЭВМ, то для них это прекрасный современный учебник.
Перевод выполнен канд. техн. наук. В. К. Потоцким (гл. 1—9 и приложения), канд. техн. наук В. А. Балыбердиным (гл. 11), канд. физ.-мат. наук В. В. Фроловым (гл. 10, 12, 13, 15—18), В. А. Зинченко (гл. 14).
Д-р техн. наук, проф. Г. И. Новиков
ОГЛАВЛЕНИЕ
Предисловие к русскому .изданию . ,................. 5
Предисловие............................ , 7
Часть I. Основные положения
Глава I. Введение . ......................... 10
Основы вычсслителы'ых систем................... 10
Система сСраСстки данных ... . .................. 20
Системы счисления......................... "21
Глава 2. Принципы программирования Системы 370.......... 37
Уровни языков программирования................. 37
Блок-схема алгоритма ........................ 39
Принципы программирования..................... 47
Глава 3. Аппаратное обеспечение Системы 370............ 55
Основная память .......................... 55
АЛУ (арифметическо-логическое устройство)............ 08
Устройство управления....................... 70
Глава 4. Введение в язык ассемблера ................. 73
Машинный язык.......................... 73
Символический язык........................ 83
Процесс ассемблирования....................... 87
Часть II. Подмножества языка ассемблера
Глава 5. Десятичные команды..................... 93
Определение данных.....................\. . . 94
Команды преобразования десятичных данных............ 102
Десятичная арифметика...................... . 103
Глава 6. Передача данных и управление последовательностью выполнения команд
Передача данных.....,.................... 122
Управление последовательностью выполнения команд........ 138
Логическое сравнение........................ 144
Глава 7. Подмножество языка, предназначенное для обработки экономической информации ....................... 156
Команда ED............................ 157
Список команд подмножества языка ассемблера, предназначенного
для экономических расчетов................... 168
Проверка и отладка программы................... 183
Г лава 8. Подмножество языка ассемблера для обработки двоичных данных . . 200
Описание двоичных данных..................... 20Э
Двоичные команды пересылки.................... 206
Двоичная арифметика........................ 203
Команда сравнения......................... 212
Преобразование данных ....................... 215
Глава 9. Адресация . ,........................ 22в
Основные положения........................ 228
Операторы ассемблирования................... . 234
•Программа в законченном виде . .................. 237
Команды ассемблера........................ 246
Часть III. Более глубокое изучение языка ассемблера
Глава 10. Команды двоичной арифметики .............. 25'
Команды пересылки двоичных данных............... 25'
Двоичная арифметика......................... 26,
Команды сравнения двоичных данных................ 27
Явный и неявный спсссбы адресации................ 27
Глава 11. Управление последовательностью выполнения команд..... 291
Слсво состояния программы..................... 291
Команды условного перехода..................... 29!
Команды управления циклом .................... 30
Глава 12. Массивы и модификация адресов .............. 31!
Адресация данных в таблице.................... 31:
Глава 13. Операции с битами и байтами .............. 33!
Операции с бита ми......................... 33.'
Округление и сдвиг двоичных чисел ............... 34
Операции с байтами и операции алгебры логики .......... 35:
Глава 14. Дополнительные команды, используемые для решения экономических задач.......................... 36(
Сдвиг и округление десятичных чисел ............... 36(
Команды TRT, ЕХ и TR ..................... 37!
Команды пересылки и сравнения Системы 370.......... . 39!
Часть IV. Возможности операционной системы
Глава 15. Макрокоманды ввода — вывода ............... 40!
Введение............................. 40!
Макрокоманды системы OS..................... 41!
Макрокоманды системы DOS.................... 4Г
Управление печатающим устройством................ 42'
Обработка данных, расположенных в накопителе на магнитной ленте
и магнитных дисках....................... 43(
Режим указания.......................... 44'
Глава 16. Подпрограммы и соглашения о связях............. 45!
Введение.............................. 451
Внутренние подпрограммы . ^................... 45!
Внешние подпрограммы...................... 46(
Глава 17. Язык управления заданиями ................ 48S
Введение............................. 48*
Язык управления заданиями системы OS/370............ 485
Язык управления заданиями системы DOS/370........... 50!
Глава 18. Проверка работоспособности программы и се отладка .... 52с
Введение............................. 52!:
Обнаружение ошибок ........................ 52?
Анализ листинга.......................... 53(
Приложение А. Справочные данные по Системе 370........... 571
Приложение Б. Таблицы констант и значений результатов выполнения
команд........................ 60Е
Приложение В. Постановка задач.................. 611
Приложение Г. Макрокоманда HSKP1NQ............... 61S
Приложение Д. Форматы макрокоманд и операторов языка управления заданиями операционной системы............ 622
Предметный указатель........................


Hosted by uCoz