7E 用户RAM 堆栈和 区 数据缓存 30 2F 位地址为 00HN7FH 位寻址 20 (128位) R0、R1..R7 18 第3组 R、R1.R7 10 (第2组 OF R0、R1..R7 工作寄存器 08 (第1组 07 R0、R1..R7 00 第0组 2021/130
2021/1/30 21 7F 30 堆栈和 数据缓存 用户RAM区 2F 20 位地址为 00H ~7FH (128 位 ) 位寻址区 1F 18 R0 、R1 …R7 (第 3组) 工 17 10 R0 、R1 …R7 (第 2组) 作寄 0F 08 R0 、R1 …R7 (第 1组) 存器 07 00 R0 、R1 …R7 (第 0组) 区
例如 MovA,R7:(R7)→A Mov36H,A:(A)→36H ADDA,R0;(A)+(R0)→A 对于工作寄存器组的操作,必须要考 虑PSW中RS1、RS0的值(P22),确 定当前使用的是哪一组寄存器以及它们 的实际地址。 2021/130 22
2021/1/30 22 例如: MOV A,R7 ;(R7)→ A MOV 36H,A ;(A)→ 36H ADD A,R0 ;(A)+(R0)→ A 对于工作寄存器组的操作,必须要考 虑PSW中RS1、RS0的值(P22),确 定当前使用的是哪一组寄存器以及它们 的实际地址
4寄存器间接寻址 寄存器间接寻址:由指令指出某一寄存 器的内容作为操作数地址的寻址方式。 存放地址的寄存器称为间址寄存器,在 指令中,在寄存器前面加前缀“@”表示。 MCS-51单片机规定,使用Ri(i=0、1, 即指R0、R1)、SP和DPTR作间址寄存器。 寄存器间接寻址有以下几种情况。 2021/130 23
2021/1/30 23 4 寄存器间接寻址 寄存器间接寻址:由指令指出某一寄存 器的内容作为操作数地址的寻址方式。 存放地址的寄存器称为间址寄存器,在 指令中,在寄存器前面加前缀“@”表示。 MCS-51单片机规定,使用Ri(i=0、1, 即指R0、R1)、SP和DPTR作间址寄存器。 寄存器间接寻址有以下几种情况
使用R间接访问片内RAM 闫接访问的范围:256字节(包括低128 字节和高128字节),但不包括特殊功能寄 存器。例如 MOV A Ri (R)→A Mov@Ri,A:(A)→(Ri) ((R):表示Ri中内容为地址的数据。 操作过程如图33所示。 2021/130 24
2021/1/30 24 一、使用Ri间接访问片内RAM 间接访问的范围:256字节(包括低128 字节和高128字节),但不包括特殊功能寄 存器。例如: MOV A,@Ri ;((Ri))→ A MOV @Ri,A ;(A)→(Ri) ((Ri)):表示Ri中内容为地址的数据。 操作过程如图3-3所示
片内RAM R098H ① →98I62H A|62H 图3-3间接寻址MOVA,@R0)示意图 R0的内容为地址,将该地址中的内容传送给累加器A 2021/130
2021/1/30 25 图3-3 间接寻址(MOV A,@R0)示意图 A 62H ② : : → 98H 62H R0 98H — ① : : 片内RAM R0的内容为地址,将该地址中的内容传送给累加器A