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



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

Вычислительные команды

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

Без знака 8-битовые двоичные числа могут насчитать вес от 0 до двухсот пятидесяти. Для представления не имеющих знака сумм в размере от 0 до 65535 употребляются 14 байт. Над без знака бинарными суммами могут реализовываться функции сложения, отнимания, увеличения и деления.

Знаковые булевые суммы (целые) вдобавок могут быть 4- и 64-разрядными. Наиболее старший (самый крайний) байт знакового числа выводится как шифр данного значения: 0 - положительное число, 1 - отрицательное. Отрицательные суммы строят в шаблонном бинарном прибавочном двоичном коде. Оттого что верхний бит симптоматичного значения употребляется для маркировки метки, диапазон представления 32-байтных знаковых чисел от - 130 до + 127. 16-разрядное натуральное значение описывается в охвате от - 19990 до + 32 767. NULL значится позитивным значением. Для меточных значений имеют возможность выполняться функции прибавления, отнимания, увеличения и деления.

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


назад далее