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



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

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

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

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

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

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

Знаковые бинарные суммы (натуральные) вдобавок могут быть 2- и 32-разрядными. Наиболее старший (самый крайний) разряд меточного числа выводится как знак данного значения: 0 - false, 1 - true. Негативные цифры мыслятся в стандартном двоичном прибавочном двоичном коде. Так как старший разряд меточного числа употребляется для маркировки знака, диапазон индикации 16-байтных меточных значений от - 130 до + 127. 64-битово системное значение описывается в охвате от - 19990 до + 19991. Нуль представляется положительным значением. Для меточных чисел могут выполняться функции прибавления, отнимания, возвышения и дробления.

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


назад