- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
8086/8088指令系统包含133条基本指令,这些指令与寻址方式组合,再加上不同的数据形式——有的为字处理,有的为字节处理,可构成上千种指令。这些指令按功能可分为六类: 和8位微处理器比较,功能有了很大扩充主要表现在: 对操作数的正确书写和认识其为何种类型; 指令执行后对标志F的影响要非常清楚。 为方便讲解指令而要用到的一些符号做一介绍: R 如果是8位操作,则表示AH、AL、BH、BL、 CH、CL、DH、DL; 若是16位操作,则表示AX、BX、CX、DX、 SP、BP、SI、DI。 port 一个输入/输出(I/O)端口,用数字或表达 式表示,端口号≤255。 disp 8位或16位位移量,在汇编语言中常用符 号地址来表示。 Im 8位或16位立即数。 src,dst 源和目的操作数。 ( ) 用来表示存储单元或I/O端口中的内容。 一、数据传送(Data Transfer)类指令 1. 通用传送指令 指令格式: MOV dst ,src ;dst ? src 其中,源操作数src和目的源操作数dst均可采用多种寻址方式,不影响标志寄存器F。 R ? R传送实例 MOV AX,BX ;BX中16位数据传送到AX MOV SI, BP ;BP中16位数据传送到SI MOV AH,BL ;BL中8位数据传送到AH R ? 段R传送实例 MOV DS,AX ;AX中16位数据传送到DS MOV AX,ES ;ES中16位数据传送到AX R ? Im传送实例 MOV AX,03FFH ;执行后AX=03FFH MOV SP,2000H ;执行后SP=2000H MOV BX,1000 ;执行后BX=03E8H MOV SI,057BH ;执行后SI=057BH MOV CL, ′ * ′ ;执行后CL=2AH(*的ASCII码) M ? Im传送实例 MOV [2000H],6789H ;执行后(2000H)=89H,(2001H)=67H R ? M传送实例 MOV AL,BUFFER ;将DS段BUFFER单元的内容送AL MOV AX,[SI] ;将DS段SI和SI+1所指单元的内容送AX 段R ? M传送实例 MOV DS,[2000H] ;将2000H和2001H两存储单元的内容送DS MOV [BX][SI],CS ;CS内容送DS段BX+SI所指的字存储单元 需要注意的问题: ① 操作数的类型要匹配,要么8位,要么16位, 这决定于R是8位还是16位,也取于立即数的 形式。下面的使用是错误的: MOV BX,AL × MOV CL,1234H × ② 不允许在段R之间直接传送信息。 ③ 不能用CS和IP作目的操作数,CS和IP的内容 可以了解,但不能随便修改。 如何实现M?M呢?可以借助R为桥梁: MOV AL,[SI] ;通过AL实现两存储单元 MOV [DI],AL ;间的8位信息传送。 (2)堆栈操作指令 指令格式: PUSH src 指令功能: SP?SP–1,(SP)?srcH,SP?SP–1,(SP)?srcL 标志寄存器:不影响 堆栈操作注意事项: 堆栈栈顶隐含寻址,src、dst可以是R、段R、存储器(可使用各种存储器寻址方式)或标志寄存器F。 8086/8088堆栈操作都是字操作,而不允许对字节操作,因此,若写PUSH AL是错误的。 8086/8088栈顶是所谓的实栈顶。 POPF执行后,要影响F的当前状态。 在使用堆栈操作保存多个寄存器内容和恢复多个寄存器时,要按“先进后出”原则来组织进栈和出栈的顺序。 利用指令来实现 AX ? BX ? CX 堆栈、堆栈区 ▲堆栈是以“先进后出”,或者LIFO“后进先出”方式工作的一个存储区,它只有一个出入口。 ▲堆栈指针SP指示堆栈的出入口,SP任何时候都指向当前的栈顶。 指令格式: XCHG dst,src 执行操作: dst ? src 交换指令可实现CPU内部R之间,或内部R与M之间的内容(字节或字)交换,不影响标志寄存器F。 XCHG dst,src 指令应注意: ① dst 和 src 不能同时为存储器操作数; ② 任一个操作数都不能使用段寄存器和IP,也不 能使用
文档评论(0)