每)天半紫大学 IIANJIN POLYTECHNIC UNIVERSITY 第三章 McS-51单片机的指令系统 信息与通信工程学院
第三章 MCS-51单片机的指令系统
每)天半紫大学 IIANJIN POLYTECHNIC UNIVERSITY McS51单片机的指令的寻址方式 1.立即寻址 MOV A 35H: 35H-A MOV DPTR, 1234: 1234-DPTR 2.直接寻址 将操作数的地址直接存放在指令中,直接寻址方 式只能是片内RAM的地址。 ①内部RAM低128单元,在指令中直接用单元地 址的形式给出,地址范围是00H~7FH 信息与通信工程学院
MCS-51单片机的指令的寻址方式 MOV A, #35H; 35H→A MOV DPTR, #1234;1234→DPTR 将操作数的地址直接存放在指令中,直接寻址方 式只能是片内RAM的地址。 2.直接寻址 ①内部RAM低128单元,在指令中直接用单元地 址的形式给出,地址范围是00H~7FH 1.立即寻址
每)天半紫大学 IIANJIN POLYTECHNIC UNIVERSITY ②片内RAM的高128单元中的特殊功能寄存器 SFR(SFR中有4个寄存器除外),可以用单元地址 形式给出,也可用寄存器符号形式给出,直接寻址 是SFR唯一的寻址方式。 ③211个位地址 MOV A, 35H;(35H)A MOV ACC, PSW:(PSW)ACC 注:a.寻址SFR可以用直接地址和寄存器名(易理解)都属于直接寻址。 A,AC,E0H分属不同的寻址方式NCA单字节 C.地址区别 INC ACC MOVA 30H: 双字节 INC EOH MOV C, 30H: 信息与通信工程学院
② 片内RAM的高128单元中的特殊功能寄存器 SFR(SFR中有4个寄存器除外),可以用单元地址 形式给出,也可用寄存器符号形式给出,直接寻址 是SFR唯一的寻址方式。 ③ 211个位地址 MOV A , 35H; (35H)→A MOV ACC, PSW; (PSW) →ACC 注:a. 寻址SFR可以用直接地址和寄存器名(易理解),都属于直接寻址。 b. 适当选择累加器的表达式 A,ACC,E0H分属不同的寻址方式 c. 地址区别 INC A INC ACC INC E0H 单字节 MOV A , 30H; 双字节 MOV C, 30H;
每)天半紫大学 IIANJIN POLYTECHNIC UNIVERSITY 3.寄存器寻址 操作数在某个寄存器中存放 MOV A, Rn: (Rn)-A, n=0-7 MOV A, Rn: (Rn)-50H, n=0-7 4.寄存器间接寻址 指令给出的寄存器中存放的不是操作数本身, 而是操作数的单元地址。寄存器前增加前缀符号@ 用于间接寻址的寄存器只能是R0、R1、DPTR 信息与通信工程学院
3.寄存器寻址 操作数在某个寄存器中存放 MOV A,Rn ;(Rn) → A,n=0~7 MOV A,Rn ;(Rn) → 50H,n=0~7 4.寄存器间接寻址 指令给出的寄存器中存放的不是操作数本身, 而是操作数的单元地址。寄存器前增加前缀符号@, 用于间接寻址的寄存器只能是R0、R1、DPTR
每)天半紫大学 IIANJIN POLYTECHNIC UNIVERSITY ①访问内部RAM可通过R0和R1作为间接寄存器 MOV Ri 50H: 50H-Rii=0, 1 Mo@Ri,A;A→(Ri ②访问外部ROM或外RAM和WO端口,采用DPTR 作为间址寄存器进行访问。若访问外部RAM的低 256B时,也可采用R作为间址。 MOVX A, DPTR;((DPTR))A MOVX A,@Ri;((Ri))→A ③寄存器间接寻址方式不能用于对SFR寻址 MOV RO, #OFOH 寄存器B的物理地址,只能直 MOV A,@RO 接寻址,不能间接寻址。 信息与通信工程学院
① 访问内部RAM可通过R0和R1作为间接寄存器 MOV Ri,#50H ;50H→Ri,i=0,1 MOV @Ri,A ;A→(Ri) ② 访问外部ROM或外RAM和I/O端口,采用 DPTR 作为间址寄存器进行访问。若访问外部RAM的低 256B时,也可采用Ri作为间址。 MOVX A, @DPTR;((DPTR))→A MOVX A, @Ri; ((Ri))→A ③ 寄存器间接寻址方式不能用于对SFR寻址 MOV R0, #0F0H; MOV A, @R0; 寄存器B的物理地址,只能直 接寻址,不能间接寻址
每)天半紫大学 IIANJIN POLYTECHNIC UNIVERSITY 5.基址变址寄存器间接寻址 McS-51单片机的变址寻址是以数据指针DPTR或 Pc作为基址寄存器以累加器A作为变址寄存器,以 两者内容相加形式新的16位地址作为操作数地址,再 寻址该地址读出数据。 MOVC A,@A+PC ①变址寻址方式只能对ROM寻址,只能读,不能 存数(查表) MOVc A, @A+PC ②变址寻址指令 MOVC A,@A+DPTR下C不变 JMP@A+ DPTR PC变 信息与通信工程学院
5.基址变址寄存器间接寻址 MCS-51单片机的变址寻址是以数据指针DPTR或 PC 作为基址寄存器以累加器A作为变址寄存器,以 两者内容相加形式新的16位地址作为操作数地址,再 寻址该地址读出数据。 MOVC A, @ A+PC ① 变址寻址方式只能对ROM寻址,只能读,不能 存数(查表) ② 变址寻址指令 MOVC A, @ A+PC MOVC A, @ A+DPTR PC不变 JMP @ A+DPTR PC变
每)天半紫大学 IIANJIN POLYTECHNIC UNIVERSITY 6.相对寻址 相对寻址用于访问程序存储器,只出现在转移 指令中“寻址”不是寻找操作数的地址,而是要得到 程序跳转地址PC值。 7.位寻址 ①位寻址范围 a内部RAM位寻址16B(20H~2FH)128bi00H~7FH) 直接位寻址或单元地址加位的表示方法 MOV C, 2FH.2 MOV C, 7AH bSFR11个83位 信息与通信工程学院
6.相对寻址 相对寻址用于访问程序存储器,只出现在转移 指令中 “寻址”不是寻找操作数的地址,而是要得到 程序跳转地址PC值。 7.位寻址 ① 位寻址范围 a.内部RAM位寻址16B(20H~2FH)128bit(00H~7FH) 直接位寻址或单元地址加位的表示方法 MOV C,2FH.2 MOV C ,7AH b.SFR 11个 83位
每)天半紫大学 IIANJIN POLYTECHNIC UNIVERSITY ②位地址位在指令中的4种表达式 a.直接使用位地址 PSW AC ODOH D7 DO MOV C, OD6H b.位名称表示法 MOV C, AC c单元地址加位的表示法 MOV C, 0D0H 6 d专用寄存器符号加位的表示法 MOV C, PSW.6 信息与通信工程学院
② 位地址位在指令中的 4种表达式 a. 直接使用位地址 MOV C,0D6H b. 位名称表示法 MOV C,AC c.单元地址加位的表示法 MOV C,0D0H.6 d.专用寄存器符号加位的表示法 MOV C,PSW.6
每)天半紫大学 IIANJIN POLYTECHNIC UNIVERSITY McS51单片机的指令系统数据交换 1数据传送类指令 栈操作 ①内部数据传送类指令(Mov) Mov目,源 a立即数传送 MoA,#data;data_→A 双字节 MOV Rn, data: data->Rn MOV @Ri, #data; data(Ri) 信息与通信工程学院
MCS-51单片机的指令系统 1. 数据传送类指令 数据传送 数据交换 栈操作 ①.内部数据传送类指令(MOV) MOV 目,源 a.立即数传送 MOV A, #data ;data→A MOV Rn, #data ;data→Rn MOV @Ri, #data ;data→(Ri) 双字节
每)天半紫大学 IIANJIN POLYTECHNIC UNIVERSITY Mov direct. iitdata: data>direct MOV, DPTR, #data16; data16-DPTR 唯一的一条16位数传送指令 字节 例.已知(R0)=30H,问8051执行如下指令后,累加 器A、R4、DPTR、30H和31H单元中的内容是什么? MOV A# 10 MOV R4.#36 MOV @RO, #7AH Mo31H,#01H MOV DPTR##1234H 信息与通信工程学院
MOV direct, #data ;data→direct MOV DPTR, #data16 ;data16→DPTR ;唯一的一条16位数传送指令 三字节 例. 已知(R0)=30H,问8051执行如下指令后,累加 器A、R4、DPTR、30H和31H单元中的内容是什么? MOV A, #10 MOV R4, #36 MOV @R0, #7AH MOV 31H,#01H MOV DPTR,#1234H