Регистры условий
Регистры условий также в определенной мере программно доступны, хотя набор операций с ними со стороны программы очень ограничен. Эти регистры (или регистр) хранят одноразрядные коды условий, которые в архитектуре фирмы Intel называют флагами. Большинство флагов устанавливается процессором в зависимости от значения результата последней выполненной арифметической или логической операции. Например, арифметическая операция может породить положительный или отрицательный результат, равный нулю или отличный от нуля, может произойти переполнение и т.д. Все эти свойства результата фиксируются в соответствующих разрядах дополнительно к собственно результату, который фиксируется в каком-либо регистре данных или в ячейке оперативной памяти. Эти признаки могут быть проанализированы при выполнении команд условного перехода.
Разряды кодов условий объединяются в один или несколько регистров условий. Обычно они включаются в регистр состояния. В общем случае эти признаки могут анализироваться машинными командами, но машинная команда не может их явно изменить. (Это возможно только при выполнении арифметической команды со специально подобранными значениями операндов.)
В некоторых архитектурах процессоров при выполнении команд вызова подпрограмм автоматически сохраняется вся информация, размещенная в программно доступных регистрах. При возврате из подпрограммы эта информация восстанавливается. Такой механизм вызова и возврата из подпрограммы позволяет каждой подпрограмме независимо пользоваться всеми регистрами. В архитектурах процессоров, где такого автоматического сохранения/восстановления регистров не происходит, заботы о сохранении информации в регистрах перекладываются на программиста.
Дата добавления: 2015-09-29; просмотров: 958;