Справочник по языку Ассемблера IBM PC

     

PUSHFD


(PUSH eFlags Double word register onto stack)

Размещение расширенного регистра флагов в стеке

 

Схема команды:  pushfd 

Назначение: размещение в стеке содержимого регистра флагов eflags.


Алгоритм работы:

уменьшить значение указателя стека esp на 4;

записать в вершину стека двойное слово, представляющее собой содержимое регистра eflags.

Состояние флагов после выполнения команды:

выполнение команды не влияет на флаги

Применение:


Команды pushfd и popfd используются аналогично командам pushf и popf. Команда pushfd применяется для получения содержимого регистра флагов. Как известно, прямой доступ к регистру флагов невозможен, поэтому данная команда является одной из немногих команд, позволяющих получить доступ к регистру флагов как к содержимому обычного регистра. Обратное действие, то есть восстановление — возможно измененного слова — в регистр флагов, осуществляется командой popfd. Эта команда может использоваться в программах обработки прерываний или в других случаях, когда необходимо сохранить локальный контекст процесса вычисления.

.386 ;извлечь значение регистра eflags и изменить ;значение флага cf на обратное         pushfd         pop     eax         xor     eax,01h         push    eax         popfd         

См. также: уроки 7, 10, 14, 15, 16, 17 и команды , , , , , , , ,



Содержание раздела