- •Федеральное агентство по образованию
- •В.Н. ЛОКТЮХИН
- •Рязань 2008
- •Печатается по решению редакционно-издательского совета Государственного образовательного учреждения высшего профессионального образования «Рязанский государственный университет имени С.А. Есенина» в соответствии с планом изданий на 2008 год.
- •ВВЕДЕНИЕ
- •1.1. Системы счисления, применяемые в ЭВМ
- •1. Двоичная система счисления
- •2. Шестнадцатеричная система счисления
- •1.5. Кодирование алфавитно-цифровой информации
- •Представление чисел в ЭВМ
- •Форматы (формы представления) числовых данных в МП
- •3. Представление многобайтовых двоичных чисел
- •4. Представление чисел с плавающей точкой (ПТ)
- •1.7.2. Сложение двоичных чисел в ЭВМ
- •Рис. 2.2. Формат регистра признаков
- •2.1.2. Модели доступа к памяти в реальном и защищенном режимах работы процессора, поддержка многозадачности
- •Формат команды и способ адресации как элементы программной архитектуры и ассемблера
- •3. ОСНОВЫ РАЗРАБОТКИ И ОТЛАДКИ ПРОГРАММ НА ЯЗЫКЕ АССЕМБЛЕРА IBM PC
- •В таблице 3.1 приведены примеры записи в программах директив ассемблера tasm.exe фирмы Borland.
- •Таблица 3.1
- •Примеры записи директив ассемблера tasm
- •Пример 3.4
- •Пример 3.5
- •.MODEL
- •3.3.1. Разновидности программного обеспечения для разработки программ на языке ассемблера
- •3.3.3. Порядок ввода и отладки программы (пример 3.4) с исполняемым com-модулем
- •Создание исполняемого модуля
- •Порядок разработки программы
- •Пример 3.6
- •Ассемблирование
- •Создание исполняемого модуля
- •Выполнение и отладка программы
- •3.8. Программирование обработки цепочек данных
- •ПРИЛОЖЕНИЯ
- •Приложение 1
- •Варианты заданий к практическим занятиям по представлению данных и выполнению арифметико-логических операций в ЭВМ
- •Приложение 2
- •Приложение 3
- •Приложение 4
- •Приложение 6
- •Таблица сложения 16-ричных цифр (символов)
- •Приложение 8
- •Базовая система команд МП 80Х86 (или 8086)
- •ОГЛАВЛЕНИЕ
- •ВВЕДЕНИЕ………………………...………...……………………......
- •Системы счисления, применяемые в ЭВМ……...………………
- •Перевод из десятичной в q-ичную систему счисления.....……
- •Перевод из q-ичной в десятичную систему счисления….....…
- •ПРИНЦИПЫ ДОСТУПА К ПАМЯТИ. ФОРМАТЫ КОМАНД И РЕЖИМЫ АДРЕСАЦИИ В МП 80Х86…………………...….....
- •Регистры и модели доступа к памяти. Поддержка многозадачности в защищенном режиме работы МП………..
- •Приложение 1. Варианты практических заданий по представлению данных и выполнению арифметико-логических операций в ЭВМ..
- •Приложение 5. Варианты заданий по обработке цепочек…………..
- •Приложение 6. Таблица сложения 16-ричных цифр (символов)……
- •Приложение 7. Темы практических занятий и лабораторных работ
- •Приложение 8. Базовая система команд МП 80х86 (или 8086)….....
- •архитектура
- •Книга 2
манд адреса операндов заменять их мнемоническими обозначениями. Так, адреса [0500h], [0502h] и [0504h] заменяют на имена переменных k, r и m соответственно.
2. Если задано, что данные представлены в формате байта, то они описываются в программе с помощью директивы db.
Комментарии к программе (пример 3.5)
1.В рассматриваемой программе все переменные размещены в памяти, начиная с адреса 500h. Обращение к ним производится с использованием базовой адресации. При этом выборка необходимого операнда совмещается с операциями вычитания или сложения.
2.В приведенной программе можно применять, например, только косвенную регистровую адресацию данных (см. п. 2.3.2). В этом случае модификация указателя памяти ВХ на +2 для установки в нем четных адресов 502h, 504h и 506h перед выборкой переменных R, N и M из памяти может быть осуществлена путем последовательного выполнения двух команд инкремента INC BX.
3.При представлении данных в формате байта модификация адреса операнда в указателе BX производится только с помощью одной команды INC BX.
3.3. Системное программное обеспечение ПК для разработки программ на языке ассемблера МП 80х86
3.3.1. Разновидности программного обеспечения для разработки программ на языке ассемблера
В состав программного обеспечения (ПО) микрокомпьютерных, или микропроцессорных систем (МПС) входят:
–программное обеспечение пользователя, содержащее алгоритмы
ипрограммы решаемой задачи;
–системное программное обеспечение (СПО).
С помощью СПО осуществляют создание (редактирование) исходных текстов программ, генерирование исполняемых модулей, их запуск и поддержку отладки. Различают следующие виды СПО: резидентное и кросс-СПО (рис. 3.1).
Кросс-СПО включает в себя системные программы (кросс-ассем- блер, кросс-отладчик), которые работают на ПК, содержащем микропроцессор, отличающийся своей системой команд от микропроцессора, входящего в состав МПС (рис. 3.1б).
58
ПК |
МПС |
ПК |
МПС |
|
|
||
|
Одинаковые |
|
Разные |
Резидент- |
|
Кросс- |
|
ное СПО |
|
СПО |
|
|
а |
|
б |
Рис. 3.1. Структура резидентного (а) и кросс-СПО (б)
Кросс-СПО широко используется в ПК в качестве эмуляторов микропроцессоров и микроконтроллеров, применяемых в различных специализированных микрокомпьютерных системах.
3.3.2. Состав резидентного СПО IBM РС
для разработки и отладки программ на языке ассемблера
Системные программы, образующие СПО, хранятся на диске компьютера. Возможный набор системных программ для создания исполняемых модулей может содержать: редактор (например, встроенный в оболочку Total Commander, Norton Commander или другие); ассемблер (транслятор) tasm.exe; редактор связей tlink.exe; турбоотладчик td.exe (рис. 3.2). В частности, указанные файлы обычно входят в состав каталога BIN программных пакетов, поддерживающих программирование на языках высокого уровня Си и Паскаль.
|
Исх. модуль |
|
Объектные |
|
Исполняемый |
|
Редак- |
на ASM |
Ассемб- |
модули |
Редактор |
модуль |
|
.asm |
.obj |
.exe |
||||
тор |
лер tasm |
связей |
||||
|
|
|
||||
|
Испр. синт. |
|
.obj |
tlink |
Отладчик |
|
|
|
.obj |
|
|||
|
ошибок |
.lst |
|
td |
||
|
|
|
|
|
Исправление логич. ошибок
Рис. 3.2. Этапы разработки и отладки программ на языке ассемблера
Рассматриваемое базовое СПО является эффективным средством автоматизации процесса разработки и отладки прикладных программ на языке ассемблера МП семейства 80х86. На рисунке 3.2 показаны этапы разработки и отладки программ на языке ассемблера на основе рассматриваемого состава СПО.
59
В состав базового СПО для разработки программ на языке ассемблера МП 80х86 входят следующие системные программы.
1. Турбоассемблер tasm.ехе
Представляет собой системную программу ПК, осуществляющую преобразование исходной программы на языке ассемблера МП 80х86 в объектную программу.
Исходную программу, еще называют исходным модулем типа .asm, транслятор (ассемблер) преобразует в перемещаемый объектный модуль типа .obj, который наряду с кодами команд содержит служебную информацию, необходимую для формирования далее исполняемого модуля.
Трансляция запускается командой, набираемой в командной строке, например, оболочки Norton Commander:
tasm [опции] <имя файла>.asm, ,
Если в команде будет указана одна запятая, то файл листинга программы с расширением .lst не формируется.
Перечень опций может быть вызван командой tasm . Отметим наиболее используемые опции:
/zi – включает в объектный модуль информацию для отладки; /n – подавляет вывод таблицы символов в листинге.
В результате трансляции также выявляются синтаксические ошибки, допущенные при создании программы. Сведения о них сообщаются в листинге программы в виде файла с расширением .lst.
2. Редактор связей (компоновщик) tlink.ехе
Объединяет созданные ассемблером объектные модули в единый исполняемый модуль с расширением .exe или .com для размещения его в основной памяти ПК для последующего исполнения. Редактор связей запускается командой
tlink [опции] <объектные файлы>
Отметим наиболее употребляемые опции:
/x – не создавать .MAP-файл с картой исполняемой программы; /v – включить символьную информацию для отладчика;
/t – создать исполняемый com-файл;
/3 – создать исполняемый модуль для 32-разрядных МП.
3. Отладчик td.ехе
60
