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



Поэтому устройство, когда это ему необходимо, должно заставить процессор работать на себя, послав ему запрос на прерывание и его номер. Если прерывания разрешены, процессор запоминает в стеке адрес возврата и регистр флагов, полу­чает адрес программы, обрабатывающей прерывание, делает что требуется, пока не встретит инструкцию i ret, возвращающую его к прерванной работе.

Теперь становится понятно, почему прерывание требует сохранять в стеке не толь­ко адрес возврата, но и регистр флагов. Ведь аппаратное прерывание, в отличие от программного, возникает в случайный момент времени. И может, например, попасть между операцией сравнения и инструкцией перехода: cmp ах. О <прерывание> jnz label

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

Команды ПЗУ

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

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

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

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


назад далее