网站大量收购独家精品文档,联系QQ:2885784924

3_2 指令系统N.ppt

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

除SAHF和POPF这两条指令外, 其余所有数据传送指令均不影响标志位 * * 长格式指令长度2字节;短格式指令长度1字节。 W表示所用寄存器是16位还是8位 * 上面四种情况清楚地说明,CF标志可用来表示无符号数的溢出,OF标志可用来表示有符号数的溢出;除此之外,两种运算可以使用一套方法 无符号数的溢出可以通过CF位进行修正 有符号数的溢出是错误,在运算过程中应避免 * OF、ZF、PF、CF、SF、AF * * Inc指令不影响CF * * BUF1+BUF2结果放在BUF1里面 * * 可以验证:指令执行前后的操作数分别是某一个负数的绝对值和补码 操作数符号位为0时,为该负数的绝对值 操作数符号位为1时,为该负数的补码 他们可以通过该指令互相转换 NEG 绝对值,得到补码;NEG 补码,得到绝对值,因此该指令被称为“求补指令” 主要用途:已知某负数的绝对值时,求此负数的补码;已知某负数的补码时,求此负数的绝对值 操作后,CF=1 * 指令的功能:对操作数(8为或16位寄存器或存储器),连符号位一起,进行逐位求反加1运算,结果回送操作数 * * * ① 比较的是两个无符号数 若CF=0,则被减数大,因大数减小数无须借位 若CF=1,则被减数小★若两个数都是正数或负数时,相减不溢出(即OF=0),可用SF来判断,若SF=0,表示被减数大,SF=1则被减数小 ★若比较的数中有一个为正,另一个为负,此时有可能出现溢出,不能单看SF状态,还需考虑OF的状态,判别条件: OF=0时,若SF=0被减数大;若SF=1减数大 OF=1时,若SF=1被减数大;若SF=0减数大 * * * 若除数为零或(由于除数很小或被除数很大,如FFFFH/01H,使得)AL中商大于FFH,或AX中商大于FFFFH,就会产生溢出,此时则CPU将产生一个类型0的除法出错中断,进行处理 * A=A XOR B B=A XOR B A=A XOR B * 特别注意零标志 * 该指令的操作为: 对字节:((ES):(DI))←(AL) 对字: ((ES):(DI))←(AX) STOS指令不影响标志位 该指令若加上重复前缀REP,则操作将一直重复进行下去,直至(CX)=0。 (5) 存串指令 STOSB/STOSW 小结 本章展开了8086/8088CPU16位指令系统的常用指令 请大家就如下几个方面进行一下总结: 操作数寻址方式和目的地址寻址方式 指令支持的操作数形式 常用指令的助记符和功能 指令对标志的影响 通过复习整理,形成指令系统的整体概念,进而掌握常用指令 指令执行 主程序与子程序 CALL label 主程序 RET 子程序 回到CALL指令后的指令处——返回地址 十六进制数转换为ASCII码的原理 主程序与中断服务程序 主程序 IRET 中断服务程序 断点 中断请求 中断请求可以来自处理器外部的中断源, 也可以由处理器执行指令引起: 例如执行INT i8指令。 * * 参见附录一P351 * * 格式说明以及MOV指令的其它格式转换参见有关汇编语言的参考书 * * * * 速度比三次MOV快。 教材P90-91。 * 交换需要在单元之间进行。 单元间数据交换的三种方法:MOV、PUSH/POP、XCHG * 将以ds:bx为首地址,al为相对位移的内存单元中的对应字节的内容送给AL 换码指令执行前: 在主存建立一个字节量表格,内含要转换成的目的代码 表格首地址存放于BX,AL存放相对表格首地址的位移量 换码指令执行后: 将AL寄存器的内容转换为目标代 * * 由于索引必须用八位的寄存器AL,其保存的最大数不超过255,所有表格长度不能超过256个字节。 抢答器实验中的数据需要用LED数码管显示,输出时应该采用数字的7段码,而0到9的7段码没有规律,需要用XLAT进行查表处理。 * 介绍LED的编码方法,如0的编码3FH。从最高位到最低位依次为:dp、g、f、e、d、c、b、a。 共阴极(高电平亮)与共阳极(低电平亮) LEA reg,mem ;将指定存储器的16位偏址送指定寄存器。指令要求源操作数必须是一个内存操作数,目的操作数必须是一个16位的通用寄存器。 * * * * 把指定存储单元的前两个字节作为16位偏移量送给指定寄存器,后两个字节的内容作为段地址送给段寄存器 * 堆栈是一种特殊的数据结构;专门处理需要按“后进先出”原则存取的数据;如: 在调用子程序时,“保存现场”----返回地址IP 在执行具有多重循环语句结构的程序时,保存外循环的循环次数计数寄存器CX的数据后,再进入内循环 在响应中断

文档评论(0)

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

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

1亿VIP精品文档

相关文档