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



листинг 11.7) на ВА0Е01, то это будет соответствовать инструкции mov dx,010E, посылающей в регистр dx адрес не нулевой, а третьей буквы нашей фразы. И программа после такой за­мены должна показать на экране «могу молчать!».

Попробуем проделать такую замену с помощью Hiew. Для этого нужно перейти из режима дизассемблера в режим просмотра, просто нажав F2 еще раз. Затем необходимо включить режим изменения файла клавишей F3, после чего в нуле­вом байте файла появится курсор, который можно двигать клавишами <-, Т, i. Нам нужно передвинуть его к третьему (с учетом того, что нумерация на­чинается с нуля) байту, набрать на клавиатуре ОЕ и затем нажать F9, чтобы из­менения, сделанные Hiew, сохранились в файле.

Вот и все. Теперь программа, если ее запустить, показывает на экране «могу мол­чать!», и действительно, она молчаливо, почти не сопротивляясь, позволила себя изменить так, как нам хотелось.

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

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

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

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

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


назад