3.2MCS-51单片机的寻址方式 指定操作数所在的地址,或者指定程 序转移的目的地址的方式。7种寻址方式: 3.2.1立即寻址 操作数在指令中以8位立即数#data的 方式直接给出。为了与直接地址相区别,在 立即数前面加“#”标志。例如:MOVA, #6D中的源操作数#6DH属于立即寻址方式
3.2 MCS-51单片机的寻址方式 指定操作数所在的地址,或者指定程 序转移的目的地址的方式。 7种寻址方式: 3.2.1 立即寻址 操作数在指令中以8位立即数#data的 方式直接给出。为了与直接地址相区别,在 立即数前面加“#”标志。例如:MOV A, #6DH 中的源操作数#6DH属于立即寻址方式
3.2.2直接寻址 指令中的操作数以操作数存放单元的直接地 址给出。 直接寻址方式寻址范围只限于单片机内部数 据存储器中地址为0OJ~7FH的128个存储单元以 及21个特殊功能寄存器。特殊功能寄存器在指令 中可以用寄存器符号表示,也可以用它们的单元 地址来表示。例如:M0VA,52H和MoVA,P1 两条指令的源操作数均为直接寻址方式,在指令 的格式中它们用 direct来表示
3.2.2 直接寻址 指令中的操作数以操作数存放单元的直接地 址给出。 直接寻址方式寻址范围只限于单片机内部数 据存储器中地址为00H~7FH的128个存储单元以 及21个特殊功能寄存器。特殊功能寄存器在指令 中可以用寄存器符号表示,也可以用它们的单元 地址来表示。例如:MOV A,52H 和 MOV A,P1 两条指令的源操作数均为直接寻址方式,在指令 的格式中它们用direct来表示
3.2.3寄存器寻址 操作数在指令所选定的寄存器中。寄存器 寻址方式的寻址范围是当前工作寄存器组的 R0~R7、部分特殊功能寄存器A、B和DPTR
3.2.3 寄存器寻址 操作数在指令所选定的寄存器中。寄存器 寻址方式的寻址范围是当前工作寄存器组的 R0~R7、部分特殊功能寄存器A、B和DPTR
直接寻址和寄存器寻址的区别 直接寻址是以操作数所在的字节地址出现在 指令的编码中,占一个字节;寄存器寻址是把工 作寄存器的编码与操作码放在同一个字节中(操 作码的最低3位为工作寄存器的编码),而对以 上所指的部分特殊功能寄存器,在指令中是不给 出的,其意义仅隐含在操作码中。特殊功能寄存 器B仅在乘除法指令中为寄存器寻址方式,在其 它指令中为直接寻址方式。A既可以寄存器寻址 方式,又可以作直接寻址方式,除A、B和DPTR外 其它特殊功能寄存器一律用作直接寻址方式
直接寻址和寄存器寻址的区别 直接寻址是以操作数所在的字节地址出现在 指令的编码中,占一个字节;寄存器寻址是把工 作寄存器的编码与操作码放在同一个字节中(操 作码的最低3位为工作寄存器的编码),而对以 上所指的部分特殊功能寄存器,在指令中是不给 出的,其意义仅隐含在操作码中。特殊功能寄存 器B仅在乘除法指令中为寄存器寻址方式,在其 它指令中为直接寻址方式。 A既可以寄存器寻址 方式,又可以作直接寻址方式,除A、B和DPTR外, 其它特殊功能寄存器一律用作直接寻址方式
如:指令MOVA,R7中,A和R7均为寄存 器寻址;指令MUAB中A和B均为寄存器址; 指令MOVB,R1中B为直接寻址,源操作数 R1为寄存器寻址
如:指令MOV A,R7中,A和R7均为寄存 器寻址;指令MUL AB中A和B均为寄存器址; 指令MOV B,R1中B为直接寻址,源操作数 R1为寄存器寻址