- •Организация и функционирование вычислительных машин
- •Лабораторная работа 1.Освоение трансляции, отладки и выполнения программы на языке Ассемблера Intel 8086.
- •Часть 1
- •Часть 2
- •Лабораторная работа 2. Изучение режимов адресации в Intel8086
- •Лабораторная работа 3. Программирование ветвящихся процессов
- •Лабораторная работу 4. Изучение программирования обработки символьной информации с использованием команд пересылки строк.
- •Лабораторная работа 5. Разработка собственного прерывания.
- •Лабораторная работа 6. Организация связи Ассемблера с яву на примере программы построения частотного распределение попаданий псевдослучайных целых чисел в заданные интервалы.
- •Лабораторная работа 7. Использование арифметических операций и процедур в Ассемблере.
- •Лабораторная работа 8. Разработка на языке ассемблер программы анализа используемой конфигурации компьютера и вывода на экран информации об имеющихся ресурсах.
Министерство образования Российской Федерации
Санкт-Петербургский государственный электротехнический
университет “ЛЭТИ”
Кафедра математического обеспечение и применения ЭВМ
МЕТОДИЧЕСКИЕ УКАЗАНИЯ К ЛАБОРАТОРНЫМ РАБОТАМ
по дисциплине
Организация и функционирование вычислительных машин
Направление 552800 - “Информатика и вычислительная техника”
Автор к.т.н., доцент В.А.Кирьянчиков
Санкт-Петербург
2000
Содержание
Лабораторная работа 1.Освоение трансляции, отладки и выполнения программы на языке Ассемблера Intel 8086. 3
Лабораторная работа 2. Изучение режимов адресации в Intel8086 4
Лабораторная работа 3. Программирование ветвящихся процессов 7
Лабораторная работу 4. Изучение программирования обработки символьной информации с использованием команд пересылки строк. 9
Лабораторная работа 5. Разработка собственного прерывания. 10
Лабораторная работа 6. Организация связи Ассемблера с ЯВУ на примере программы построения частотного распределение попаданий псевдослучайных целых чисел в заданные интервалы. 12
Лабораторная работа 7. Использование арифметических операций и процедур в Ассемблере. 13
Лабораторная работа 8. Разработка на языке ассемблер программы анализа используемой конфигурации компьютера и вывода на экран информации об имеющихся ресурсах. 15
Лабораторная работа 1.Освоение трансляции, отладки и выполнения программы на языке Ассемблера Intel 8086.
Часть 1
Просмотреть программу hello1.asm, приведенную в каталоге lab1 и разобраться в структуре и реализации каждого сегмента программы. Непонятные фрагменты прояснить у преподавателя. Строку-приветствие преобразовать в соответствии со своими личными данными.
Загрузить файл hello0.asm из каталога lab1 в каталог asm_exe.
Протранслировать программу с помощью строки
> masm hello1.asm
c созданием объектного файла и файла диагностических сообщений (файла листинга). Объяснить и исправить синтаксические ошибки, если они будут обнаружены транслятором. Повторить трансляцию программы до получения объектного модуля.
Скомпоновать загрузочный модуль с помощью строки
> link hello1.obj
Выполнить программу в автоматическом режиме путем набора строки
> hello1.exe
и убедиться в ее работоспособности;
Включить в программу вывод еще одной строки-сообщения с любым (приличным!) текстом по аналогии с выводом строки-приветствия и присвоить ей имя My_hello.asm. Протранслировать, скомпоновать загрузочный модуль и выполнить прогон программы My_hello.exe в автоматическом режиме.
Выполнить программу hello0 в пошаговом режиме под управлением отладчика:
> afd hello1.exe
с фиксацией содержимого используемых регистров и ячеек памяти до и после выполнения команды. Записать содержимое всех регистров процессора перед выполнением 1-ой команды. Результаты прогона программы под управлением отладчика должны быть представлены в виде, показанном на примере одной команды в табл.1, и подписаны преподавателем.
Табл.1
Адрес Команды |
Символический код команды |
16-ричный код команды |
Содержимое регистров и ячеек памяти | |
|
|
|
до выполнения . |
После выполнения |
0003 |
Mov DS, AX |
8E D8 |
(AX) = 2D87 (DS) = 2D75 (IP) = 0003 |
(AX) = 2D87 (DS) = 2D87 (IP) = 0005 |
Часть 2
Выполнить пункты 1- 7 части 1 настоящего задания применительно к программе hello2.asm, приведенной в каталоге lab1, которая использует полное определение сегментов. Сравнить результаты прогона под управлением отладчика программ hello1 и hello2 и объяснить различия в размещении сегментов.
Примечание: Можно вместо транслятора Masm.exe, компоновщика link.exe и отладчика afd.exe фирмы Microsoft использовать соответствующие продукты фирмы Borland: tasm.exe, tlink.exe и td.exe, но тогда к ним следует указать путь доступа из каталога lab1.