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



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

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

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

Команды АЛУ

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

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

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

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


назад