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



сама программа оказалась много короче 30 байт, потому что большую ее половину занимают символы «Не могу молчать!», а собственно ин­струкции процессора умещаются в одиннадцати байтах:

В4 09 ВА ОВ 01 CD 21 В4 4С CD 21

которые кажутся абсолютно бессмысленными — до тех пор, пока их не проана­лизирует «настоящий» дизассемблер, то есть программа, восстанавливающая исходные тексты программ, лежащих мертвыми файлами на дисках.

Арифметические команды

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

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

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

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


назад далее