-----------------------------------------------------------------|Код Команда Число Описание ||операции тактовых || циклов || ||60 PUSHA 11 Помещение в стек AX, CX, DX,|| BX, исходного SP, BP, SI и DI||60 PUSHAD 11 Помещение в стек EAX, ECX, EDX,|| EBX, исходного ESP,EBP,ESI и EDI|----------------------------------------------------------------- Работа команды IF OperandSize = 16 (* Команда = PUSHA *)THEN Врем <- (SP); Push(AX); Push(CX); Push(DX); Push(BX); Push(Врем); Push(BP); Push(SI); Push(DI);ELSE (* OperandSize = 32, команда = PUSHAD *) Врем <- (ESP); Push(EAX); Push(ECX); Push(EDX); Push(EBX); Push(Врем); Push(EBP); Push(ESI); Push(EDI);FI; ОписаниеКоманды PUSHA и PUSHAD помещают в стек i486 16- или 32-битовые регистрыобщего назначения. Команда PUSHA декрементирует указатель стека (SP) на16, что соответствует восьми помещаемым значениям размером в слово.Команда PUSHAD декрементирует указатель стека (ESP) на 32, чтосоответствует восьми помещаемым значениям размером в двойное слово.Поскольку регистры помещаются в стек в данном порядке, в новом стеке онипоявятся в обратном порядке. Последним в стек помещается регистр DI илиEDI. Изменяемые флагиОтсутствуют Исключения защищенного режима#SS(0), если начальный или конечный адрес стека не находится в пределахстекового сегмента; #PF(код сбоя) в случае страничного сбоя; Исключения режима реальных адресовПеред выполнением команды PUSHA или PUSHAD процессор 386 DX переходит врежим закрытия при равенстве регистра SP или ESP 1, 3 или 5; если регистрSP или ESP равен 7, 9, 11, 13 или 15, то происходит исключение 13. Прерывание 13, если какая-либо часть операнда лежит вне пространстваисполнительных адресов от 0 до 0FFFFH. Исключения виртуального режима 8086Те же исключения, что и для режима реальных адресов: #PF (код сбоя) длястраничных сбоев.