Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Объясните логику работы команды DAA.

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

Цель работы:

Изучить следующие арифметические команды:

1)Сложение;

2) Вычитание;

3) Умножение;

4) Деление;

5) Десятичная коррекция.

Задание:

Напишите программу сравнения 16-разрядных чисел, расположенных в

ячейках памяти $0 и $2. Регистр А должен быть равен нулю, если ячейки памяти не равны.

Код программы:

org $8000; адрес размещения программы в памяти.

ldx #$1560; загрузить в регистр X число $1560.

 

 

ldy #$1550; загрузить в регистр Y число $1550.

stx $0; переслать значение регистра X в ячейку памяти $0.

 

 

sty $2; переслать значение регистра Y в ячейку памяти $2.

ldab $1; загрузить в регистр B младшую часть регистра Х.

cmpb $3; сравнение содержимого регистра В с ячейкой $3 (сравнение младших частей двух чисел).

tpa; переслать значение регистра CCR в регистр А.

clra; очистить содержимое регистра А.

ldab $0; загрузить старшую часть регистра X в регистр В.

cmpb $2; сравнение содержимого регистра В с ячейкой $2 (сравнение старших частей двух чисел).

tpa; переслать значение регистра CCR в регистр А.

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

Какие команды сложения вы знаете?

ABA, ADCA, ADCB, ADDA, ADDB.

Какие методы адресации используют команды ABA, ADDA, ABY?

ADDA - команда, использующая непосредственную, прямую, расширенную и индексную адресацию.

ABY,ABA - команды, использующая неявную,непосредственную, прямую, расширенную и индексную адресацию.

Какие команды вычитания вам известны?

ADDD, SUBD, SBA, SBCA, SBCB, SUBA, SUBB

Каким образом используется бит переноса в операции вычитания?

При выполнении команд вычитания происходит вычитание из регистра-приемника второго операнда (в случае SBA происходит вычитание регистра В из регистра А). Команды SBC дополнительно вычитают из регистра-приемника значение флага переноса.

Над какими операндами могут выполняться команды INC, DEC?

8-ми разрядный операнд, указатель стека, индексные регистры.

Объясните отличие в выполнении команд ADD и ADC.

Команда ADC производит сложение регистров А или В с (М) с учётом переноса, а команда ADD производит сложение регистров А или В с (М) без учёта переноса.

Где располагаются результаты команды FDIV и что они собой представляют?

Результаты выполнения команды FDIV заносятся в регистры Х и D. Причём в регистр Х заносится частное от деления, в регистр D - остаток от деления.

Что может служить операндом команды ADCA?

Индексные регистры.

9. Какой флаг устанавливается, если результат операции сложения превышает $FF?

Флаг переноса.

Объясните, по какому принципу устанавливаются флаги переноса, нуля и переполнения в регистре статуса CCR при выполнении арифметических команд сложения и вычитания.

При работе с 8-разрядным операндом команды инкремента и декремента влияют на флаги отрицательного результата (N), нуля (Z) и переполнения (V). В случае если операндом является указатель стека, значение регистра статуса остается неизменным. При операциях с индексными регистрами команды инкремента и декремента влияют только на флаг нуля (Z).

Объясните логику работы команд сложения/вычитания с учетом переноса/заёма при обработке многобайтовых чисел.

Если содержимое младшей тетрады аккумулятора больше 9 или флаг полупереноса Н установлен в «1», то к аккумулятору добавляется число 6; если содержимое старшей тетрады аккумулятора стало после этого более 9 или установлен флаг переноса, то число 6 добавляется и к старшей тетраде аккумулятора.

Объясните логику работы команды DAA.

Команда DAA после команд сложения действует следующим образом: если содержимое младшей тетрады аккумулятора больше 9 или флаг полупереноса Н установлен в «1», то к аккумулятору добавляется число 6; если содержимое старшей тетрады аккумулятора стало после этого более 9 или установлен флаг переноса, то число 6 добавляется и к старшей тетраде аккумулятора.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...