Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод.Указания к Лаб.Раб по АВС.doc
Скачиваний:
10
Добавлен:
05.03.2016
Размер:
2.2 Mб
Скачать

Задание

  1. Внимательно изучить работу команд пересылки данных по источникам, указанным выше.

  2. Ознакомиться с исходным текстом программы, приведенным ниже.

  3. Выполнить ассемблирование и линкование исходного текста программы.

  4. Загрузить .exe файл в td.exe. Выполнить программу по шагам, анализируя принцип работы каждой команды по состоянию регистров, используемых в команде и ячеек памяти, к которым обращается данная, выполненная команда.

; Исходный текст программы

Data SEGMENT

Tab DB 1,2,3,4,5,6,7,8,9,0Ah,0Bh,0Ch,0Dh,0Eh,0Fh

Addr DW Char,Data

New DW ?,?

NewAddr DD 12345678h

Dest DW ?

Char DB '*'

Data ENDS

Code SEGMENT

ASSUME DS:Data,CS:Code,ES:Data,SS:Stack1

Start: mov AX,Data

mov DS,AX

;демонстрация работы команды MOV - 'А, просто так...'

mov addr,DS

mov ES,addr

mov CH,77h

mov CL,0EEh

mov DI,offset Tab

mov Dest,DI

mov DX,CX

mov AL,CH

mov AX,Addr

mov New,AX

mov AL,Char

mov Tab,AL

mov SI,0CDh

mov Addr,577h

mov DI,14h

;демонстрация работы команды обмена

xchg CL,CH

xchg AX,CX

;демонстрация трансляции элементов таблицы

mov BX,5

mov AX,2

xlat

;загрузка эффективного адреса

mov AX,offset Char

lea BX,Char

;загрузка полного адреса

mov AX,DS

lds BX,NewAddr

mov DS,AX

lea BP,Addr

les DI,[BP]

;загрузка/сохранение флагов

lahf

mov AH,11010101b

sahf

;работа со стеком

push DS

push ES

pop DS

pop ES

pushf

mov AX,0FD5h

push AX

popf

popf

;Завершение работы программы

mov AH,4ch

int 21h

Code ENDS

Stack1 SEGMENT 'Stack'

DB 128 dup (0)

Stack1 ENDS

END Start

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

Отчет по лабораторной работе должен содержать:

  1. титульный лист;

  2. тему и цель работы;

  3. листинг программы, а также дамп памяти после выполнения программы;

  4. выводы по работе.

Что нужно знать для защиты отчета

Для защиты отчета по лабораторной работе необходимо внимательно изучить темы: «Структура машинного кода команды» и «Команды пересылки данных». Вопросы для защиты лабораторной работы индивидуальны и задаются в форме небольших примеров – задач. Для ответа на вопросы необходимо: четко ориентироваться в листинге программы; находить в листинге коды команд и уметь расшифровывать их с использованием соответствующей таблицы (см. лекцию и Приложение Г); знать принцип работы команд пересылки данных и уметь объяснять их работу на примерах их использования в выполненной программе и в любом предложенном преподавателем примере.

Рекомендуемая литература

  1. Юров В. Assembler / В. Юров. – СПб.: Питер, 2001.- 624с.:ил.

  2. Чекатков А.А. Использование TA при разработке программ / АА. Чекатков. – К.: Диалектика, 1995.

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

Лабораторная работа № 5

Тема: работа с командами двоичной арифметики.

Цель: освоить работу команд двоичной арифметики для знаковых и беззнаковых данных различной длины и влияние этих команд на флаговый регистр.