Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Assembler (Уч_пос_Лаб_Ч1).doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
1.43 Mб
Скачать

9.3. Контрольные вопросы

  1. Изложите алгоритм преобразования ASCII-кода числа с произвольным основанием в двоичное число.

  2. Изложите алгоритм преобразования двоичного числа в ASCII-строку числа с произвольным основанием.

  1. В чём заключается концепция модульного программирования?

  2. Укажите основные синтаксические различия в организации программных модулей, принадлежащих одной программе?

  3. Как вы понимаете принцип локализации переменных в модуле и деление переменных модуля на внутренние и внешние.

  4. Как экспортировать из модуля процедуры, числовые константы и переменные в другие модули?

  5. Как импортировать в модуль процедуры, числовые константы и переменные из других модулей?

  6. Напишите команду, создающую библиотеку mta.lib из объектных модулей a.obj, b.obj и c.obj.

  7. Напишите команду создания исполнительного файла программы с главным модулем main.obj, вспомогательные модули которого находятся в библиотеке mylib.

Список использованной и рекомендуемой Литературы

  1. Скэнлон Л. Персональные ЭВМ IBM PC и XT. Программирование на языке Ассемблер. Пер. с англ. – M.: Радио и связь. 1989. – 336 с.

  2. Фролов А.В., Фролов Г.В. Библиотека системного программиста. Тома 18,19. MS-DOS для программиста, М.: Диалог-МИФИ, 1995. – 507 с.

  3. Пильщиков В.Н. Программирование на языке ассемблера IBM PC. – М.: "Диалог-МИФИ", 2001. – 288 c.

  4. Финогенов К.Г. Самоучитель по системным функциям MS-DOS. – Изд.2. – М.: Радио и связь, Энтроп, 1995. – 382 с.

  5. Сван Т. Освоение Turbo Assembler. – Киев: Диалектика, 1996. – 544 с.

  6. Юров В., Хорошенко С. Assembler: учебный курс. – СПБ: Питер Ком, 1999. – 672 с.

  7. Зубков С.В. Assembler. Для DOS, Windows и Unix. – 2-е изд. – М.: ДМК, 2000. – 640 с.

  8. Assembler /В. Юров. – СПб: Издательство "Питер", 2000. – 624 с.

  9. Юров В. Assembler: Специальный справочник. СПб: Питер, 2000.

  10. Пирогов В. Ю. Assembler. Учебный курс. – М.: "Нолидж", 2001. – 848с.

  11. Юров В. Assembler: практикум. – СПб: Питер, 2001. – 400 с.

  12. Рудаков П.И., Финогенов К.Г. Язык ассемблера: уроки программирования. – М.: ДИАЛОГ-МИФИ, 2001. – 640 с.

  13. Голубь Н.Г. Искусство программирования на Ассемблере. Лекции и упражнения. – СПб.: ООО "ДиаСофтЮП", 2002. – 656 с.

  14. Ирвин Кип. Язык ассемблера для процессоров Intel, 3-е изд.: Пер. с англ. – М.: Изд. Дом "Вильямс", 2002. – 616 с.

Оглавление

Стр.

В.А. АФАНАСЬЕВ 3

Assembler IBM PC 3

Лабораторный практикум 3

Предисловие 5

1. Краткая характеристика операционной среды MS-DOS в компьютерах с операционной системой Windows 6

2. Составные части MS-DOS и её инициализация 7

3. Взаимодействие Ассемблерной программы с MS-DOS и аппаратными средствами Компьютера 9

4. Сегментированная организация памяти в реальном режиме. Виды памяти в среде MS-DOS 11

5. Программная модель 32-разрядных процессоров i80x86 17

6. ЛАБОРАТОРНАЯ РАБОТА № 1 20

АССЕМБЛИРОВАНИЕ И ОТЛАДКА ГОТОВЫХ ПРОГРАММ. ИЗУЧЕНИЕ СИСТЕМЫ КОМАНД И СПОСОБОВ АДРЕСАЦИИ ОПЕРАНДОВ 20

6.1. Целевые установки 20

6.2. Методические рекомендации 20

6.2.1. Этапы создания программы 20

6.2.2. Путь выполнения команды 21

6.2.3. Трансляция программы. Опции командной строки 22

6.2.4. Структура программы для .exe- и .com-файлов. Образ программы в памяти 24

6.2.5. Работа с отладчиком Turbo Debugger (TD) 28

6.2.6. Форматы машинных команд и их кодирование 31

6.2.6.1. 16-битный режим адресации операндов в памяти 32

6.2.6.2. Использование 32-битных регистров 36

6.2.7. Работа над синтаксическими ошибками при ассемблировании программы 38

6.3. Задание к работе. Порядок выполнения 39

6.4. Контрольные вопросы 40

Приложения к лабораторной работе № 1 41

П.1.1. Машинные коды команд базового процессора i8086 41

П.1.2. Демонстрационные файлы 47

П.1.3. Форматы исполняемых файлов .exe и .com на диске 51

7. ЛАБОРАТОРНАЯ РАБОТА № 2 56

СИСТЕМНЫЕ ФУНКЦИИ DOS ВВОДА-ВЫВОДА ИНФОРМАЦИИ. ОБРАБОТКА СТРОКОВЫХ ПЕРЕМЕННЫХ 56

7.1. Целевые установки 56

7.2. Методические рекомендации 56

7.2.1. Вызовы функций MS-DOS для ввода-вывода символьной информации 56

7.2.2. Ввод с клавиатуры символьной информации 59

7.2.2.1. Буфер ввода данных с клавиатуры 59

7.2.2.2. Системные функции DOS ввода данных с клавиатуры 60

7.2.3. Функции DOS вывода данных на экран 65

7.2.4. Расширенные коды ASCII и управление программой с клавиатуры 66

7.2.5. Строковые команды. Общая характеристика 68

7.3. Задания к работе. Подготовка и выполнение 71

7.4. Контрольные вопросы 73

Приложения к лабораторной работе № 2 74

Приложение П.2.1. Примеры реализаций типового задания 74

Приложение П.2.2. Esc-последовательности 77

Приложение П.2.3. Таблица символов в кодировке ASCII 80

8. Лабораторная работа № 3 81

ПРИМЕНЕНИЕ СЕРВИСНЫХ ФУНКЦИЙ BIOS ДЛЯ РАБОТЫ С ЭКРАНОМ И КЛАВИАТУРОЙ 81

8.1. Целевые установки 81

8.2. Методические рекомендации 81

8.2.1. Введение 81

8.2.2. Прямое программирование видеобуфера в текстовом режиме 82

8.2.3. Справочные данные по функциям BIOS 85

8.2.3.1. Прерывание int 10h. Видеофункции BIOS 85

8.2.3.2. Рекомендации по использованию видеосервиса BIOS 89

8.2.3.3. Прерывание int 16h 91

8.2.3.4. Задержка программных операций 92

8.3. Варианты индивидуального задания 94

8.4. Контрольные вопросы 95

Приложения к работе № 3 96

Примеры реализаций типовых заданий 96

П.3.1. Листинг 3.4. Программа получения скан-кодов клавиш клавиатуры 96

Ideal 96

Model small 96

П.3.2. Листинг 3.5. Демонстрационная программа использования функций BIOS для работы с экраном и клавиатурой 97

9. Лабораторная работа № 4 104

ПРЕОБРАЗОВАНИЕ ФОРМАТОВ ЧИСЛОВЫХ ДАННЫХ В ОПЕРАЦИЯХ ВВОДА-ВЫВОДА 104

9.1. Целевые установки 104

9.2. Методические рекомендации 104

9.2.1. Представление знаковых и беззнаковых чисел в 16-разрядном компьютере 105

9.2.2. Преобразование ASCII-кодов чисел с произвольным основанием в двоичное число 106

9.2.3. Преобразование двоичного числа в ASCII-строку числа по произвольному основанию 108

9.2.4. Задание к работе. Порядок выполнения 109

9.2.5. Вопросы построения многомодульных программ 111

9.2.6. Ассемблирование и компоновка отдельных модулей в программу. Создание библиотеки объектных модулей 115

9.3. Контрольные вопросы 117

Список использованной и рекомендуемой Литературы 117

оглавление 119

1 Особенности инициализации среды для запуска DOS-программ из командной строки программ-оболочек Far и Windows Commander будут рассмотрены далее в п. 6.2.2.

2 Ram указывает, что система должна распределить только 64 Кбайт из области UMB для буфера страниц EMS -памяти и оставить остальное место (если таковое имеется) для использования DOS, чтобы обеспечить поддержку команд LOADHIGH и DEVICEHIGH. По умолчанию система использует всю доступную память из области UMB для буфера страниц EMS-памяти. Размер Emm указывается в PIF-файле для данного приложения, либо в файле _default.pif. Если в PIF-файле в качестве размера EMS задан нуль, то строка Emm в файле настройки DOS игнорируется.

3 Файл Autoexec.nt в системе Windows 2000 можно использовать для указания путей поиска (как и указывалось выше) только для программ DOS или с ней совместимых. Программы FAR и Windows Commander к таким не относятся, поэтому при использовании командных строк данных программ для работы с DOS-программами, требуется прописать соответствующие пути поиска в окне Переменные среды для пользователя. Наиболее просто открыть это окно можно следующим образом. Выделим на зкране монитора значок Мой компьютер с последующим вызовом диалогового меню. Выполним последоватльно команды: Свойства/Дополнительно/Переменные среды. Далее в окне Переменные среды для пользователя нажимаем кнопку Создать и, в диалоговом окне Новая пользовательская переменная, прописываем c помощью команды Path нахождение каталогов с програм- мами – оболочками и пакетом Tasm5.

4 Некоторая информация представленная на рис. 1.2, будет понятна из рассмотрения материала п. 6.2.5.

5 Использование драйвера ANSY.SYS требует включения в файл Config.sys (Config.nt) строки:

Device=C:\Win98\Command\Ansy.sys

Или нечто аналогичное, определяющее полный путь к драйверу в вашем компьютере.

41

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]