Ассемблер. Числа

  Светлана Деменева  | 

  Обновл. 26 Ноя 2019  | 

 337

Обычно числовые данные в Ассемблере представлены в двоичной системе. Арифметические инструкции работают с двоичными данными. Когда числа отображаются на экране или вводятся с клавиатуры, они имеют ASCII-форму.

Представление чисел в Ассемблере

До сих пор мы конвертировали входные данные из ASCII-формы в двоичную систему для выполнения арифметических операций, а затем результат обратно в ASCII-форму.

Например:

Результат выполнения программы выше:

The sum is:
7

Программирование на ассемблере позволяет более эффективно обрабатывать числа в двоичном виде. Десятичные числа могут быть представлены в следующих двух формах:

   ASCII-форма;

   BCD-форма (или ещё «Двоично-десятичный код»).

Представление ASCII


В представлении ASCII десятичные числа хранятся в виде строки ASCII-символов. Есть четыре инструкции для обработки чисел в представлении ASCII:

   AAA (англ. «Adjust After Addition») — настроить после добавления;

   AAS (англ. «Adjust After Subtraction») — настроить после вычитания;

   AAM (англ. «Adjust After Multiplication») — настроить после умножения;

   AAD (англ. «Adjust After Division») — настроить после деления.

Эти инструкции не принимают никаких операндов и предполагают, что требуемый операнд находится в регистре AL.

В следующем примере мы будем использовать инструкцию AAS:

Результат выполнения программы выше:

The Result is:
6

Представление BCD

Существует два типа представления BCD:

   распакованное представление BCD;

   упакованное представление BCD.

В распакованном представлении BCD каждый байт хранит двоичный эквивалент каждой десятичной цифры числа. Четыре инструкции настройки ASCII: AAA, AAS, AAM и AAD также могут использоваться с распакованным представлением BCD.

В упакованном представлении BCD каждая цифра сохраняется с использованием четырёх бит. Две десятичные цифры упаковываются в 1 байт. Есть две инструкции для обработки этих чисел:

   DAA (англ. «Decimal Adjust After Addition») — десятичная настройка после добавления;

   DAS (англ. «Decimal Adjust After Subtraction») — десятичная настройка после вычитания.

Обратите внимание, что в упакованном представлении BCD отсутствует поддержка операций умножения и деления.

В следующей программе мы выполним операцию сложения двух 5-значных десятичных чисел и выведем на экран их сумму:

Результат выполнения программы выше:

The Sum is:
35801


Оценить статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (1 оценок, среднее: 5,00 из 5)
Загрузка...

Добавить комментарий

Ваш E-mail не будет опубликован. Обязательные поля помечены *