Объясните логику работы команды 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 Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|