Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЗФ / ВМСиС сборник лабораторных работ.docx
Скачиваний:
51
Добавлен:
06.11.2017
Размер:
457.26 Кб
Скачать

Лабораторная работа №1 Изучение пакета tasm и организация ввода данных с клавиатуры.

  1. Цель работы.

Изучение средств пакета TASM, ознакомление с языком ассемблер для IBM PC на базе микропроцессора фирмы Intel.

  1. Задание.

    1. Предварительная часть.

  1. Изучить структуру и принцип действия микропроцессоров семейства Intel Х86 по [1,2,3].

  2. Ознакомиться со структурой и средствами языка ассемблер по [1].

  3. Ознакомиться с описанием лабораторного стенда, приведенным в начале сборника.

2.2. Экспериментальная часть.

2.2.1. Ознакомиться с примером текста программы на языке ассемблер. Записать данную программу в текстовом редакторе “Блокнот”, при этом исходные данные lmnl, lmn2 взять в таблице 1. Для работы с текстовым редактором нажать кнопку “Пуск” в панели задач и выбрать в раскрывшемся списке пункт “Программы” далее пункт "Стандартные” и затем “Блокнот”. Таблица 1

Номер бригады

1

2

3

4

5

6

7

8

9

lmn1

A416

12310

7516

24310

CC16

1510

2116

2110

F116

lmn2

64AD16

342316

1BCD16

27316

432216

61BB16

AD16

27510

43516

2.2.2. Сохранить полученный файл в каталоге C:\TASM\Work\, с именем не более восьми символов и не содержащий русских букв. Полученный текстовый файл переименовать в файл с расширением .asm. Для этого выделить исходный файл и нажатием правой кнопки мыши раскрыть меню действия нал файлом. Выбрать пункт переименовать и заменить расширение выбранного файла на .asm.

2.2.3 Произвести компоновку полученной программы, т.е. создать загрузочный модуль с опциями для tasm.exe - [/zi], а для tlink.exe - [/v]. Для этого нажать кнопку “Пуск” в панели задач и выбрать в раскрывшемся списке пункт “Программы” затем выбрать пункт “Сеанс MS - DOS”. В командной строке необходимо ввести команду:

C:\TASM\Work\tasm.exe /zi имя_исходного_файлa.asm. Нажать клавишу Enter. После выполнения этой команды в каталоге C:\TASM\Work\ появится объектный модуль - файл с тем же именем, но с расширением .obj. Теперь, для создания загрузочного модуля в командной строке необходимо ввести команду:

C:\TASM\Work\tlink.exe /v имя_исходного_файла.оbj и нажать клавишу Enter. После выполнения команды в каталоге C:\TASM\Work\ будет создан загрузочный модуль - файл с именем как у первоначального, но с расширением .ехе.

      1. Исследовать работу полученной программы в Turbo Debugger. Для этого запустить программу TD.exe из каталога C:\TASM\Work\. В меню Files выбрать пункт Open и указать имя созданного файла. В пункте меню View выбрать CPU и исследовать программу в пошаговом режиме нажимая клавишу F7. При этом в главном окне будет виден текст программы в дизассемблированном виде, а окна Registers и Stack будут отражать содержимое регистров микропроцессора и стека соответственно.

  1. Содержание отчета.

    1. Функциональная схема регистров микропроцессора Pentium.

    2. Таблица состояния регистров микропроцессора на каждом шаге выполнения программы.

    3. Текст программы на языке ассемблер.

    4. Выводы.

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

    1. Какое количество пользовательских регистров содержит микропроцессор Pentium? Перечислите эти регистры.

    2. Какие сегментные регистры вам известны?

    3. Возможно ли непосредственное обращение к старшим 16 битам регистров общего назначения? Ответ пояснить.

    4. Какие команды определения и инициализации переменных (данных) вам известны?

    5. Основное назначение регистра есх.

Пример текста программы на языке ассемблер.

masm

Model small

Stack 256

.data

lmn1 db Ofah

lmn2 dw 06d5fh

.code

start:

mov ax,@data

mov ds,ax

mov ax,0000h

mov al,lmn1

mov dx,lmn2

mov dx,ax

mov dl,lmn1

mov ah,0fh

mov bx,012ch

mov lmn1,ah

push dx

mov dl,010d

mov dh,0ah

pop dx

mov ax,4c00h

int 21h

end start

; режим работы

; модель памяти

; стек размером 256 байт

; начало сегмента данных

; объявление и инициализация переменной размером в байт

; объявление и инициализация переменной размером в слово

; начало сегмента кода

; точка входа в программу

; запись адреса сегмента данных в регистр ах

; запись в сегментный регистр ds значения из регистра ах

; пересылка 0000 в ах

; пересылка lmn1 в регистр аl

; пересылка lmn2 в регистр dx

; пересылка ах в dx

; пересылка lmn1 в регистр dl

; пересылка в регистр ah числа f

; пересылка в регистр bx числа 12с

; пересылка значения регистра ah в переменную lmn1

; запись регистра dx в стек

; пересылка в регистр dl числа 10

; пересылка в регистр dh числа а

; запись в регистр dx из стека

; пересылка в ах числа 4с00

; вызов прерывания с номером 21

; конец программы с точкой входа start

Соседние файлы в папке ЗФ