二、寻址方式 MCS-51的指令系统失用了七种寻址方式。 1寄存器寻址 2直接寻址 3立即寻址 4寄存器间接寻址 5变址寻址 6相对寻址 7位寻址 疒明:寻址包括目的操作数寻址和源操作数寻址 如无特别说明。指的是源操作教寻址!!
1 寄存器寻址 2 直接寻址 3 立即寻址 4 寄存器间接寻址 5 变址寻址 6 相对寻址 7 位寻址 二、寻址方式 MCS-51的指令系统共用了七种寻址方式。 声明:寻址包括目的操作数寻址和源操作数寻址, 如无特别说明,指的是源操作数寻址!!
寄存器寻址 寄存馨的角容为操作数的哥扯方式 可进行寄存器寻址的寄存器有;工 作寄存器R0~R7、A、B、DPR和造 伍CY。 ROⅣ 片向RAM rrr=01OB(R2) 00H PC 100rrr操作码 1001 11111 OAH PSW RSIRSO
1 寄存器寻址 以寄存器的内容为操作数的寻址方式 可进行寄存器寻址的寄存器有:工 作寄存器R0~R7、A、B、DPTR和进 位CY。 11100rrr … … ROM PC→ 操作码 PSW RS1 RS0 0 1 11100101 11111111 … … 片内RAM rrr=010B(R2) 00H 0AH
此条指令属单字节指令唱? 例如 此时PSW寄存器中RS1、RS0位的值是多少? MOV.RO ARO R0(35H)A结果A=3H ZE FF 用户RAM区 30 E0(A) 20位寻址区 工作寄存器区 00 35H 80
MOV A , R0 ;A R0 例如: R0(35H) A 结果A=35H 35H FF E0(A) 80 用户RAM区 位寻址区 工作寄存器区 7F 30 20 00 35H 此条指令属单字节指令吗? 此时PSW寄存器中RS1、RS0位的值是多少?
2直接寻址 直接寻址指令的指令码中所给出的操作飘是 片R单元的地扯,地扯中放看被操作的数。 例:MOvA,40H;A←(40H) 机器码:E540 ROM 片向RAM PC→1001作碣 11100101 PC+1→0100000接地扯 11111111A 5非非狂
直接寻址指令的指令码中所给出的操作数是: 片内RAM单元的地址 ,地址中放着被操作的数。 2 直接寻址 例:MOV A,40H ;A (40H) 机器码:E5 40 11100101 01000000 … … ROM 操作码 直接地址 PC→ PC+1→ 11100101 11111111 … … 片内RAM 40H 11111111 A
「说明 直接寻址可访问片内128B的RAM单元 和特殊功能寄存器SFR 对于特殊功能寄存器(除开 AB DPTR) 既可以使用它们的地址,也可使用它们 的名称 如:MOvA,P2;P2←A MoVA,0A0H;P2的地址为 OAOH 注意:ABD一被不套作接哥8 非非手
➢直接寻址可访问片内128B的RAM单元 和特殊功能寄存器SFR。 ➢对于特殊功能寄存器(除开A,B,DPTR) 既可以使用它们的地址,也可使用它们 的名称。 如:MOV A,P2;P2←A MOV A,0A0H;P2的地址为 0A0H 注意:Rn,A,B,DPTR一般不会用作直接寻址! 说明