Математика | ||||
Программирование на автокоде-Трифонов Н. П Москва 1985.— 504с. | ||||
Трифонов Н. П., Громыко В. И. Программирование на автокоде
ЕС ЭВМ. Учебное пособие для вузов.— М.: Наука. Главная редакция физико-математической литературы, 1985.— 504с. Книга написана на основе курса лекций, читаемых на факультете вычислительной математики и кибернетики МГУ. В ней, помимо средств автокода ЕС ЭВМ, излагается общая современная методика разработки программ, в частности — нисходящее проектирование и структурное программирование. Авторы используют новый мнемокод, отличающийся от стандартного своей мнемоничностью и независимостью от какого-либо естественного языка. Для студентов университетов и технических вузов, а также для программистов и инженеров. ОГЛАВЛЕНИЕ Предисловие........................5 Введение..........................9 Глава 1. Общие сведения об автокоде ЕС ЭВМ......... 14 1.1. Особенности базового вычислителя............ 16 1.2. Основные понятия автокода............... 25 1.3. Задание машинных команд............... 34 1.4. Команды транслятору................. 40 1.5. Программный инструментарий.............. 43 Глава 2. Методика составления программ........... 47 2.1. Разработка программы.................. 48 2.2. Структурное программирование............. 51 2.3. Псевдокод — язык проектирования программ........ 53 2.4. Пример разработки программы............. 67 2.5. Стиль программирования................ 72 Глава 3. Основы программирования на автокоде. Целые числа и действия над ними....................79 3.1. Целые числа....................80 3.2. Длинные целые числа.................81 3.3. Операция автокода объявления эквивалентности.......88 3.4. Макрооперации ввода/вывода..............90 3.5. Программирование последовательных вычислений......93 3.6. Программирование разветвлений и итерационных циклов . . . .115 3.7. Циклы с известным числом повторений.......... 131 3.8. Короткие целые числа и действия над ними........ 135 3.9. Дополнительные возможности машины и их использование . . 141 Глава 4. Основные приемы программирования. Действия над вещественными числами ,.................151 4.1. Вещественные числа..................151 4.2. Дополнительные возможности макрокоманд ввода/вывода . . . 157 4.3. Действия над вещественными числами...........162 4.4. Обработка массивов. Управление переменными адресами .... 170 4.5. Программирование разветвлений типа case.........193 Глава 5. Обработка логических данных.............197 5.1. Представление логических значений............197 5.2. Операции автокода DC и DS для логических данных.....1?8 5.3. Машинные операции логического типа...........200 5.4. Реализация логических операций ....."........203 5.5. Программирование логических выражений......... 204 5.6. Программирование условий...............207 Глава 6. Обработка символьных данных............211 6.1. Символьные данные и их представление в машине......211 6.2. Форматы машинных команд типа SS и SI.........212 6.3. Операция автокода DC для символьных данных.......213 L* 6.4 Операция автокода DS для символьных данных.......215 6.5. Машинные операции над символьными данными.......217 6.6. Примеры обработки символьных данных..........222 6.7. Обработка строк. Индексирование адресов типа S......230 6.8. Действия над строками одинаковой длины.........234 6.9. Действия со словами различной длины...........241 Глава 7. Динамические объекты и работа с ними.........249 7.1. Динамические объекты. Указатели и ссылки.........249 7.2. Адресные константы..................252 7.3. Команда транслятору управления счетчиком размещения ORG 254 7.4. Дополнительные возможности машины...........256 7.5. Использование указателей и операции TRT ........, . 261 7.6. Косвенная модификация команд.............271 7.7. Использование ссылок для представления объектов сложной структуры......................277 Глава 8. Динамические структуры данных............280 8.1. Машинные операции................ 280 8.2. Стек........................285 8.3. Строка.......................299 8.4. Подпрограммы . ...................322 8.5. Таблицы. Работа с объектами сложной структуры......330 Глава 9. Битовые данные и их обработка............344 9.1. Битовые данные и их представление в машине.......344 9.2. Машинные операции над битовыми данными........345 9.3. Возможности автокода ................351 9.4. Логические значения и операции над ними.........353 9.5. Использование операций над битовыми данными.......355 9.6. Использование битовых данных. Таблицы решений......362 9.7. Использование поразрядных операций...........371 Глава 10. Модульное программирование.............384 10.1. Базирование.....................386 10.2. Удовлетворение требований операционной системы к программе 390 10.3. Подпрограммы с параметрами.............394 10.4. Модули и их взаимодействие..............399 Глава 11. Условная генерация. Макросредства..........445 11.1. Условная генерация..................445 11.2. Макросредства..................! ! 451 11.3. Системные макроопределения.............. 479 Приложение 1. Представление символов в коде ДКОИ.......491 Приложение 2. Основные операции ЕС ЭВМ............'492 Приложение 3. Загримированные команды перехода........495 Приложение 4. Элементы списка ввода/вывода.........493 Список литературы.....................498 Предметный указатель '."."........,........499 ПРЕДИСЛОВИЕ Данная книга призвана быть учебным пособием по машинам ЕС ЭВМ я программированию на языке ассемблера (автокоде) для этих машин. Ее не следует рассматривать как пособие, поддерживающее базовый курс лекций по ЭВМ и программированию, — наоборот, предполагается, что читатель уже знаком с основами программирования в объеме основного курса этого типа, читаемого в вузах (например, [1]). При этом конкретных знаний по машинам ЕС ЭВМ у читателя не предполагается. Таким контингентом читателей могут быть, например, студенты старших курсов, выполняющие задания практикума на ЭВМ с использованием данного автокода или специализирующиеся по математическому обеспечению ЭВМ, выпускники вузов или программисты-практики, которые ранее изучали или использовали в своей работе ЭВМ других типов, но у которых возникла необходимость овладеть программированием на языке ассемблера, так что этот контингент, по мнению авторов, достаточно широк. Для этого круга читателей ставится цель: обучить программированию на языке ассемблера, уделяя при этом постоянное внимание вопросам методики и технологии программирования; привести их к самостоятельному программированию с выходом на машину как можно раньше; по возможности преодолеть в процессе обучения «неподъемность> языка, связанную со сложностью как самих машин серии ЕС ЭВМ, так и языка ассемблера. При этом авторы исходят из того, что разным читателям может быть необходима различная степень овладения этим языком — от минимального знакомства с его возможностями и особенностями (студентам, выполняющим на этом языке лишь отдельные задания практикума) до достаточно глубокого овладения языком (программистам, для которых язык ассемблера должен стать одним из основных рабочих инструментов). Известно, что в любом языке программирования имеется концептуальное ядро, определяющее его основные свойства, а тем самым возможности языка и приемы программирования на нем. Различные же детали языка (алфавит, ключевые слова, количественные ограничения и т. д.) имеют второстепенное значение. В соответствии с этим в обучении языку часто выделяют два этапа. На первом этапе усилия сосредоточивают на сущности языка, и поэтому для достижения большей эффективности процесса обучения здесь методологически оправданы некоторые модификации деталей языка, позволяющие сконцентрировать внимание учащегося на главных вопросах (например, при обучении алголу-60 нередко дополняют его алфавит русскими буквами, в качестве ключевых слов используют русские слова вместо английских и т. д.), и лишь на втором, завершающем этапе обучения (если в этом есть необходимость) производится корректировка изученного языка и доведение его до стандарта. Цена: 150руб. |
||||