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

PUSHAD


(PUSH All general Double word registers onto stack)

Размещение всех регистров общего назначения в стеке

 

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

Назначение: размещение в стеке регистров общего назначения в следующей последовательности: eax, ecx, edx, ebx, esp, ebp, esi, edi.


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

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

включить в стек последовательно значения регистров общего назначения eax, ecx, edx, ebx, esp, ebp, esi, edi. Содержимое edi при этом будет на вершине стека. Содержимое esp включается по состоянию на момент, предшествовавший выполнению данной команды.

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

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

Применение:


Команда pushad используется совместно с командой popad для сохранения и восстановления всех регистров общего назначения. Эти команды используются аналогично командам popa и pusha.

.386 my_proc proc    near         pushad ;тело процедуры, в которой изменяется ;содержимое регистров общего назначения ...         popad         ret         endp         

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



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