⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pusha.htm

📁 Programmer s Reference Manual is an improtant book on Intel processor architecture and programming.
💻 HTM
字号:
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"><HTML><HEAD><TITLE>80386 Programmer's Reference Manual -- Opcode PUSHA</TITLE></HEAD><BODY><B>up:</B> <A HREF="c17.htm">Chapter 17 -- 80386 Instruction Set</A><BR><B>prev:</B><A HREF="PUSH.htm"> PUSH Push Operand onto the Stack</A><BR><B>next:</B><A HREF="PUSHF.htm"> PUSHF/PUSHFD Push Flags Register onto the Stack</A><P><HR><P><H1>PUSHA/PUSHAD -- Push all General Registers</H1><PRE>Opcode  Instruction  Clocks   Description60      PUSHA        18       Push AX, CX, DX, BX, original SP, BP, SI, and                              DI60      PUSHAD       18       Push EAX, ECX, EDX, EBX, original ESP, EBP,                              ESI, and EDI</PRE><H2>Operation</H2><PRE>IF OperandSize = 16 (* PUSHA instruction *)THEN   Temp := (SP);   Push(AX);   Push(CX);   Push(DX);   Push(BX);   Push(Temp);   Push(BP);   Push(SI);   Push(DI);ELSE (* OperandSize = 32, PUSHAD instruction *)   Temp := (ESP);   Push(EAX);   Push(ECX);   Push(EDX);   Push(EBX);   Push(Temp);   Push(EBP);   Push(ESI);   Push(EDI);FI;</PRE><H2>Description</H2>PUSHA and PUSHAD save the 16-bit or 32-bit general registers,respectively, on the 80386 stack. PUSHA decrements the stack pointer(SP) by 16 to hold the eight word values. PUSHAD decrements thestack pointer (ESP) by 32 to hold the eight doubleword values. Becausethe registers are pushed onto the stack in the order in which they weregiven, they appear in the 16 or 32 new stack bytes in reverse order. Thelast register pushed is DI or EDI.<H2>Flags Affected</H2>None<H2>Protected Mode Exceptions</H2>#SS(0) if the starting or ending stack address is outside the stack segmentlimit; #PF(fault-code) for a page fault<H2>Real Address Mode Exceptions</H2>Before executing PUSHA or PUSHAD, the 80386 shuts down if SP orESP equals 1, 3, or 5; if SP or ESP equals 7, 9, 11, 13, or 15, exception13 occurs<H2>Virtual 8086 Mode Exceptions</H2>Same exceptions as in real-address mode; #PF(fault-code) for a pagefault<P><HR><P><B>up:</B> <A HREF="c17.htm">Chapter 17 -- 80386 Instruction Set</A><BR><B>prev:</B><A HREF="PUSH.htm"> PUSH Push Operand onto the Stack</A><BR><B>next:</B><A HREF="PUSHF.htm"> PUSHF/PUSHFD Push Flags Register onto the Stack</A></BODY>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -