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 и команды , , , , , , , ,