微机原理--第3章8086指令系统--2.ppt

微机原理--第3章8086指令系统--2.ppt

ID:49222244

大小:1.64 MB

页数:112页

时间:2020-02-02

微机原理--第3章8086指令系统--2.ppt_第1页
微机原理--第3章8086指令系统--2.ppt_第2页
微机原理--第3章8086指令系统--2.ppt_第3页
微机原理--第3章8086指令系统--2.ppt_第4页
微机原理--第3章8086指令系统--2.ppt_第5页
资源描述:

《微机原理--第3章8086指令系统--2.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、JUST第三章8086指令系统--23.48086的通用指令JUST3.48086的通用指令可以分为以下六类:数据传送指令算术运算指令逻辑运算和移位指令串操作指令控制转移指令处理器控制指令JUST3.4.1数据传送指令包括:通用传送指令;累加器专用传送指令;地址传送指令;标志传送指令;1、通用传送指令1)基本传送指令(MOV)指令格式:MOVDST,SRC;操作:将SRC内容赋给DST。所有通用传送指令都不影响标志位。JUST注意:不能用MOV指令实现以下传送存储器操作数之间不能直接传送MOV[1000H],[DI]错应

2、改为MOVAX,[DI]MOV[1000H],AX立即数不能直接传送段寄存器MOVDS,2000H错应改为MOVAX,2000HMOVDS,AXJUST段寄存器之间不能直接传送MOVES,DS;错应改为MOVBX,DSMOVES,BXCS只可以作为源操作数例:MOVCS,AX;错MOVAX,CS;对源操作数和目的操作数的宽度必须相同JUST立即数段寄存器存储器(各种寻址)通用寄存器JUST2)堆栈指令(PUSH、POP)堆栈(STACK)的概念数据的存储按后进先出(LastInFirstOut——LIFO)原则组织的一段

3、内存区域。JUST堆栈用途存放寄存器或存储器中暂时不使用的数据,在使用这些数据时可方便地将其弹出;调用子程序或发生中断时要保护断点信息(入栈),子程序或中断返回时恢复断点信息(出栈)。JUST堆栈用途如下图JUST断点信息:程序断点地址、标志寄存器及其它能被子程序使用和改变的寄存器。JUST8086使用段寄存器SS和指针寄存器SP管理堆栈SS决定了堆栈区的首地址,SP的初始值决定了堆栈区的末地址,堆栈区的最大长度随之而定数据入栈时,SP做减量调整,SP指示的单元称为“栈顶”,即栈顶向下延伸;SP永远指向刚刚入栈的数据数据

4、出栈时,SP做增量调整,即栈顶向上延伸SP永远指向将要出栈的数据。SS:0000HSS:SP堆栈区数据入栈数据出栈入栈的数据全部出完,SP恢复初始值。JUST入栈指令(PUSH):格式:PUSHsrc操作过程分两步完成:(SP)(SP)-2((SP)+1,(SP))(src)功能:把一个字压入由SP指向的堆栈区。如:PUSHAXJUST例1:PUSH[BX];(设DS:[BX]字单元数据为55AAH)xxHxxHxxHAAH55HxxHSS:[SP]指令执行前指令执行后SS:[SP]高位地址低位地址JUST出栈指令(

5、POP)格式:POPdst;操作:(dst)((SP)+1,(SP))(SP)(SP)+2功能:把SP所指向的堆栈顶部的一个字送入目的地址,同时进行修改堆栈指针。如:POPBXPOPAXJUST例2:POPBX;设接在例1后执行。AAH55HxxHSS:[SP]指令执行前AAH55HxxHSS:[SP]指令执行后55AAHBXJUST应注意的问题堆栈操作都按字操作,“PUSHAL”为错误指令;PUSH,POP指令的操作数可以是寄存器或存储单元;PUSHCS合法,POPCS非法;执行PUSH指令,(SP)-2(SP)

6、,低字节放在低地址,高字节放在高地址;SP总是指向栈顶;堆栈最大容量即为SP的初值;堆栈中的数据弹出后,数据并没有在堆栈中消失,除非压入新数据,画图时注意;使用堆栈指令保护和恢复现场时,要注意指令的排列顺序,如:PUSHAXPUSHBXPUSHDS......POPDSPOPBXPOPAX堆栈复习SP的初值为1000H,SS=2000H,AX=3040H,BX=5060H,试问:(1)该堆栈段的首地址是多少?末地址是多少?(2)执行指令PUSHAX后,SP的值为多少?(3)再执行PUSHBX及POPAX后,SP、AX、B

7、X的值为多少?(4)此时,SP所指内存空间的数据为多少?JUSTJUST3)交换指令(XCHG)格式:XCHGdst,src;(dst)(src)可以实现:寄存器之间寄存器和存储器之间注意:存储器之间不能直接交换;段寄存器不能作为操作数;允许字或字节操作。了解!!JUST2、累加器专用传送指令1)输入指令(IN)功能:用于CPU从外设端口接收数据。具体形式有四种:INAL,data8;从8位端口地址输入一个字节INAX,data8;从8位端口地址输入一个字INAL,DX;从16位端口地址输入一个字节INAX,DX;从1

8、6位端口地址输入一个字JUST例1:INAL,80H;从地址为80H的端口读入一个字节;例2:MOVDX,1020H;将16位端口地址赋给DXINAX,DX;从(DX)为地址的端口读入16位数据JUST注意:1)CPU对各个外部设备接口也采用地址编码。8086CPU连接外部设备的地址可以是8位或16位。存储器I/O接

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

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

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