Команды десятичной коррекции неупакованных чисел

Для неупакованных чисел или, как их еще называют ASCII-чисел, существуют аналогичные команды коррекции после сложения – aaa и вычитания – aas. Сложение и вычитание ASCII-чисел также выполняется в два этапа.

Кроме того, над ASCII-числами допустимо выполнение опера­ций умножения и деления.

Умножение ASCII-чисел выполняется в два этапа:

· умножение одноразрядных сомножителей, представленных байтами, в которых младшие тетрады содержат десятичные цифры, а старшие тетрады – нулевые. Умножение выполняется командой mul, которая формирует в регистре AL двоичное про­изведение;

· коррекция результата с помощью команды aam, которая преоб­разует полученный результат в двухбайтовое произведение, на­ходящееся в регистрах AH (старший десятичный разряд) и AL (младший разряд).

Деление также выполняется в два этапа, но в отличие от ос­тальных команд коррекция выполняется не после, а перед вы­полнением операции:

· коррекция делимого с помощью команды aad, которая предполагает, что в регистрах AH и AL находится двухразрядное делимое, причем AH содержит цифру десятков, а AL – цифру единиц и обе старшие тетрады нулевые. Она формирует в AX соответствующее двоичное число;

· деление полученного в AX делимого на одноразрядный дели­тель, с получением частного в AL и остатка в AH.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: