‖3立即寻址 特点 指令码中直接含有所需的操作数,操作数之前加“#”符 号为前缀。以区别直接地址。使用时一定要注意! >源操作数为立即数(即操作数本身) 注:5系列单片机有8位立即数和16位地址 立即数,立即数不能作目的操作数。 寻址范围:程序寄存器 ROⅣ 注:操作码下一单元。 例:MOVA,#20H PC→1001000作码 MOV DPTR,#2000PC+1→001000中款高8饿 PC+2→0000000即数低8
指令码中直接含有所需的操作数,操作数之前加“#”符 号为前缀。以区别直接地址。使用时一定要注意! 3 立即寻址 特点 ➢源操作数为立即数(即操作数本身) 注:51系列单片机有 8 位立即数和 16 位地址 立即数,立即数不能作目的操作数。 ➢寻址范围:程序寄存器 注:操作码下一单元。 例: MOV A,#20H MOV DPTR,#2000H 01110100 00100000 … … ROM 操作码 立即数 PC→ PC+1→ 10010000 00100000 … … ROM 操作码 立即数高8位 PC→ PC+1→ PC+2→ 00000000 立即数低8位
例 (1)MOVA,44H;A←-(44H (2)MovA,#H—44H 功能:(1)将片内RAM中44H单元 的内容送累加器A,属于直 接寻址 (2)则是把44H这个数本 身送到累加器A,属于立即寻址
功能:(1)将片内RAM中44H单元 的内容送累加器A,属于直 接寻址; (2)则是把44H这个数本 身送到累加器A,属于立即寻址。 (1)MOV A,44H ;A (44H) (2)MOV A, #44H ;A 44H 例
4寄存器间接寻址 指令指定寄存器中的向容为操 作数的地址。 工作寄存嚣R0、R1和考用寄 存器DPTR可用于间接寻址,在 寄存馨前加“@”符号作前缀。 工作寄存嚣R2-R7采能用于间接寻址
4 寄存器间接寻址 指令指定寄存器中的内容为操 作数的地址。 工作寄存器R0、R1和专用寄 存器DPTR可用于间接寻址,在 寄存器前加“@”符号作前缀。 工作寄存器R2-R7不能用于间接寻址!
①MOVA,R0;A←(R0) 片内 65H RAM ②MOVA,@R0;:←(R0)R0 例如: (R0)=65H,(65H)=26H A 26H 如图32所示, 65H|26H 执行①结果A=65H, 执行②结果A=26H 注意:“@”是它区别寄存 器寻址的标志
①MOV A,R0 ;A←(R0) ②MOV A,@R0;A ←((R0)) 例如: (R0)=65H,(65H)=26H 如图3.2所示, 执行①结果A=65H, 执行②结果A=26H。 注意:“@”是它区别寄存 器寻址的标志。 A R0 65H ① ② 例 26H65H 65H 26H 片内 RAM
〉说明 (1)@R0,@R1可寻址内部RAM00H-7FH 共128B单元内容,不能寻址特殊功能寄存器。 MOV A, @R0 MOV A,@R1 (2)@R0,@R1可寻址外部RAM00FFH 共256B单元内容。 MOVX A,@R0 MOVX A,@R1 (3)@DPTR寻址外部数据存储器的64KB空间 MOVX A, @DPTR A<(DPTR MOVX ODPTR, A ; (DPTR)<A
(1) @ R0, @ R1可寻址内部RAM 00H - 7FH 共128B单元内容,不能寻址特殊功能寄存器。 MOV A, @R0 MOV A, @R1 说明 (2) @ R0, @ R1可寻址外部RAM 00 ~ FFH 共256B单元内容。 MOVX A, @R0 MOVX A, @R1 (3) @ DPTR寻址外部数据存储器的64KB空间 MOVX A, @DPTR ;A(DPTR) MOVX @DPTR, A ;(DPTR)A