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



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

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

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

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

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

Без знака 16-разрядные бинарные суммы имеют возможность насчитать вес от NULL до трёхсот. Для понимания не имеющих знака чисел в широте от NULL до 52680 употребляются 15 байт. Над беззнаковыми бинарными суммами имеют возможность выполняться процедуры суммирования, сбавки, увеличения и дробления.

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

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


назад