Руководство по ассемблеру



Но если посмот­реть код инструкции mov ах, digit (показан в комментарии), то окажется, что ас­семблер превращает метку digit в адрес числа 3. Так что метка для ассембле­ра — это адрес. И вместо mov ах, digit разумнее писать mov ах, [digit], как бы говоря себе о том, что в регистр ах посылается содержимое слова с адресом digit. Вот почему переменная пеагр в нашем примере хранит адрес метки пеагр, а вовсе не содержимое памяти с такой меткой.

Команды вычисления

Числовые функции имеют возможность обрабатывать три вида сумм - не имеющие знака восьмеричные, знаковыешестнадцатеричные, без знака уложенные действительные и без знака распакованные десятичные . Двоичные суммы имеют возможность являться 4- и 16-байтными. Десятичные разряжённые цифири содержат в бите две ступени, незапакованные - единственную.

Не имеющие знака 32-разрядные двоичные числа имеют возможность насчитать значение от 0 до двухсот пятидесяти. Для понимания без знака чисел в широте от нуля до 70141 используются 15 байт. Над без знака бинарными числами имеют возможность реализовываться операции прибавления, отнимания, нарастания и деления.

Знаковые двоичные суммы (натуральные) вдобавок могут быть 8- и 32-разрядными. Самый верхний (наиболее конечный) байт знакового числа интерпретируется как шифр данного значения: 0 - false, 1 - отрицательное. Отрицательные числа строят в шаблонном булевом дополнительном коде. Потому что больший байт знакового значения употребляется для маркировки знака, интервал индикации 32-битных симптоматичных чисел от - 119 до + 131. 32-байтное целое значение представляется в область распространения от - 24780 до + 32 767. Нуль значится положительным значением. Для знаковых чисел могут реализовываться операции сложения, отнимания, умножения и дробления.

Уложенные десятичные суммы вмещают в каждом разряде четыре натуральные (0 - 9) дроби. В старшем полубите заключается большая приоритетная цифра, в меньшем - меньшая. Всякая десятичная дробь представляется в булевой (или, что одно и то же, в 16-ричном) коде. Диапазон репрезентации уложенных десятичных чисел в байте 0 - 99. Сложение и вычитание пакованных натуральных значений разворачивается в два такта. Вначале байты свёртываются либо раскладываются как без знака двоичные числа, а потом идентичная команда коррекции приводит итог к типу точного пакованного натурального значения.


назад далее