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



ехе-файлы, даже не заглядывая в исходные тексты, но нам до это­го далеко. Будем пока интересоваться кодированием инструкций перехода, что поможет нам понять, почему их создано так много.

Следующим по сложности переходом будет команда jmp, занимающая в памяти три байта и потому способная послать процессор на 32 768 байт назад и на 32 767 байт — вперед. Тот же самый отрывок программы, но уже с другим пере­ходом jmp, будет таким:

Работа с функциями АЛУ

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

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

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

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


назад далее