欢迎来到天天文库
浏览记录
ID:39335681
大小:868.60 KB
页数:52页
时间:2019-07-01
《MCS51系列单片机指令系统及汇编语言程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章MCS-51系列单片机指令系统及汇编语言程序设计MCS-51单片机的寻址方式MCS-51单片机分类指令MCS-51单片机汇编语言程序设计基础3.1MCS-51单片机的寻址方式MCS-51单片机共有7种寻址方式:立即寻址直接寻址寄存器寻址寄存器间接寻址变址寻址相对寻址位寻址1.立即寻址立即寻址就是把操作数直接在指令中给出,即操作数包含在指令中。立即操作数有8位和16位两种形式,前面加“#”来表示。例如:MOVA,#0FFH;将立即数FFH传送到累加器A中MOVDPTR,#2000H;将16位立即数2000H传送到数据指针DPTR中MOV4
2、0H,#60H;将立即数60H传送到40H内部RAM单元中2.直接寻址指令中直接给出操作数地址的寻址方式。例如:MOVA,30H;内部RAM中的30H单元中的数据内容传送到累加器A中3.寄存器寻址以通用寄存器的内容为操作数的寻址方式。通用寄存器包括:A,B,DPTR,R0~R7。其中,R0~R7必须在工作寄存器组之中。例如:INCR0;(R0)+1→R0需要注意的是,A和B既是通用寄存器,又是具有直接地址的特殊功能寄存器。4.寄存器间接寻址以寄存器中的内容为地址,该地址中的内容为操作数的寻址方式。能够用于寄存器间接寻址的寄存器有:R0,R1,
3、DPTR,SP。其中,R0,R1必须在工作寄存器组之中,SP仅用于堆栈操作。例如:MOVXA,@R1;外部数据RAM中地址为P2R1的单元内容→AMOVX@DPTR,A;A→外部数据RAM中DPTR为地址的单元寄存器间接寻址的存储器空间包括:内部数据RAM和外部数据RAM。内部数据RAM共用128字节,用一个字节的R0或R1可寻址整个空间。外部数据RAM最大可达64K字节,仅用R0或R1无法寻址整个空间。在MCS-51系列单片机指令中,对外部数据RAM作间接寻址有两种方法:第一种由P2口提供高8位外部数据RAM地址,由R0或R1提供低8位地址
4、,由此共同寻址64K空间;第二种是用16位的DPTR作寄存器间接寻址。5.变址寻址由程序计数器PC或DPTR加上偏移量寄存器A中内容之和形成操作数地址的寻址方式。变址寻址只能对程序存储器中的数据作寻址操作。由于程序存储器是只读存储器,因此变址寻址操作只有读操作而无写操作。例如:MOVCA,@A+DPTR;A+DPTR为地址的存储器单元内容→AMOVCA,@A+PC;A+PC为地址的存储器单元内容→A6.相对寻址以当前程序计数器PC的内容为基址,加上指令给出的一字节补码数形成新的PC值的寻址方式。PC中的当前值称为基地址,一字节补码数称为偏移量
5、,新的PC值称为转移目的地址。例如:JC80H;C=1跳转表示进位位C为0,则程序计数器PC中的内容不改变,即不转移。若进位位C为1,则PC中的当前值为基地址加上偏移量80H后所得到的结果作为该转移指令的目的地址。7.位寻址对位地址中的内容作位操作的寻址方式。单片机中只有内部RAM和特殊功能寄存器的部分单元有位地址(两者统一编址,地址空间为00H~FFH),因此,位寻址只能对有位地址的这两个空间作寻址操作。例如SETB20H;1→20H位MOV32H,C;进位位C→32H位3.2分类指令MCS-51单片机共有111条指令,按功能分类,MCS-
6、51指令系统可分为5大类:数据传送类指令(共29条)算术操作类指令(共24条)逻辑操作类指令(共24条)控制转移类指令(共17条)布尔变量操作类指令(共17条)1.数据传送类指令(共29条)以累加器A为目的操作数类指令(4条)MOV A,dirMOV A,#dataMOV A,RnMOV A,@Ri例:R1=20H,(20H)=55H,指令MOV A,@R1执行后,A=55H。以寄存器Rn为目的操作数的指令(3条)MOVRn,dirMOVRn,#dataMOVRn,A例:(40H)=30H,指令MOVR7,40H执行后,R7=30H。以直接地
7、址为目的操作数的指令(5条)MOV dir,dirMOV dir,#dataMOV dir,AMOV dir,RnMOV dir,@Ri例:R0=50H,(50H)=10H,指令MOV35H,@R0执行后,(35H)=10H。以间接地址为目的操作数的指令(3条)MOV @Ri,dirMOV @Ri,#dataMOV @Ri,A查表指令(2条)MOVC A,@A+DPTRMOVC A,@A+PC例:A=20H,DPTR=2000H,指令MOVC A,@A+DPTR执行后,程序存储器2020H单元中的内容送入A。累加器A与片外数据存储器RAM传送
8、指令(4条)MOVX @DPTR,AMOVX A,@DPTRMOVX A,,@RiMOVX @Ri,A例:DPTR=2000H,外部RAM中(2000H)=18H,
此文档下载收益归作者所有