程序存储器 程序存储器 SFR PC[01100d操作码 PC10010码 PC+10101001d立即数 PC+1[01010110高位立即数 56HDPH PC+210110数78H」DL 52H 累加器A (a) MOV A,#52H (b) MOV DPTR,#5678H 图3.1立即寻址示意图
• 图3.1 立即寻址示意图
2直接寻址 在指令中含有操作数的直接地址,该地址指出了参与 操作的数据所在的字节地址或位地址 例如: MOVA,52H;把片内RAM字节地址52H单元的内 容送累加器A中。 MOV52H,A;把A的内容传送给片内RAM的52H 单元中。 MOV50H,60H;把片内RAM字节地址60H单元的内 容送到50H单元中。 MOV IE,#40H;把立即数40H送到中断允许寄存器 IE。I为专用功能寄存器,其字节 地址为0A8H。该指令等价于MOV 0A8H,#40H。 INC 6OH ;将地址60H单元中的内容自加1
3.2.2 直接寻址 在指令中含有操作数的直接地址,该地址指出了参与 操作的数据所在的字节地址或位地址。 例如: MOV A,52H ;把片内RAM字节地址52H单元的内 容送累加器A中。 MOV 52H,A ;把A的内容传送给片内RAM的52H 单元中。 MOV 50H,60H ;把片内RAM字节地址60H单元的内 容送到50H单元中。 MOV IE,#40H ;把立即数40H送到中断允许寄存器 IE。IE为专用功能寄存器,其字节 地址为0A8H。该指令等价于MOV 0A8H,#40H。 INC 60H ;将地址60H单元中的内容自加1
程序存储器 内部RAM PC|11100101操作码 PC+10100直接地址一cLx EOH XXH累加器A MOV A, 52H 图3.2直接寻址方式示意图
图3.2直接寻址方式示意图
3.2.3寄存器寻址 由指令指出某一个寄存器中的内容作为操作数, 这种寻址方式称为寄存器寻址。寄存器一般指累加器A 和工作寄存器R0R7。例如: MOVA,Ran;A<(Rn)其中n为07之一, Rn是工作寄存器 MOV Rn, A Rnt(A) MOV B, A ;B<(A)
3.2.3 寄存器寻址 由指令指出某一个寄存器中的内容作为操作数, 这种寻址方式称为寄存器寻址。寄存器一般指累加器A 和工作寄存器R0~R7。例如: MOV A,Rn ;A(Rn) 其中n为0~7之一, Rn是工作寄存器。 MOV Rn,A ;Rn(A) MOV B,A ;B(A)
3.2.4寄存器间接寻址方式 由指令指出某一个寄存器的内容作为操作数,这种 寻址方式称为寄存器间接寻址。寄存器间接寻址只能使 用寄存器Ro或R1作为地址指针,来寻址内部RAM(OOH FF)中的数据。寄存器间接寻址也适用于访问外部RAM, 可使用R0,R或DPTR作为地址指针。寄存器间接寻址用 符号“@”表示 例如: MOV RO, #60H: R0<-60H MOV A, @RO ((RO) MOV A, @RI AA ((R1) 例如: MOV DPTR,#3456H;DPTR←3456H MOVX A,@DPTR;A←((DPTR))是把 DPTR寄存器所指的那个外部数据存储器(RAM)的内容传 送给A,假设(3456H)=99H,指令运行后(A)=99H
3.2.4 寄存器间接寻址方式 由指令指出某一个寄存器的内容作为操作数,这种 寻址方式称为寄存器间接寻址。寄存器间接寻址只能使 用寄存器Ro或Rl作为地址指针,来寻址内部RAM(00H~ FFH)中的数据。寄存器间接寻址也适用于访问外部RAM, 可使用R0,Rl或DPTR作为地址指针。寄存器间接寻址用 符号“@”表示。 例如: MOV R0,#60H ;R060H MOV A, @R0 ;A ((R0)) MOV A ,@R1 ;A ((R1)) 例如:MOV DPTR,#3456H ;DPTR3456H MOVX A,@DPTR ;A ((DPTR))是把 DPTR寄存器所指的那个外部数据存储器(RAM)的内容传 送给A,假设(3456H)=99H,指令运行后(A)=99H