弗原創IT教育中心 1.立即寻址 立即寻址是直接给出操作数,操作数 前有立即数符“#”。 例】 Mov A#30H 将立即数30H传送至A中 MOV DPTR,#5678H;将立即数5678H传送至DPTR ADD A,#05H (A)←(A)+立即数05H 注意:符号“#”表明其后跟的是立即数, 立即数一就是数字量本身
【例】 ⒈ 立即寻址 立即寻址是直接给出操作数,操作数 前有立即数符“ # ”。 MOV A,#30H ;将立即数30H传送至A中 MOV DPTR,#5678H ;将立即数5678H传送至DPTR ADD A,#05H ;(A)←(A)+立即数 05H 注意:符号“#”表明其后跟的是立即数, 立即数——就是数字量本身
弗原創IT教育中心 2.直接寻址 直接寻址是给出操作数的直接地址。直 接寻址范围为内RAM128和特殊功能寄存器。 【例】 MOVA,3AH;将内RAM3AH单元中的数据传送至A中 MOVA,P0;将特殊功能寄存器P0口中的数据传送至A 说明:3AH和P0是以 direct形式出现的直接地址 访问特殊功能寄存器SFR只能采用直接寻址方 式
⒉ 直接寻址 直接寻址是给出操作数的直接地址。直 接寻址范围为内RAM 128B和特殊功能寄存器。 【例】 MOV A,3AH MOV A,3AH ;将内RAM 3AH RAM 3AH单元中的数据传送至 单元中的数据传送至A中 MOV A,P0 MOV A,P0 ;将特殊功能寄存器 将特殊功能寄存器P0口中的数据传送至 口中的数据传送至A 中 说明:3AH和P0是以direct形式出现的直接地址 形式出现的直接地址 访问特殊功能寄存器 访问特殊功能寄存器SFR只能采用直接寻址方 只能采用直接寻址方 式
弗原創IT教育中心 3.寄存器寻址 从寄存器中读取操作数或存放操作数进寄存器 寄存器寻址的操作数在规定的寄存器中。 规定的寄存器有:①工作寄存器R0~R7 ②累加器A ③双字节AB ④数据指针DPTR ⑤位累加器Cy 这些被寻址寄存器中的内容就是操作数 【例】MVA,R0;将R0中的数据传送至A中 INC A MUL AB
⒊ 寄存器寻址 MOV A,R0 MOV A,R0 ;将R0中的数据传送至 中的数据传送至A中 INC A MUL AB 从寄存器中读取操作数或存放操作数进寄存器 寄存器寻址的操作数在规定的寄存器中。 规定的寄存器有:① 工作寄存器R0~R7 ② 累加器A ③ 双字节AB ④ 数据指针DPTR ⑤ 位累加器Cy 这些被寻址寄存器中的内容就是操作数 【例】 MUL AB
弗原創IT教育中心 4.寄存器间接寻址 寄存器中的内容是一个地址,由该地址单元寻址 到所需的操作数。间接寻址用间址符“@”作为前缀。 【例】 MOv A ORO 将以R0中内容为地址的存储单元中的数据 传送至A中 MOVX A,@DPTR;将外 RAM DPTR所指存储单元中的数据 传送至A中 PUSH PSW ;将PSW中数据 传送至堆栈指针SP所指的存储单元中 MOV@R1,#OFH;(30H←立即数0FH 注意: 1)“间接”表示某寄存器中的“内容”只是一个“单元地址”, 这个地址单元中存放的数据才是要找的“操作数”。 2)符号“@”表示“在”,其含义与读音皆同“at
⒋ 寄存器间接寻址 寄存器间接寻址 MOV A,@R0 MOV A,@R0 ;将以R0中内容为地址的存储单元中的数据 传送至A中 MOVX A,@DPTR MOVX A,@DPTR ;将外RAM DPTR RAM DPTR所指存储单元中的数据 传送至A中 PUSH PSW PUSH PSW ;将PSW中数据 传送至堆栈指针SP所指的存储单元中 MOV @R1 MOV @R1,#0FH ;(30H)←立即数0FH 寄存器中的内容是一个地址,由该地址单元寻址 到所需的操作数。间接寻址用间址符“@”作为前缀。 【例】 注意: 1)“间接”表示某寄存器中的“内容”只是一个“单元地址”, 这个地址单元中存放的数据才是要找的“操作数”。 2)符号“@”表示“在…”,其含义与读音皆同“at
弗原創IT教育中心 5.变址寻址 在变址寻址中,操作数地址=基址+变址 用于读R0M数据操作。 以16位的地址指针寄存器DPTR或16位的PC寄存 器为基址寄存器,以累加器A为变址寄存器两者 中的“内容”形成一个16位的“地址”,该“地址”所指的 存储单元中的内容才是操作数。 【例】 MOVC A,@A+DPTR;将A的内容与DPTR内容相加, 得到一个新地址,从该地址 ROM中读取数据送入A中。 MoVc A @A+PC: A(A+PC)
⒌ 变址寻址 MOVC A,@A+DPTR MOVC A,@A+DPTR 【例】 在变址寻址中,操作数地址=基址+变址 用于读ROM数据操作。 ;将A的内容与DPTR内容相加, 得到一个新地址,从该地址 ROM中读取数据送入A中。 以16位的地址指针寄存器DPTR或 16位的PC寄存 器为基址寄存器,以累加器 A 为变址寄存器,两者 中的“内容”形成一个16位的“地址”,该“地址”所指的 存储单元中的内容才是操作数。 MOVC A,@A+PC ;A (A+PC)