X86 PUSHA指令详解
来源:互联网 发布:店铺电脑收银软件 编辑:程序博客网 时间:2024/06/05 08:45
SDM指令功能描述(PUSHA)
总体描述:
按照顺序将general-purpose寄存器压到栈上。按照当前的操作数宽度属性:
32:
EAX ECX EDX EBX ESP EBP ESI EDI
16:
AX CX DX BX SP BP SI DI
在实模式下,如果ESP/SP的值是1 3 5的时候,使用了PUSHA或PUSHAD指令则会触发#SS异常
注:D/B flag在代码段中表示指令引用有效地址和操作数的长度 此指令不可在64位下使用
伪代码:
64bit mode#UDif(操作数宽度是32) PUSHAD{ temp = ESP PUSH(EAX) PUSH(ECX) PUSH(EDX) PUSH(EBX) PUSH(temp) PUSH(EBP) PUSH(ESI) PUSH(EDI)}else PUSHA{ temp = SP PUSH(AX) PUSH(CX) PUSH(DX) PUSH(BX) PUSH(temp) PUSH(BP) PUSH(SI) PUSH(DI)}
阅读全文
0 0
- X86 PUSHA指令详解
- PUSHA/PUSHAD POPA/POPAD 指令详解
- x86汇编指令详解
- x86汇编指令详解 .
- x86汇编指令详解
- x86汇编指令详解
- x86汇编指令详解
- x86汇编指令详解
- x86汇编指令详解
- x86汇编指令详解
- x86汇编指令详解 .
- x86汇编指令详解
- x86汇编指令详解
- x86汇编指令详解
- x86汇编指令详解
- X86 LEA指令详解
- X86 LSS指令详解
- X86 PUSH指令详解
- 使用opencv做双目测距(相机标定+立体匹配+测距)
- MFC多线程的创建,包括工作线程和用户界面线程
- Loadrunner12安装及汉化(中文语言包安装)
- API接口待续
- Android 好的文章網誌
- X86 PUSHA指令详解
- 第一次做打款定时器,改了好多错,纪念一下;
- mybatis和hibernate的本质区别和应用场景
- Android自定义控件:滑动开关机
- (忘了标题的~)Anconda2 & Anconda3安装教程:
- 自己整理的前端面试的东西
- 金蝶EAS,代码调用编码规则,注意上下文及接口实例
- 丹尼尔·惠灵顿(Daniel Wellington)选择一洽的理由
- 样式表继承性、层叠性和优先级的浅析