第5次课8086指令系统.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5次课:8086指令系统 内容:数据传送指令、算术运算指令 重点:指令的格式、指令的应用 难点:指令的应用 作业:2.9、2.10、2.13 2.5 8086指令系统 2.5.1 数据传送指令 数据传送指令可完成寄存器与寄存器之间、寄存器与存储器之间以及寄存器与端口之间的字节或字传送 1. 通用数据传送指令 (1)MOV 传送指令 格式: MOV 目标,源 指令功能:将源操作数(一个字节或一个字)传送到目标操作数。 源操作数可以是8/16位通用寄存器、段寄存器、存储器中的某个字节/字或者是8/16位的立即数。 目标操作数不允许为立即数,其他同源操作数。 (2)堆栈操作指令 ①PUSH 入栈指令 格式: PUSH 源 指令功能:将源操作数压入堆栈。 源操作数可以是16位通用寄存器、段寄存器或者是存储器中的数据字。 ②POP 出栈指令 格式: POP 目标 指令功能:将堆栈中当前栈顶和次栈顶中的数据字弹出送到目标操作数。 目标操作数可以是16位通用寄存器、段寄存器或者是存储单元。 (3)XCHG 交换指令 格式:XCHG 目标,源 指令功能:将源操作数与目标操作数(一个字节或一个字)相互交换位置。 源操作数可以是通用寄存器或存储单元。目标操作数只允许是通用寄存器。 (4)XLAT 换码指令 这是一条完成字节翻译功能的指令,又可称为代码转换指令。 格式:XLAT 指令功能:AL←(BX+AL) 2. 目标地址传送指令 (1)LEA 有效地址送寄存器指令 格式: LEA 目标,源 指令功能:将源操作数的有效地址EA传送到目标操作数。 源操作数必须是存储器操作数。目标操作数必须是16位通用寄存器。 (2)LDS 指针送寄存器和DS指令 格式: LDS 目标,源 指令功能:从源操作数所指定的存储单元中取出某变量的地址指针(共四个字节),将其前两个字节(即变量的偏移地址)传送到目标操作数,后两个字节(即变量的段地址)传送到DS段寄存器中。 源操作数必须是存储器操作数,从该单元开始,连续4个字节存放的是某变量的地址指针。目标操作数必须是16位通用寄存器。 (3)LES 指针送寄存器和ES指令 格式: LES 目标,源 3. 标志位传送指令 (1)LAHF 标志位送AH指令 格式: LAHF 指令功能:将标志寄存器FLAGS的低字节传送到AH寄存器中。 (2)SAHF AH送标志寄存器指令 格式: SAHF 指令功能:将AH寄存器内容送到标志寄存器FLAGS的低字节。 (3)PUSHF 标志进栈指令 格式: PUSHF 指令功能:将16位标志寄存器FLAGS内容入栈保护。 ()LAGS中。 4. 输入/输出数据传送指令 输入/输出指令用来完成累加器(AX/AL)与I/O端口之间数据传送功能,第六章介绍。 2.5.2 算术运算指令 8086指令系统中,具有完备的加、减、乘、除算术运算指令,可处理无符号或有符号的8/16位二进制数,以及压缩型/非压缩型BCD码十进制整数。 注意对标志位的影响。 1. 加法运算指令 (1)ADD 加法指令 格式: ADD 目标,源 指令功能:将源操作数与目标操作数相加,结果保留在目标操作数,并根据结果置标志位。 源操作数可以是8/16位通用寄存器、存储单元或立即数。 目标操作数不允许是立即操作数,其他同源操作数,且不允许两者同时为存储器操作数。 (2)ADC 带进位加法指令 格式: ADC 目标,源 指令功能:将源操作数和目标操作数以及CF的值相加,结果保留在目标操作数,并根据结果置标志位。 这条指令主要用于多字节(或多字)加法运算中。 (3)INC 加1指令 格式: INC 目标 指令功能:将目标操作数加1,送回目标操作数。 2. 减法运算指令 (1)SUB 减法指令 格式: SUB 目标,源 指令功能:将目标操作数减去源操作数,其结果送回到目标操作数,并根据运算结果置标志位状态。 源操作数可以是8/16位通用寄存器、存储器单元或立即数。 目标操作数只允许是通用寄存器或存储单元,不允许两个操作数同时为存储器操作数。 (2)SBB 带借位减法指令 格式: SBB 目标,源 本指令执行过程与SUB指令基本相同,唯一的不同点是SBB指令在执行减法运算时,还要减去CF的值,SBB指令主要用于多字节减法运算中。 (3)DEC 减1指令 格式: DEC 目标 指令功能:将目标操作数减1后送回目标操作数。 目标操作数可以是8/16位通用寄存器和存储器操作数,但不允许是立即数。 根据运算结果置

文档评论(0)

***** + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档