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



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

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

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

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

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

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

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

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


назад