欢迎来到天天文库
浏览记录
ID:38485728
大小:366.50 KB
页数:35页
时间:2019-06-13
《微机原理与接口技术CH-3Anew》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三章86系列微型计算机的指令系统本章授课内容:第一部分寻址方式第二部分8086/8088指令系统数据传送指令、算术运算指令、逻辑运算和移位指令、串操作指令、控制转移指令、处理器控制指令标号:指令助记符操作数;注释,86系列汇编语言指令语句格式如下示:例、NEXT:MOVAX,1000H;立即数1000H送累加器AX第一节寻址方式一、立即数寻址MOVAX,1090H;将1090H送AX(若CS=1000H,IP=100H)10000H10100H10101H10102HOP90H10H100H。。。。。。。。90HAHAL10HAX
2、代码段代码段起址操作数包含在指令中,紧跟在操作码后放在代码段。二、寄存器寻址MOVAX,BX若AX=1234H,BX=4567H4567H4567HAXBX操作数包含在CPU的内部寄存器中。INCCX;将CX的内容加1ROLAH,1;AH内容循环左移1位特点:都不需要执行总线周期三、直接寻址MOVAX,[1070H](若DS=3000H)DS30000偏移量1070+实际地址31070H四、寄存器间接寻址MOVAX,[BX](若DS=5000H,BX=3000H)段基址5000EA(BX)+3000操作数地址530005000H。。
3、。M。。。。。。。。53000H操作数AHAL30000H31070H31071HOP70H10H代码段。。。。。数据段54H7AH7AH54H1070H数据段起址5、寄存器相对寻址采用寄存器间接寻址时,允许在指令中指定一个位移量,这样,有效地址通过将一个寄存器的内容加上一个位移量来得到。EA=[BX][BP][SI][DI]+8位位移量16位位移量例:MOVAX,[BX+20H]寄存器间接寻址可分为4种:(1)以BX寄存器进行间接寻址——数据段基址寻址如MOVAX,[BX](2)以BP寄存器进行间接寻址——堆栈段基址寻址如MOVB
4、X,[BP](3)以SI和DI寄存器进行间接寻址——变址寻址其中SI为源寄存器、DI为目的寄存器(4)将BX、BP和SI、DI寄存器组合起来进行间接寻址——基址加变址寻址如MOVAX,[BX+SI]MOVAX,[BX+SI+0050];相对基址加变址寻址第二节数据传送类指令一、通用数据传送指令(MOV、PUSH、POP、CHG)1、最基本的传送指令:MOVDST,SRC;(SRC)(DST)寄存器之间传送(除CS和IP)MOVAL,BLMOVDL,CHMOVDX,BXMOVAX,ESMOVDS,AX8位数据传送16位数据传送通用RE
5、G通用REG段REG通用REG立即数送通用REG或存储器MOVCL,4MOVAX,03FFHMOVBYTEPTR[BX],5MOVWORDPTR[100H],5678HMOVMEM,5;MEM是以定义的变量(符号地址)寄存器(除CS、IP)与存储器之间传送MOVAX,[SI]MOV[DI],CXMOV[1000H],ALMOVDS,DATA[SI+BX]MOVDST[BP+DI],ES注意的问题:1、不能在两个存储单元之间传送。MOV[1000H],[2000H]2、立即数不能送段寄存器。MOVDS,300H3、段寄存器之间不能传送
6、。MOVDS,ES4、CS不能做目的但可做源操作数。MOVCS,AXMOVAX,CS没有段寄存器存储器与通用寄存器存储器与段寄存器5、操作数类型要匹配,字对字,字节对字节传送MOVAX,BL6、MOV指令不影响标志寄存器的值。例:将BUFFER1开始的数据块传送到BUFFER2为首地址的数据块中MOVSI,OFFSETBUFFER1MOVDI,OFFESTBUFFER2MOVCX,200NEXT:MOVAL,[SI]MOV[DI],ALINCSIINCDIDECCXJNZNEXTHLTBUFFER1、BUFFER2是符号地址(变量)
7、先定义后使用。在这是字节传送,定义字节变量200BUFFER1BUFFER2…...…...2、堆栈操作指令PUSHSRC(源操作数可以是REG、M,段寄存器)POPDST(目的可REG、M,段寄存器)PUSHAX;通用REGPUSHDS;段REGPUSH[1000H];直接寻址,存储器字单元。PUSHDATA[SI];直接寻址(字存储单元)POPCXPOPESPOP[3000H]注意:1、段寄存器除CS外。因PUSHCS指令是合法的,但POPCS指令是非法的。2、指令的SRC和DST都不能是立即数。3、交换指令XCHGXCHGDS
8、T,SRC通用REG通用REG;将源操作数与目的操作数的MM内容互换。注:指令中不能是段寄存器和立即数,存储器单元之间不能交换。XCHGAL,BLXCHGBX,CXXCHG[2530H],CX;(CX)和2530H,2531H两单元内
此文档下载收益归作者所有