Россия и Беларусь начали и продолжают войну против целого народа Украины!

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

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

  Обновл. 29 Янв 2023  | 

 17948

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

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

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

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

The sum is:
7

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

   ASCII-форма;

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

ASCII-представление


В ASCII-представлении десятичные числа хранятся в виде строки ASCII-символов. Есть 4 инструкции для обработки чисел в 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-представлении каждая цифра сохраняется с использованием 4 бит. Две десятичные цифры упаковываются в 1 байт. Есть две инструкции для обработки этих чисел:

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

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

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

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

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

The Sum is:
35801


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

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

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

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