logo
КС-ZAO / Лекции ЦЭВМруский вариант11

Инструкции pushad и popad

Инструкция PUSHAD заносит в стек восемь 32-разрядных общих регистров в следующем порядке: EAX, ECX, EDX, EBX, ESP, EBP, ESI, EDI. Значение, заносимое для регистра ESP, соответствует значению регистра ESP в начале инструкции PUSHAD. Инструкция POPAD извлекает из стека семь 32-разрядных общих регистров в следующем порядке: EDI, ESI, EBP, EBX, EDX, ECX и EAX. Все эти регистры можно сохранить в стеке с помощью инструкции PUSHAD, а затем восстановить с помощью инструкции POPAD. Регистр ESP инструкцией POPAD не восстанавливается. Вместо этого выполняется выполняется увеличение на 32, чтобы отбросить блок из восьми 32-разрядных общих регистров, ранее сохраненный в стеке. Сохраненное ранее значение ESP игнорируется.