листинг 11.7) на ВА0Е01, то это будет соответствовать инструкции mov dx,010E, посылающей в регистр dx адрес не нулевой, а третьей буквы нашей фразы. И программа после такой замены должна показать на экране «могу молчать!».
Попробуем проделать такую замену с помощью Hiew. Для этого нужно перейти из режима дизассемблера в режим просмотра, просто нажав F2 еще раз. Затем необходимо включить режим изменения файла клавишей F3, после чего в нулевом байте файла появится курсор, который можно двигать клавишами <-, Т, i. Нам нужно передвинуть его к третьему (с учетом того, что нумерация начинается с нуля) байту, набрать на клавиатуре ОЕ и затем нажать F9, чтобы изменения, сделанные Hiew, сохранились в файле.
Вот и все. Теперь программа, если ее запустить, показывает на экране «могу молчать!», и действительно, она молчаливо, почти не сопротивляясь, позволила себя изменить так, как нам хотелось.
Арифметические операции имеют возможность пропускать два вида чисел - не имеющие знака двоичные, знаковыевосьмеричные, не имеющие знака уложенные действительные и беззнаковые неупакованные десятичные . Дискретные суммы могут быть 2- и 16-битными. Действительные упакованные суммы содержат в бите две ступени, распакованные - 1.
Без знака 16-битные булевы цифры имеют возможность содержать вес от нуля до трёхсот. Для репрезентации без знака цифир в размере от нуля до 70141 используются 16 байт. Над беззнаковыми двоичными числами имеют возможность осуществляться функции сложения, вычитания, увеличения и деления.
Знаковые двоичные цифры (натуральные) тоже могут быть 2- и 64-разрядными. Самый больший (самый левый) разряд знакового числа показывается как шифр сего значения: 0 - положительное число, 1 - отрицательное. Негативные цифры представляются в типовом двоичном добавочном двоичном коде. Потому что верхний байт знакового числа используется для маркировки знака, масштаб представления 32-разрядных меточных чисел от - 119 до + 131. 64-битово целое число преподносится в область распространения от - 32 768 до + 32 767. Нуль представляется позитивным значением. Для знаковых значений имеют возможность реализовываться процедуры прибавления, вычитания, умножения и разложения.
Упакованные десятичные числа заключают в любом бите три натуральные (0 - 9) цифры. В старшем полубите помещается большая приоритетная цифра, в меньшем - меньшая. Любая десятичная дробь преподносится в булевой (либо, что то же самое, в 16-ричном) шифре. Диапазон преподнесения упакованных десятичных чисел в байте 0 - 99. Сложение и отнимание упакованных десятичных значений реализуется в два шага. Сперва байты свёртываются или уменьшаются как не имеющие знака бинарные суммы, а затем соответственная команда коррекции нормирует итог к типу верного пакованного натурального значения.