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



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

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

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

Команды вычисления

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

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

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

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


назад далее