- 1、本文档共246页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5. 中断指令 中断(Interrupt)是又一种改变程序执行顺序的方法 8088CPU支持256个中断,每个中断用一个编号(中断向量号)区别 中断指令有3条: INT i8 IRET INTO 本节主要掌握类似子程序调用指令的中断调用指令INT i8,进而掌握系统功能调用 中断指令的用途: 用户程序可通过中断指令调用操作系统提供的特殊子程序(称为系统功能调用)。 用来实现一些特殊的功能。如调试程序时单步、断点等。 调用BIOS提供的硬件低层调用。 串存储指令例—将内存某个区域清零 设计思想: 区域首地址送ES:DI 串长度送CX 置方向标志DF 0送累加器AL 执行串送存指令 例:将首地址为DS:SRC的字节数据串中非0元素送到首地址为ES:DEST的内存区中,字符串长度为N。 CLD ;DF=0,增量方向 LEA SI,SRC ;DS:SI←字符串首地址 LEA DI,ES:DEST;ES:DI←目标地址 MOV CX,N ;字符串长度 GOON:LODSB ;取字符串的一个元素 CMP AL,0 ;字符串元素为0吗? JZ NEXT ;是0,继续下一个元素 STOSB ;非0,存入首地址为ES:DEST的内存区中 NEXT:DEC CX JNE GOON 串指令使用总结 五、程序控制指令 程序控制指令用于实现分支、循环、过程等程序结构,是仅次于传送指令的常用指令 重点掌握: JMP/Jcc/LOOP CALL/RET INT n/IRET 控制转移类指令通过改变IP(和CS)值,实现程序执行顺序的改变 目标地址的寻址方式 相对寻址方式 指令代码中提供目的地址相对于当前IP的位移量,转移到的目的地址(转移后的IP值)就是当前IP值加上位移量 直接寻址方式 指令代码中提供目的逻辑地址,转移后的CS和IP值直接来自指令操作码后的目的地址操作数 间接寻址方式 指令代码中指示寄存器或存储单元,目的地址从寄存器或存储单元中间接获得 用标号表达 用标号表达 用寄存器或存储器操作数表达 目标地址的寻址范围:段内寻址 段内转移——近转移(near) 在当前代码段64KB范围内转移( ±32KB范围) 不需要更改CS段地址,只要改变IP偏移地址 段内转移——短转移(short) 转移范围可以用一个字节表达,在段内-128~+127范围的转移 代码段 代码段 目标地址的寻址范围:段间寻址 段间转移——远转移(far) 从当前代码段跳转到另一个代码段,可以在1MB范围 需要更改CS段地址和IP偏移地址 目标地址必须用一个32位数表达,叫做32位远指针,它就是逻辑地址 代码段 代码段 实际编程时,汇编程序会根据目标地址的属性,自动处理成短转移、近转移或远转移 程序员可用操作符short、near ptr 或far ptr 强制成为需要的转移类型 1.无条件转移指令 只要执行无条件转移指令JMP,就使程序转到指定的目标地址,从目标地址处开始执行指令 操作数label是要转移到的目标地址(目的地址、转移地址) JMP指令分成4种类型: ⑴ 段内转移、相对寻址 ⑵ 段内转移、间接寻址 ⑶ 段间转移、直接寻址 ⑷ 段间转移、间接寻址 JMP label ;程序转向label标号指定的地址 无条件转移指令JMP(jump) JMP label ;段内转移、相对寻址 ;IP←IP+位移量 JMP r16/m16 ;段内转移、间接寻址 ;IP←r16/m16 JMP far ptr label ;段间转移、直接寻址 ;IP←偏移地址,CS←段地址 JMP far ptr mem ;段间转移,间接寻址 ;IP←[mem],CS←[mem+2] 2.条件转移指令 条件转移指令Jcc根据指定的条件确定程序是否发生转移。其通用格式为: Jcc label ;条件满足,发生转移 ;IP←IP+8位位移量; ;否则,顺序执行 label是一个标号、一个8位位移量,表示Jcc指令后的那条指令的偏移地址,到目标指令的偏移地址的地址位移 label只支持短转移的相对寻址方式 Jcc指令的分类 Jcc指令不影响标志,但要利用标志 根据利用的标志位不同,分成三种情况: ⑴ 判断单个标志位状态 ⑵ 比较无符号数高低 ⑶ 比较有符号数大小 Jcc指令实际虽然只有18条,但却有30个助记符 采用多个助记符,目的是为了方便记忆和使用 判断单个标志位状态 ⑴ JZ/JE和JNZ/JN
您可能关注的文档
- (推荐) 考研英语词汇 词根+联想记忆.doc
- [北京交通大学信号与系统课件]ch3-2连续时间LTI系统的响应.doc
- [北京交通大学信号与系统课件]ch3-5离散时间LTI系统的响应.doc
- [北京交通大学信号与系统课件]ch4-4连续时间Fourier变换的性质.doc
- [北京交通大学信号与系统课件]第八章离散时间信号与系统的Z域分析.doc
- [附答案]北京市朝阳区2016届九年级上学期期末考试物理试卷.doc
- “缤蔓”女装专卖店营运手册.doc
- 第一章习题解答.doc
- 《财务会计理论》(第6版,威廉.R.斯科特)英文版教材PPT-5.ppt
- 电大《计算机应用基础》(Win7)形成性考核册答案1-4完整版.docx
文档评论(0)