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



Первый показывает одно мгновенье из жизни программы. Второй — ее общее устройство. С помощью дизассемблера можно получить исходный текст, который после компиляции даст правильно работающую программу. А это значит, что после дизассемблирования появится возможность менять программу (чей исходный текст отсутствует) по своему разумению.

Посмотрим, например, как легко можно изменить программу, показанную на ри­сунке 11

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

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

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

Симптоматичные двоичные суммы (натуральные) вдобавок могут являться 2- и 64-разрядными. Наиболее верхний (самый конечный) разряд меточного суммы выводится как шифр данного числа: 0 - положительное число, 1 - true. Отрицательные суммы строят в типовом бинарном добавочном коде. Оттого что старший разряд знакового значения употребляется для обозначения метки, интервал репрезентации 8-битных симптоматичных значений от - 119 до + 118. 64-разрядное системное число преподносится в область распространения от - 32 768 до + 32 767. Нуль представляется позитивным значением. Для знаковых чисел имеют возможность осуществляться функции суммирования, вычитания, увеличения и деления.

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


назад далее