欢迎来到天天文库
浏览记录
ID:27647990
大小:898.00 KB
页数:53页
时间:2018-12-03
《指令系统与汇编语言程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第2章指令系统与汇编语言程序设计2-1指令格式2-2指令寻址方式2-3状态标志2-4MCS-51指令系统单片机指令系统概述一、MCS-51指令分类MCS-51单片机共有111条指令。1.按指令所占的字节数分类①单字节指令49条②双字节指令46条③三字节指令16条每条指令的平均字节数:2.按指令执行时间长短分①单周期指令65条②双周期指令44条③四周期指令2条每条平均执行时间:2-1指令格式一.汇编语言指令格式[标号:]操作码操作数1,操作数2[;注释]换行表示一条指令结束。例:LOOP:MOVA,#40H
2、;取参数1.标号:指令的符号地址2.操作码:指明指令功能。3.操作数:指令操作对象数据、地址、寄存器名及约定符号。4.注释行:说明指令在程序中的作用。操作码和操作数是指令主体。MOV__move传送XCH__exchange交换ANL__andlogic与逻辑运算XRL__exclusiveor异或运算MUL__Multiply乘法RR__rotateright右循环SJMP__shortjump短跳转RET__return子程序返回二.机器语言指令格式操作码[操作数1][操作数2]有单字节、双字节和三字
3、节指令。汇编语言指令中操作码和操作数是指令主体,称为指令可执行部分,指令表中可查出对应指令代码。举例:汇编语言:机器语言:MOVA,R0E8HMOVR6,#32H7E32HMOV40H,#100754064H1110100001111110001100100111010101000000011001002-2指令寻址方式2-2-1操作数类型位(b)─位寻址区中的一位二进制数据字节(B)─8位二进制数据字(W)─16位双字节数据2-2-2寻址方式一.立即寻址方式指令中给出实际操作数据(立即数),一般用于为寄
4、存器或存储器赋常数初值。举例:8位立即数:MOVA,#40H;A¬40H16位立即数:MOVDPTR,#2100H;DPTR¬2100H二.直接寻址方式指令操作数是存储器单元地址,数据在存储器单元中。MOVA,40H;A¬(40H)直接寻址方式对数据操作时,地址是固定值,而地址所指定的单元内容为变量形式。41H78H40H56H56H例:设存储器两个单元的内容如图所示,执行指令MOVA,40H后A=?思考题:直接寻址方式指令和立即寻址方式指令的形式有什么不同?三.寄存器寻址方式指令操作数为寄存器名,数据在
5、寄存器中。例:MOVA,R0;A¬R0设指令执行前A=20H,R0=40H,执行指令后,A=?,R0=?四.寄存器间接寻址方式指令的操作数为寄存器名,寄存器中为数据地址。存放地址的寄存器称为间址寄存器或数据指针。例:MOVA,@R0;A¬(R0)设指令执行前A=20H,R0=40H,地址为40H存储器单元内容如图所示。执行指令后,A=?,R0=?,(40H)=?41H67H40H34H34H40H34H40H40H01000000A00100000R001000000R0→五.变址间接寻址方式数据在存储器
6、中,指令给出的寄存器中为数据的基地址和偏移量。数据地址=基地址+偏移量。例:MOVCA,@A+DPTR;A¬(A+DPTR)设指令执行前A=09H,DPTR=2000H,存储器单元内容如图所示。执行指令后,A=?DPTR=?12H2000H六.位寻址方式指令给出位地址。一位数据在存储器位寻址区。例:MOVC,40H;Cy¬(位地址40H)设指令执行前Cy=1,位地址40H存储器单元如图,执行指令后,Cy=?28H0110001029H11010111位寻址区02008H89H2009H12H2-4MCS
7、-51指令系统分析指令功能分类:数据传送、数据操作、布尔处理、程序控制。2-4-1数据传送指令实现寄存器、存储器之间的数据传送。一.内部传送指令:片内数据存储器数据传送。二.外部传送指令:片外数据存储器数据传送。三.交换指令:片内数据存储器数据传送。四.堆栈操作指令:片内数据存储器数据传送。五.查表指令:程序存储器数据传送。(一)内部传送指令:实现片内数据存储器中数据传送。指令格式:MOV目的操作数,源操作数寻址方式:立即寻址、直接寻址、寄存器寻址、寄存器间址。习题1:找出配对指令,实现反向传送。指令机器
8、码:11101rrrE8~EF11100101nE5n1110011iE6、E701110100d74d10101rrrn1010011in85n1n290d1d2MOVA,Rn;A←Rn,Rn=R0~R7MOVA,n;A←(n),MOVA,@Ri;A←(Ri),Ri=R0、R1MOVA,#d;A←d,MOVRn,n;Rn←(n)MOV@Ri,n;(Ri)←(n)MOVn1,n2;(n1)←(n2)MOVDPTR,#d1d
此文档下载收益归作者所有