欢迎来到天天文库
浏览记录
ID:58793239
大小:812.50 KB
页数:43页
时间:2020-10-03
《微型计算机原理与接口技术(第3章)ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章8088/8086指令系统主要内容:指令系统的一般概念对操作数的寻址方式六大类指令的操作原理操作码的含义指令对操作数的要求指令执行的结果3.38086指令系统从功能上包括六大类:数据传送算术运算逻辑运算和移位串操作程序控制处理器控制一、数据传送指令可实现存储器寄存器I/O数据传送指令又可分为如下四种:1.通用数据传送2.输入输出3.地址传送4.标志位操作1.通用数据传送(1)MOVdest,src;dest←src传送的是字节还是字取决于指令中涉及的寄存器是8位还是16位。具体来说可实现:①MOVsegreg1/reg1,segreg2/reg2;例:MOVCL,DLMOVAX,
2、BXMOVDS,CXMOVAX,ES②MOVreg/mem,mem/reg例:MOV[SI],CXMOVAX,[BX]③MOVreg,data;立即数送寄存器例:MOVCL,10MOVAX,30F0H④MOVmem,data;立即数送存储单元例:MOV[BX][SI],20MOV[DX],C03FH⑤MOVsegreg/mem,mem/segreg;例:MOVDS,[2F0CH]MOV[AX],ESMOV指令使用规则:源操作数与目的操作数类型要一致。两操作数不允许同时为存储器操作数。(不允许mem←mem)两操作数不允许同时为段寄存器。(不允许segreg←segreg)在源操作数是立
3、即数时,目标操作数不能是段寄存器。(不允许segreg←立即数)IP和CS不作为目标操作数,FLAGS一般也不作为操作数在指令中出现。几个不能传送的解决办法:用AX作桥梁存储器←存储器:MOVAX,MEM1MOVMEM2,AX段寄存器←段寄存器:MOVAX,DSMOVES,AX段寄存器←立即数:MOVAX,DATAMOVDS,AX判断下列指令的正确性:MOVAL,BXMOVAX,[SI]05HMOV[BX][BP],BXMOVDS,1000HMOVDX,09HMOV[1200],[SI]一般数据传送指令应用例将(*)的ASCII码2AH送入内存1000H开始的100个单元中:MOVDI
4、,1000HMOVCX,64HMOVAL,2AHAGAIN:MOV[DI],ALINCDI;DI+1DECCX;CX-1JNZAGAIN;CX≠0则继续HLT上程序段存放在代码段中,設(CS)=109EH,则各条指令存放地址如下:CS:IP指令109E:0100MOVDI,1000H109E:0103MOVCX,64H109E:0106MOVAL,2AH109E:0108MOV[DI],AL109E:010AINCDI109E:010BDECCX109E:010CJNZ0108109E:010EHLT109E:0110数据段中的分布送上2AH后数据段中相应存储单元的内容改变如下:DS:
5、10002A2A2A2A2A2A2A2A-2A2A2A2A2A2A2A2ADS:10102A2A2A2A2A2A2A2A-2A2A2A2A2A2A2A2ADS:10202A2A2A2A2A2A2A2A-2A2A2A2A2A2A2A2ADS:10302A2A2A2A2A2A2A2A-2A2A2A2A2A2A2A2ADS:10402A2A2A2A2A2A2A2A-2A2A2A2A2A2A2A2ADS:10502A2A2A2A2A2A2A2A-2A2A2A2A2A2A2A2ADS:10602A2A2A2A000000000000000000000000偏移地址[DI](2)堆栈操作指令什么是
6、堆栈?按“后进先出(LIFO)”方式工作的存储区域。堆栈以字为单位进行压入弹出操作。为什么要设置堆栈?为什么要按“后进先出”方式工作?参见下图主程序IP继续执行主程序执行子程序转子程序压栈弹出返回主程序主程序IPIP(下)继续执行主程序转子程序1返回主程序IP’执行子程序2返回子程序1IP’(下)执行子程序1继续执行子程序1(a)(b)子程序调用示意图(a)主程序调子程序;(b)子程序嵌套示意图压栈弹出IP(下)规定由SS指示堆栈段的段基址,堆栈指针SP始终指向堆栈的顶部,SP的初值规定了所用堆栈区的大小。堆栈的最高地址叫栈底。SPSS堆栈段进栈方向退栈方向栈底栈顶①压栈指令PUSHs
7、rc;src为16位操作数例:PUSHAX;将AX内容压栈执行操作:(SP)-1←高字节AH(SP)-2←低字节AL(SP)←(SP)-2压栈指令的操作设AX=1020H,SP=1200H执行PUSHAX指令后堆栈区的状态:低地址存储区(SS段)执行前(SP)进栈方向执行后2010(AL)(AH)(SP)-2(SP)高地址高地址(SP)-1低地址存储区(SS段)注意进栈方向是高地址向低地址发展。压栈指令的格式为:PUSHregPUSHmem/r
此文档下载收益归作者所有