CH3(2) 8086的指令系统 - 副本.ppt

CH3(2) 8086的指令系统 - 副本.ppt

ID:48788271

大小:816.00 KB

页数:62页

时间:2020-01-27

CH3(2) 8086的指令系统 - 副本.ppt_第1页
CH3(2) 8086的指令系统 - 副本.ppt_第2页
CH3(2) 8086的指令系统 - 副本.ppt_第3页
CH3(2) 8086的指令系统 - 副本.ppt_第4页
CH3(2) 8086的指令系统 - 副本.ppt_第5页
资源描述:

《CH3(2) 8086的指令系统 - 副本.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、8086的寻址方式和指令系统第三章3.18086的寻址方式3.2指令的机器码表示方法(自学)3.38086的指令系统指令:控制计算机完成指定操作的命令;指令系统:CPU所有指令及其使用规则的集合;8086的指令系统包含133条基本指令(92种),按功能可以分为6类:数据传送指令算术运算指令逻辑运算与移位指令字符串处理指令控制转移指令处理器控制指令掌握:常用指令的格式、功能、注意事项及对标志影响和应用缩写与符号意义oprsrcdstAcADDRCOUNTDATAMEMMEM/REGPORTREGSEGBA(X)操作数源操作数目的操

2、作数累加器。8位用AL,16位用AX地址。常用标号来表示计数。1或CL的内容立即数。8位/16位存储器操作数存储器或寄存器操作数I/O端口,端口号:00H~FFH寄存器操作数,通用寄存器段寄存器相互交换以A代替B(X)的内容常用缩写与符号说明一、数据传送指令二、算术运算指令三、逻辑运算与移位指令四、控制转移指令五、字符串处理指令六、处理器控制指令3.38086的指令系统共14条,P70表3-3,除SAHF/POPF均不影响Flag一、数据传送指令出栈,并送入标志寄存器POPF输出OUT标志寄存器入栈指令PUSHF输入INAH内容装入标

3、志寄存器低字节SAHF输入输出指令标志寄存器低字节装入AHLAHF表转换XLAT标志传送指令交换字或字节XCHG装入附加段寄存器LES出栈指令POP装入数据段寄存器LDS入栈指令PUSH装入有效地址LEA字节或字传送MOV地址目标传送指令通用数据传送指令掌握:MOV、PUSH、POP、XCHG、XLAT、IN、OUT、LEA、LDS、LES1、最基本的传送指令MOV格式:MOV目的,源功能:将源操作数(字或字节)传送到目的操作数传送途径:例:MOVCX,6080HMOVAX,CXMOV[1234H],AX通用REGAXAHBXALCX

4、BHDXBLSICHDICLSPDHBPDL段寄存器CS,DS,ES,SS立即数存储器注意:opr不能为IP立即数和CS不能作dst不允许mem←mem不允许seg←seg不允许seg←立即数至少要有一个opr明确说明传送的是字节还是字;用AX作桥梁如:MOVAX,SSMOVDS,AX如:MOVAX,IP(×)MOVCS,AX(×)最基本的传送指令MOV(续)如:MOV[100H],12H(×)MOVWORDPTR[100H],12H√PUSH指令格式:PUSH源功能:将源操作数压入堆栈过程:SP新←SP原-2,(SP新+1,SP新)

5、←源POP指令格式:POP目的功能:将堆栈中数据弹出至目的操作数过程:目的←(SP原+1,SP原),SP新←SP原+2;2、堆栈操作指令PUSH、POP操作数可以是通用寄存器、段寄存器或存储单元例:PUSHAXPOPAX注意:堆栈操作按字进行,SP自动增减量(-2,+2)CS内容可压栈,但不能弹出一个字到CS中。PUSHCS(√)、POPCS(×)立即数不能做堆栈指令的操作数PUSH100H(×)、POP100H(×)堆栈操作指令PUSH、POP(续)PUSH、POP指令实例格式:XCHG目的,源功能:源操作数、目的操作数交换数据例:

6、XCHGAX,[BX+200H]设AX=2000H,DS=3000H,BX=1800H,(31A00H)=1995H,则指令执行后,结果如何?解:把内存中的一个字与AX中的内容进行交换。src物理地址=3000×10H+1800H+200H=31A00H,指令执行后:AX=1995H,(31A00H)=2000H3、交换指令XCHG思考:上例中若执行XCHGAH,[BX+200H],结果如何?结果:AH=95H,(31A00H)=20H注意:两操作数中必须有一个在寄存器中;源和目地操作数长度要一致;段寄存器和立即数不能作为操作数;例:

7、XCHGBL,CXXCHG[BX],[SI]XCHGDS,[BX+0100H]格式:XLAT转换表或:XLAT功能:使累加器(AL)中的一个值变换为内存表格中的某一个值,一般用来实现代码转换,即查表功能。XLAT指令使用步骤:先在内存中建一个表格,内容是所需要转换的代码;将转换表的起始地址装入BX寄存器;欲查的某项与表头地址的位移量放入AL,即表格最多包含256个字节;执行XLAT指令后,查到转换后的代码值在AL寄存器中。4、查表指令XLAT执行过程:将BX的内容(代表数据表的首地址)和AL的内容(要查的数据与表首的距离)相加作为有效

8、地址,然后从中读出此地址单元的内容送入AL。XLAT等效为:MOVAH,00HADDBX,AXMOVAL,[BX]303132333435TABLE数据区...(1)建表TABLEDB30H,31H,32H,33H,34

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。