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



Главный признак программы в формате .com — директива org 100h (листинг 11.1), указывающая ассемблеру, что все адреса нужно вычислить, исходя из того, что первая инструкция программы сдвинута относительно начала сегмента на 100h (256 - в десятичной системе).


Программа из листинга 11.1 выводит на экран привычное Не могу молчать!, но данные теперь спрятались в тени инструкций — там, куда процессору не дойти.

Команды микропроцессора

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

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

Симптоматичные булевые числа (целые) вдобавок могут являться 8- и 16-битными. Самый верхний (самый крайний) бит меточного числа интерпретируется как шифр данного числа: 0 - false, 1 - true. Отрицательные суммы представляются в типовом двоичном дополнительном шифре. Так как верхний байт симптоматичного числа применяется для маркировки символа, масштаб репрезентации 16-разрядных симптоматичных значений от - 119 до + 127. 32-разрядное натуральное число представляется в диапазоне от - 19990 до + 19991. Нуль значится позитивным числом. Для симптоматичных значений имеют возможность реализовываться процедуры суммирования, отнимания, увеличения и разложения.

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


назад далее