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



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

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

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

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

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

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

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


назад далее