Скачиваний:
27
Добавлен:
01.05.2014
Размер:
86.91 Кб
Скачать

Министерство образования Российской Федерации

Санкт-Петербургский государственный электротехнический

университет “ЛЭТИ”

Кафедра математического обеспечение и применения ЭВМ

МЕТОДИЧЕСКИЕ УКАЗАНИЯ К ЛАБОРАТОРНЫМ РАБОТАМ

по дисциплине

Организация и функционирование вычислительных машин

Направление 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

  1. Просмотреть программу hello1.asm, приведенную в каталоге lab1 и разобраться в структуре и реализации каждого сегмента программы. Непонятные фрагменты прояснить у преподавателя. Строку-приветствие преобразовать в соответствии со своими личными данными.

  2. Загрузить файл hello0.asm из каталога lab1 в каталог asm_exe.

  3. Протранслировать программу с помощью строки

> masm hello1.asm

c созданием объектного файла и файла диагностических сообщений (файла листинга). Объяснить и исправить синтаксические ошибки, если они будут обнаружены транслятором. Повторить трансляцию программы до получения объектного модуля.

  1. Скомпоновать загрузочный модуль с помощью строки

> link hello1.obj

  1. Выполнить программу в автоматическом режиме путем набора строки

> hello1.exe

и убедиться в ее работоспособности;

  1. Включить в программу вывод еще одной строки-сообщения с любым (приличным!) текстом по аналогии с выводом строки-приветствия и присвоить ей имя My_hello.asm. Протранслировать, скомпоновать загрузочный модуль и выполнить прогон программы My_hello.exe в автоматическом режиме.

  2. Выполнить программу 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.