Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по МО.doc
Скачиваний:
47
Добавлен:
01.06.2015
Размер:
353.79 Кб
Скачать

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

  1. Назначение программы TASM.

  2. Назначение программы TLINK.

  3. Что содержится в файлах *.ASM, *.OBJ, *.LST, *.MAP ?

  4. Назначение программы TD.

  5. Какие команды и окна отладчика служат для просмотра и мо­дификации памяти ?

  6. Какие команды и окна отладчика служат для просмотра реги­стров ?

  7. Какие команды отладчика служат для выполнения программы?

  8. Что такое точки останова ?

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

2

ПРОГРАММИРОВАНИЕ ЛИНЕЙНЫХ КОНСТРУКЦИЙ

1. ЦЕЛЬ РАБОТЫ

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

2. ОСНОВНЫЕ СВЕДЕНИЯ

2.1. Команды двоичной арифметики

МНЕМОКОД

OSZAPC

ДЕЙСТВИЕ

mov DST, SRC

------

пересылка, DSTSRC

xchg OPND1,OPND2

------

обмен, DSTSRC

add DST, SRC

xxxxxx

сложение, DSTDST+SRC

adc DST, SRC

xxxxxx

сложение с переносом, DSTDST+SRC+CF

inc OPND

xxxxx-

увеличить на единицу, OPNDOPND+1

sub DST, SRC

xxxxxx

вычитание, DSTDST-SRC

sbb DST, SRC

xxxxxx

вычитание с заемом, DSTDST-SRC-CF

dec OPND

xxxxx-

уменьшение на единицу, OPNDOPND-1

neg OPND

xxxxxx

изменение знака, OPND0-OPND

rcl DST, CONT

x----x

циклический сдвиг влево через CF

rcr DST, CONT

x----x

циклический сдвиг вправо через CF

rol DST, CONT

x----x

циклический сдвиг влево

ror DST, CONT

x----x

циклический сдвиг вправо

sal DST, CONT

xxxuxx

арифметический сдвиг влево

sar DST, CONT

xxxuxx

арифметический сдвиг вправо

shl DST, CONT

xxxuxx

логический сдвиг влево

shr DST, CONT

xxxuxx

логический сдвиг вправо

2.2. Режимы адресации

Обозначения: R – регистр, V – переменная, C – константа.

НАЗВАНИЕ

ОБОЗНАЧЕНИЕ

СОДЕРЖАНИЕ

ПРИМЕР

РЕГИСТРОВАЯ ПРЯМАЯ

R

операнд находится в регистре

mov AX, SI переслать со­держимое регистра SI в регистр AX

НЕПОСРЕДСТВЕННАЯ

C

непосредственный операнд - константа присутствует в ко­манде

mov AX, 093Ah занести константу 093Ah в ре­гистр AX

ПРЯМАЯ

V + C или V - C

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

mov BX, WW+2 переслать в BX слово памяти, отстоя­щее от переменной с име­нем WW на 2 байта

КОСВЕННАЯ РЕГИСТРОВАЯ

[R] где R - BP, BX, SI, DI

регистр содержит адрес операнда

mov [BX], CL переслать содержимое регистра CL по адресу, находящемуся в регистре BX

КОСВЕННАЯ РЕГИСТРОВАЯ ОТНОСИТЕЛЬНАЯ

V[R] , C[R] , [R+V] , [R+C] , V.[R] , [R].C] , где R - SI,DI (ИНДЕКСНАЯ) BX,BP (БАЗОВАЯ)

адрес операнда вы­числяется как сумма содержимого реги­стра и смещения

mov M[BX], CL переслать содержимое регистра CL по адресу,отстоящему от переменной M на BX байт

ИНДЕКСНО-БАЗОВАЯ

[BR][IR] , V[BR][IR] , [BR][IR]C ,где IR - SI, DI, BR - BX, BP

адрес операнда вы­числяется как сумма содержимых базового и индексного реги­стров и возможного смещения

mov [BX][SI]3, AL пере­слать содержимое реги­стра AL по адресу, сумме регистров BX, SI и кон­станты 3

Замечание. Для всех режимов адресации при формировании физического адреса используется сегментный регистр DS, за ис­ключением случаев, когда в качестве базового регистра выступает регистр BP, в этом случае используется сегментный регистр SS.