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

CPU指令系统【DOC精选】.doc

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

第4单元 8086微处理器指令系统简介 (80X86微处理器) ? 2.4 8086 8086的汇编级指令有115条,可以分为数据传送指令、算术运算指令、位处理指令 字符串指令、程序转移指令以及处理器控制指令等6大类,下面作一简要的介绍。 ? 2.4.1 数据传送指令 数据传送指令有14条,可以分为4组,如表2-9所示。 表2-9 数据传送指令 通用数据传送指令 地址目标传送指令 MOV PUSH POP XCHG XLAT 传送字节或字 字进栈 字出栈 交换字节或字 字节转换 LEA LDS LES 装入有效地址 将指针变量装入寄存器及DS 将指针变量装入寄存器ES I/O指令 标志传送指令 IN OUT 输入字节或字 输出字节或字 LAHF SAHF PUSHF POPF 标志寄存器低字节送AH AH值送标志寄存器低字节 标志寄存器内容进栈 标志寄存器内容出栈 ? 1.注意点 (1)在数据传送指令中要注意: ①立即数只能作为源操作数; ②无存储器之间直接传送与交换的指令; ③不能用传送指令给CS和IP置新指值; ④没有用立即数对段寄存器直接置值的指令。 (2)除SAHF和POPF指令外,传送指令皆不影响标志寄存器的值。 (3)除XCHG、XLAT指令外,皆不破坏源操作数。 (4)XCHG指令不能用段寄存器作为操作数。 (5)栈操作指令PUSH和POP必须以字为操作数。 ? 2.几条指令的说明 (1)指令MOV AL,VAR1。若VAR1为已定义的变量,则VAR1在指令中表示以VAR1为地址的内存单元的内容,该指令是把内存单元的一个字节传送到AL。 (2)指令XLAT。其功能为AL←[(BX)+(AL)]即以BX值加上AL值作为地址,取出该地址对应的内存内容送AL。该指令通常用于表格检索中,源操作数中BX内放表的首地址,AL中存放变址值,(BX)+(AL)为新地址,目的操作数AL注明为字节操作。在使用该指令前,必须先对AL和BX赋值。 (3)指令LEA REG,SRC。要求源操作数SRC是一个可以计算出有效地址EA的地址表达式,该指令所传送的是变量的地址(有效地址),而不是变量所表示的内存之值。 (4)指令LES REG,SRC。REG为一个16位寄存器,这是一条16位传送指令。 其功能为REG←[SRC],ES←[SRC+2] 而指令LDS REG,SRC的第二个目的操作数在DS。 (5)输入/输出指令。 IN AL,PORT AL←[PORT] IN AX,FORT AX←[PORT+1:PORT] IN AL,DX AL←[PORTDX] INAX, DX AX←[PORTDX+1:PORTDX] PORT为8位端口地址,PORTDX表示DX中存放16位端口地址。[PORT+1:PORT]表示一个16位数据,其高8位由PORT+1端口提供;其低8位由PORT端口提供。 ? 2.4.2 算术运算指令 算术运算指令有20条,可以分为4组,如表2-10所示。 表2-10 算术运算指令 加法指令 减法指令 ADD ADC INC AAA DAA 加法 带进位的加法 增量 加法的ASCII修正 加法的十进制修正 SUB SBB DEC NEG CMP AAS DAS 减法 带错位的减法 减量 求补 比较 减法的ASCII修正 减法的十进制修正 I/O指令 除法指令 IN OUT 输入字节或字 输出字节或字 DIV IDIV AAD CBW CWD 无符号数除法 整数除法 除法的ASCII修正 字节转换为字 字转换为双字 1.数据类型 8086的算术运算可以处理4种类型的数:无符号二进制数、带符号二进制数、压缩的BCD码(十进制数)和非压缩的BCD码(十进制数),如表2-11所示。 表2-11 8位数在算术运算中的含义 HEX十六进制 位组合格式 无符号二进制数 带符号二进制数 压缩的BCD码 非压缩的BCD码 07 89 C5100010017 137 197 +7 -119 -59 7 89 无效 7 无效 无效 2.注意点 (1)加减运算指令ADD、ADC、SUB、SBB和CMP可用立即数作为一个源操作数。 (2)除CBW和CWD两条指令外,其余算术运算指令皆影响标

文档评论(0)

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

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

1亿VIP精品文档

相关文档