MOVX A.@RO 即把RO指定的外部RAM单元的内容送至累加器A。此外,对于堆栈操作指令(PUSH和POP)也应算作是寄存器间接寻址,即以堆栈指针(SP)作间址寄存器的间接寻址方式。3.2.4 立即寻址 所谓立即寻址,就是操作数在指令中直接给出。通常把出现在指令中的操作数称为立即数,因此就把这种寻址方式称为立即寻址。为了与直接寻址指令中的直接地址相区别,在立即数前面加“#”标志。例如 MOV A.#3AH 其中3AH就是立即数,指令功能是把数据3AH送至累加器A。除8位立即数外,MCS—51指令系统中还有一条16位立即寻址指令,即 MOV DPTR,#datal6 其功能是把16位立即数送至数据指针DPTR。3.2.5 位寻址 MCS—51有位处理功能,可以对数据位进行操作,因此就有相应的位寻址方式。例如指令 MOV C,20H 其功能是把位地址为20H的位状态送至进位标志位C。位寻址方式的寻址范围包括:①内部RAM中的位寻址区。单元地址为20H~2FH,共l6个单元128位,位地址是00H一7FH。对这128个位的寻址用直接位地址表示,例如,MOV C,2BH指令的功能是把位寻址区的2BH位状态送至进位标志位。②专用寄存器的可寻址位。可供位寻址的专用寄存器共有11个,实有寻址位83位,对这些寻址位在指令中有以下4种表示方法:a.直接使用位地址。这些位地址在表2.4中已列出。例如,PSW寄存器位5地址为D5H。b.位名称表示方法。专用寄存器中的一些寻址位是有符号名称的,例如,PSW寄存器位5是FO标志位,则可使用FO表示该位。c.单元地址加位的表示方法。例如,DOH单元(即PSW寄存器)位5,表示为DOH.5。d.专用寄存器符号加位的表示方法。例如,PSW寄存器的位5表示为PSW.5。一个寻址位有多种表示方法,初看起来有些复杂,但实际上这将为程序设计带来方便。3.2.6 变址寻址 MCS—51的变址寻址是以DPTR或PC作基址寄存器,以累加器A作变址寄存器,并以两者内容相加形成的16位地址作为操作数地址。例如指令 MOVC A.@A+DPTR 其功能是把DPTR和A的内容相加,两者之和作为数据的存储单元地址,再把该地址单元的内容送A。