ХАНДЫФАР

Инструкция DAA

Инструкция DAA (Decimal Adjust Accumulator) специально разработана для двоично-десятичной арифметики (BCD). BCD — это способ представления десятичных чисел, при котором каждая десятичная цифра кодируется как 4-битное двоичное число.

Выполнение арифметических операций с числами BCD с использованием обычных двоичных арифметических команд (таких как ADD, SUB и т.д.) может привести к неправильным результатам, поскольку двоичное представление может не соответствовать правилам BCD. Инструкция DAA используется для исправления результата операции сложения двух двоичных кодов, сохранённых в накопителе.

Инструкция DAA работает следующим образом:

  • Коррекция младшего полубайта: Сначала проверяется нижний 4-разрядный зазор (биты 0-3) накопителя. Если значение младшего бита больше 9 (т. е. 0Ah — 0Fh) или если установлен флаг вспомогательного переноса (AC), к младшему биту аккумулятора добавляется 06H.

  • Коррекция старшего полубайта: затем проверяется старший 4-битный разряд (биты 4 — 7) аккумулятора. Если значение старшего бита больше 9 (т. е. 0Ah — 0Fh) или если установлен флаг переноса (CY), то к аккумулятору добавляется 60H.

DAA


Десятичная корректировка регистра A после сложения.

  1. ; Автор: Довгополов Евгений Сергеевич
  2. main:
  3. ____mvi ____a, 25h__; Копируем шестнадцатеричное непосредственное значение 25h в регистр A.
  4. ____adi ____37h_____; Выполняем сложение значения в регистре A с 37h.
  5. ____daa_____________; Выполняем корректировку содержимого регистра A.
  6. ____hlt_____________; Завершаем программу.

Инструкция DAA влияет на флаги CY, Z, S, P и AC в регистре флагов.
Инструкция DAA

Инструкция DAA (Decimal Adjust Accumulator) специально разработана для двоично-десятичной арифметики (BCD). BCD — это способ представления десятичных чисел, при котором каждая десятичная цифра кодируется как 4-битное двоичное число.

Выполнение арифметических операций с числами BCD с использованием обычных двоичных арифметических команд (таких как ADD, SUB и т.д.) может привести к неправильным результатам, поскольку двоичное представление может не соответствовать правилам BCD. Инструкция DAA используется для исправления результата операции сложения двух двоичных кодов, сохранённых в накопителе.

Инструкция DAA работает следующим образом:

  • Коррекция младшего полубайта: Сначала проверяется нижний 4-разрядный зазор (биты 0-3) накопителя. Если значение младшего бита больше 9 (т. е. 0Ah — 0Fh) или если установлен флаг вспомогательного переноса (AC), к младшему биту аккумулятора добавляется 06H.

  • Коррекция старшего полубайта: затем проверяется старший 4-битный разряд (биты 4 — 7) аккумулятора. Если значение старшего бита больше 9 (т. е. 0Ah — 0Fh) или если установлен флаг переноса (CY), то к аккумулятору добавляется 60H.

DAA


Десятичная корректировка регистра A после сложения.

  1. ; Автор: Довгополов Евгений Сергеевич
  2. main:
  3. ____mvi ____a, 25h
  4. ____adi ____37h
  5. ____daa
  6. ____hlt

Инструкция DAA влияет на флаги CY, Z, S, P и AC в регистре флагов.
Made on
Tilda