汇编语言第3章指令系统解读.ppt

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

* * * * * * * * * * * * * * * * * * * * * * * * * * * 注意:有符号数乘法时,给出的数一般都是补码,必须先转换成源码才能相乘。 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * (3)返回指令 功能: 从堆栈中弹出断点地址,返回原程序 格式: RET RET指令一般位于子程序的最后。 中断 中断源 中断的类型 中断指令 引起CPU产生一次中断的指令 3.4.5.4 中断指令 中断与过程调用 中断是随机事件或异常事件引起,调用则是事先已在程序中安排好; 响应中断请求不仅要保护断点地址,还要保护FLAGS内容; 调用指令在指令中直接给出子程序入口地址,中断指令只给出中断向量码,入口地址则在向量码指向的内存单元中。 * (1)中断指令 格式: INT n 说明: nх4 中断类型码 n=0 ? 255 n х4 XXH XXH XXH XXH 入口的段地址 入口的偏移地址 存放中断服务子程序入口地址的单元的偏移地址 代码段 数据段 ┇ 该单元在数据段,段地址=DS ┇ 中断指令的执行过程 将FLAGS压入堆栈; 将INT指令的下一条指令的CS、IP压栈; 由n×4得到存放中断向量的地址; 将中断向量(中断服务程序入口地址)送CS和IP寄存器; 转入中断服务程序。 * 中断指令的执行过程 n×4 22H 11H 00H 67H IP CS 68122H MOV 代码段 数据段 ┇ 堆栈段 SP FLAGSH FLAGSL IPH CSL CSH IPL ┇ SP SP SP 例 执行程序段: CS IP ┇ 6200H:0110H INT 21H 6200H:0112H MOV AX,BX ┇ 12H 01H 00H 62H SP=1200 FLAGSL FLAGSH SP=11FA 执行INT指令后 堆栈段 * 执行INT 21H指令后 IP=[21Hх4] CS==[(21Hх4)+2] 0084H 23H 11H 00H 20H IP CS 数据段 ┇ ┇ ┇ 代码段 XX 21123H 中断服务子程序 (2)溢出中断指令 格式: INTO 若OF=1,则启动一个类型为4的中断过程,给出一个出错标志,如果OF=0,不做任何操作。 INTO指令通常安排在有符号数加减运算指令之后。 相当于 INT 4 (3)中断返回指令 格式: IRET 中断服务程序的最后一条指令,负责 恢复断点 恢复标志寄存器内容 (6)处理器控制指令 对标志位的操作 与外部设备的同步 结束语 掌握: 指令的格式及意义; 指令对操作数的要求及对标志位的影响; 指令的应用。 * * * * * * * * * * * * * * * * * * * (5)串存储指令 格式: STOS OPRD STOSB STOSW 操作: 对字节: AL 对 字: AX 目 标 操作数 [ES:DI] [ES:DI] 常用于将内存某个区域置同样的值 此时: 将待送存的数据放入AL(字节数)或AX(字数据) 确定操作方向(增地址/减地址)和区域大小(串长度值) 使用串存储指令+无条件重复前缀,实现数据传送 例 将内存某单元清零。设计思想如下: 区域首地址送ES:DI 串长度送CX 置方向标志DF 0送累加器AL 执行串送存指令 转移指令 循环控制 过程调用 中断控制 3.4.5 程序控制指令 程序的执行方向 程序控制类指令的本质是: 控制程序的执行方向 决定程序执行方向的因素: CS,IP 控制程序执行方向的方法: 修改CS和IP,则程序转向另一个代码段执行;仅修改 IP,则程序将改变当前的执行顺序,转向本代码段内其它某处执行。 无条件转移指令 无条件转移到目标地址,执行新的指令 有条件转移指令 在具备一定条件的情况下转移到目标地址 通过修改指令的偏移地址或段地址及偏移地址实现程序的转移 3.4.5.1 转移指令 (1)无条件转移指令 JMP OPRD 目标地址 与JMP在同一代码段 与JMP不在同一代码段 原则上可实现在整个内存空间的转移 无条件段内转移 转移的目标地址在当前代码段内,段地址不改变。 即:目标地址是

文档评论(0)

22ffbqq + 关注
内容提供者

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

1亿VIP精品文档

相关文档