3.2MCS51单片机的寻址方式 寻址方式:CPU执行指令时获取操作数的方式 MCS-51单片机有7种不同的寻址方式: (1)立即寻址方式 (2)直接寻址方式 (3)寄存器寻址方式 (4)寄存器间接寻址方式 (5)变址寻址方式 (6)位寻址方式 (刀)相对寻址方式
6 3.2 MCS-51 单片机的寻址方式 寻址方式 :CPU执行指令时获取操作数的方式 MCS-51单片机有7种不同的寻址方式 : (1)立即寻址方式 (2)直接寻址方式 (3)寄存器寻址方式 (4)寄存器间接寻址方式 (5)变址寻址方式 (6)位寻址方式 (7)相对寻址方式
3.2MCS-51单片机的寻址方式 (1)立即寻址方式:在指令中直接给出了参与运算 的操作数。 MOVA,#20H (2)直接寻址方式:指令中给出了参与运算的操作 数所在单元的地址或所在位的位地址 MOVA 20H MOV 27H.1, C 直接寻址方式的使用范围: 1)单元地址:00~7FH、21个SFR 2)对SFR的访问只能采用直接寻址方式
7 3.2 MCS-51 单片机的寻址方式 (1)立即寻址方式:在指令中直接给出了参与运算 的操作数。 MOV A , #20H (2)直接寻址方式:指令中给出了参与运算的操作 数所在单元的地址或所在位的位地址 MOV A , 20H MOV 27H.1, C 直接寻址方式的使用范围: 1)单元地址 : 00~7FH 、21个SFR 2)对SFR的访问只能采用直接寻址方式
32MC-51单片机的寻址方式 (3)寄存器寻址方式 指令指出了参与运算的操作数所在的寄存器 MOVA. RO 寄存器寻址方式中的寄存器 1)工作(通用)寄存器R0~R7、DPTR 2)累加器A、寄存器B(仅在乘除法时)和布 尔累加器C
8 3.2 MCS-51 单片机的寻址方式 (3)寄存器寻址方式 指令指出了参与运算的操作数所在的寄存器。 MOV A , R0 寄存器寻址方式中的寄存器 : 1)工作(通用)寄存器R0~R7 、DPTR 2)累加器A、寄存器B(仅在乘除法时)和布 尔累加器C
32MCS51单片机的寻址方式 (4)寄存器间接寻址方式 在指令中,指出了存放参与运算的操作数所在单元地 址的寄存器。 MOV A, aRO 1001 Rom u ←MOVA,@R0 A LRAM L 操作数在哪儿? 找数! CPU 它的地址在R0中 得到地址了! 1100110 (A)地址在(R0) 地址寄存器
9 (4)寄存器间接寻址方式 在指令中,指出了存放参与运算的操作数所在单元地 址的寄存器。 MOV A,@R0 3.2 MCS-51单片机的寻址方式 地址寄存器 CPU ? !! 操作数在哪儿? 它的地址在R0中 RAM 得到地址了! 找数! ROM A MOV A,@R0 11100110 11100110 1110011 (A) 0 地址在(R0)
32MCS51单片机的寻址方式 可以作为地址寄存器的寄存器: 把存放操作数地址的寄存器称为地址寄存器。 可作为地址寄存器的寄存器:R0、R1、DPTR、SP(隐含) 在指令中表示为aR0、@R1、@DPTR 寄存器间接寻址方式寻址范围: 1)片内RAM:00~7FH; 地址寄存器:@R0、aR1 2)片外RAM:0000FFFH; 地址寄存器:@R0、@R1、@DPTR
10 3.2 MCS-51 单片机的寻址方式 可以作为地址寄存器的寄存器: 把存放操作数地址的寄存器称为地址寄存器。 可作为地址寄存器的寄存器:R0、R1、DPTR、SP(隐含) 在指令中表示为@R0、@R1、 @DPTR 寄存器间接寻址方式寻址范围: 1)片内RAM:00~7FH; 地址寄存器:@R0、@R1 2)片外RAM:0000~FFFFH; 地址寄存器:@R0、@R1、@DPTR