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



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

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

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

Команды АЛУ

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

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

Меточные бинарные цифры (системные) также могут быть 2- и 64-битными. Наиболее старший (самый конечный) байт меточного суммы интерпретируется как шифр этого числа: 0 - положительное число, 1 - отрицательное. Неблагоприятные цифры представляются в стандартном бинарном добавочном шифре. Оттого что старший бит меточного числа употребляется для выражения метки, диапазон индикации 32-разрядных меточных чисел от - 130 до + 127. 32-разрядное натуральное число преподносится в диапазоне от - 32 768 до + 32 767. 0 значится положительным числом. Для меточных значений имеют возможность выполняться процедуры прибавления, вычета, умножения и дробления.

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


назад