- 1、本文档共43页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
传送字节或字字进栈字出栈交换字节或字字节转换
LEALDSLES
装入有效地址将指针变量装入寄存器及DS将指针变量装入寄存器ES
I/O指令
标志传送指令
INOUT
输入字节或字输出字节或字
LAHFSAHFPUSHFPOPF
标志寄存器低字节送AHAH值送标志寄存器低字节标志寄存器内容进栈标志寄存器内容出栈
? 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
ADCINCAAADAA
加法带进位的加法增量加法的ASCII修正加法的十进制修正
SUBSBBDECNEGCMPAASDAS
减法带错位的减法减量求补比较减法的ASCII修正减法的十进制修正
I/O指令
除法指令
INOUT
输入字节或字输出字节或字
DIVIDIVAADCBWCWD
无符号数除法整数除法除法的ASCII修正字节转换为字字转换为双字
1.数据类型
8086的算术运算可以处理4种类型的数:无符号二进制数、带符号二进制数、压缩的BCD码(十进制数)和非压缩的BCD码(十进制数),如表2-11所示。
表2-11 8位数在算术运算中的含义
HEX十六进制
位组合格式
无符号二进制数
带符号二进制数
压缩的BCD码
非压缩的BCD码
0789C5100010017137197
+7-119-59
789无效
7无效
无效
2.注意点
(1)加减运算指令ADD、ADC、SUB、SBB和CMP可用立即数作为一个源操作数。 (2)除CBW和CWD两条指令外,其余算术运算指令皆影响标
您可能关注的文档
- ContentServer(俄亥俄大学).pdf【DOC精选】.doc
- Copula理论及MATLAB应用实例【DOC精选】.doc
- Copy of 电子器件英文及缩写【DOC精选】.doc
- CORELDRAW 使用技巧【DOC精选】.doc
- CORELDRAW 使用技巧【DOC精选】.doc
- CORBA规范综述【DOC精选】.doc
- Coreldraw简单使用方法【DOC精选】.doc
- Cortex A【DOC精选】.doc
- course design【DOC精选】.doc
- course design2【DOC精选】.doc
- 2-红河州建筑施工安全生产标准化工地复核评分表(2022年修改版).docx
- 6.锡通项目2018年下半年工作会汇报材料(2018.7.9).docx
- 2018道路工程知识点汇总(新版).docx
- 附件3:月度生产例会安全汇报资料-站台门项目部.docx
- 附件2:广东建工集团2018年度科技成果汇总表.DOC
- 马武停车区、三汇停车区停车位管理系统,0#台账缺量.doc
- 攀成钢委办发〔2015〕19号(党风廉政建设责任考核与追究办法).doc
- 1-红河州建筑工程质量管理标准化复核评分表(2022年修改版).docx
- 中交第三公路工程局第四工程分公司项目经济合同结算管理办法(修订).doc
- 厂站安全操作规程汇编.doc
文档评论(0)