南京邮电大学微型计算机原理与接口技术 第3章 孙力娟.ppt

南京邮电大学微型计算机原理与接口技术 第3章 孙力娟.ppt

  1. 1、本文档共179页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
南京邮电大学微型计算机原理与接口技术 第3章 孙力娟

数据进栈过程(以16位操作数进栈为例) 高8位→SS:[SP?1] X X H X X H 1 2 H 低8位→SS:[SP?2] 3 4 H ←SP SP?2→SP 双字节操作数 高字节 低字节 堆栈区 1 2 H 3 4 H 高字节 低字节 堆栈区 X X H X X H 1 2 H 3 4 H ←SP 数据出栈过程(以16位操作数出栈为例) SS:[SP]→目标(目标寄存器,目标单元)低8位 7 8 H 5 6 H 16位目标寄存器 3 4 H 7 8 H 数据出栈过程(以16位操作数出栈为例) SS:[SP]→目标(目标寄存器,目标单元)低8位 高字节 低字节 堆栈区 X X H X X H ←SP SS:[SP+1]→目标高8位 1 2 H 16位目标寄存器 5 6 H 高字节 低字节 堆栈区 X X H X X H 1 2 H SP+2→SP 数据出栈过程(以16位操作数出栈为例) SS:[SP]→目标(目标寄存器,目标单元)低8位 SS:[SP+1]→目标高8位 ←SP 16位目标寄存器 34 H 5 6 H 高字节 低字节 堆栈区 X X H X X H 3 4 H 1 2 H SP+2→SP 数据出栈过程(以16位操作数出栈为例) SS:[SP]→目标(目标寄存器,目标单元)低8位 SS:[SP+1]→目标高8位 ←SP 16位目标寄存器 80X86的堆栈是向低地址方向延伸的,栈顶是“浮动”的 注:一次进栈、出栈的数据至少是2字节 (2) 堆栈指令 ←进栈指令 PUSH 源操作数 N16 / N32 S / R16 / R32 / M16 / M32 如: PUSH WORD PTR [BX] PUSH DWORD PTR [SI+5] 说明:非直接寻址的内存操作数,必须用PTR说明属性 ← 出栈指令 POP 目标操作数 R16 / R32 / M16 / M32 S(CS非法) 如: PUSH AX POP BX ;BX=AX 说明: 非直接寻址的内存操作数,必须用PTR说明属性 ← 16位标志寄存器进栈/出栈 PUSHF POPF ← 32位标志寄存器进栈/出栈 PUSHFD POPFD ← 16位寄存器进栈/出栈 PUSHA ;依次把AX、CX、DX、BX、SP、BP、SI、DI压栈(共2?8字节) POPA ;从栈顶弹出2?8字节依次放入DI、SI、BP、SP、BX、DX、CX、AX ⑥ 32位寄存器进栈/出栈 PUSHAD ;依次把EAX、ECX、EDX、EBX、ESP、EBP、ESI、EDI压栈 (共4?8字节) POPAD ;从栈顶弹出4?8字节依次放入EDI、ESI、EBP、ESP、EBX、EDX、ECX、EAX 第二类、算术运算 1. 二进制加法: ADD 目标操作数 ,源操作数 2. 二进制减法: SUB 目标操作数 ,源操作数 3. 二进制加进位:ADC 目标操作数 ,源操作数 4. 二进制减进位: SBB 目标操作数 ,源操作数 R/M , N/R R , M 功能: ADD :源+目→目 SUB :目–源→目 ADC :源+目+上条指令执行后的C标→目 SBB :目–源–上条指令执行后的C标→目 注:此四种操作都影响A、C、O、P、S、Z标志 说明: 源、目操作数的属性(长度)要一致 若源为单/双字节立即数,而目标为间、变、基、基+变的内存操作数,则目标要用PTR说明 如: ADD [BX] , 12H × A

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档