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



Наоборот, защищенный режим процессора инте­ресен тем, что программа работает с логическими адресами, а процессор незримо преобразует их в физические.

Наверное, вы уже догадались, что система Windows использует защищенный ре­жим работы процессора. Современные операционные системы и программы тре­буют столько памяти, что защищенный режим работы процессора стал гораздо «реальнее» его реального режима. А это значит, что программы, написанные для DOS, тоже выполняются в защищенном режиме, то есть адреса, бывшие некогда физическими, таковыми быть перестали. Программе для DOS операционная сис­тема выделяет логическое адресное пространство, которое не отличается от того, что было в реальном режиме. Но на самом деле система незаметно использует совсем другие адреса. Поскольку Windows — система многозадачная, она может выполнять одновременно множество программ для DOS, причем каждая DOS-программа чувствует себя так, как будто она одна выполняется процессором.

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

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

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

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

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


назад далее