欢迎来到天天文库
浏览记录
ID:58875329
大小:148.00 KB
页数:48页
时间:2020-09-30
《单片机原理及接口技术课件第03章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章MCS-51单片机指令系统杨海马上海理工大学光电学院主要内容3.1指令系统概述3.2数据传送类指令3.3算术运算类指令3.4逻辑操作类指令3.5控制转移类指令3.6布尔操作类指令3.7伪指令3.1指令系统概述3.1.1编程语言1.机器语言直接用二进制代码表示2.汇编语言用助记符表示指令的操作码汇编语言汇编过程机器语言特点:易学、易记;占内存少、执行速度快3.高级语言C、PASCAL、BASIC等3.1指令系统概述3.1.2指令格式1.格式[标号:]操作码操作数1,操作数2[;注释]例LB
2、:MOVA,R2;A(R2)标号:指令的符号地址,可作直接寻址后面冒号左边不可有空格操作码:指明指令功能,与操作数间用空格隔开操作数:指令操作对象,数据、地址、寄存器名及约定符号。注释:说明指令在程序中的作用。操作码和操作数是指令的主体。3.1指令系统概述2.高级指令操作码[操作数1][操作数2]有单字节、双字节和三字节指令。单字节:操作码如:MOVA,R0;0E8H双字节:操作码[操作数]如:MOVA,20H;E520H三字节:操作码[操作数1][操作数2]如:MOV20H,#46;75204
3、6H3.1指令系统概述3.1.1寻址方式共7种:立即、直接、寄存器、寄存器间接、基址加变址、相对寻址、位寻址。1.立即寻址方式指令中给出实际操作数据(立即数),一般用于为寄存器或存储器赋常数初值。8位立即数:MOVA,#40H;A¬40H16位立即数:MOVDPTR,#2100H;DPTR¬2100H和指令同时存于程序存储器3.1指令系统概述2.直接寻址方式指令操作数是存储器单元地址,数据在存储器单元中。MOVA,40H;A¬(40H)51系统规定,按字节访问SFR只能用直接寻址方式;SFR可以以
4、直接地址或寄存器名出现。例:设存储器两个单元的内容如图所示,执行指令MOVA,40H后A=?直接寻址方式对数据操作时,地址是固定值,而地址所指定的单元内容为变量形式。41H78H40H56H3.1指令系统概述3.寄存器寻址方式指令操作数为寄存器名,数据在寄存器中。寄存器为:——MOVA,R0;A¬R0设指令执行前A=20H,R0=40H,执行指令后,A=?,R0=?4.寄存器间接寻址方式指令的操作数为寄存器名,寄存器中为数据地址.存放地址的寄存器称为间址寄存器或数据指针。可以是R0,R1,SP,D
5、PTRMOVA,@R0;A¬(R0)设指令执行前A=20H,R0=40H,地址为40H存储器单元内容如图所示。执行指令后,A=?,R0=,(40H)=?01000000A00100000R00100000041H67H40H34H3.1指令系统概述5.基址加变址寄存器间接寻址方式数据在存储器中,指令给出的寄存器中为数据的基地址和偏移量。数据地址=基地址+偏移量。@A+DPTR,@A+PC:只适用于程序存储器例:MOVCA,@A+DPTR;A¬(A+DPTR)设指令执行前A=09H,DPTR=200
6、0H,存储器单元内容如图所示。执行指令后,A=?DPTR=?2008H89H2009H12H3.1指令系统概述6.相对寻址方式以PC当前值为基准,加上相对偏移量“rel”,而构成有效的物理地址。例:1000H:SJMPrel;设rel为50H当这条指令执行时,PC中的值为1002H,所以最后跳到1052H处。PC当前值=源地址+转移指令字节数目标地址=PC当前值+relrel=目标地址-(源地址+转移指令字节数)rel是一个8位带符号数,常以补码方式出现。若rel为正数,则程序向下127B范围跳转
7、;若为负,则程序向前128B跳转。3.1指令系统概述7.位寻址方式指令给出位地址。一位数据在存储器位寻址区。例:MOVC,40H;Cy¬(位地址40H)设指令执行前Cy=1,位地址40H存储器单元如图,执行指令后,Cy=?28H0110001029H11010111位寻址区3.1指令系统概述3.1.4指令系统分类共111条指令单字节49条,双字节45条,17条三字节64条单周期,45条双周期,乘除4周期分成五大类:数据传送算术运算逻辑运算控制转移位操作3.1指令系统概述3.1.5指令系统标志符Rn
8、@Ri@DPTR()(())$3.2数据传送类指令数据传送指令的一般操作是把源操作数传送到目的操作数,指令执行后源操作数不变,目的操作数被修改为源操作数。若要求进行数据传送时,目的操作数不变,则可以用交换指令。源操作数可采用寄存器、寄存器间接、直接、立即、寄存器基址加变址等五种寻址方式,目的操作数可以采用寄存器、寄存器间接、直接等三种寻址方式。数据传送类指令不影响标志位C、AC、OV。对于P标志一般不加以说明。只有一种堆栈操作指令可以直接修改程序状态字PSW3.2数据传送类指令3.
此文档下载收益归作者所有