80C51单片机指令系统的7种寻址方式

时间:2023-03-11作者:佚名
寻址方式就是寻找操作数或指令地址的方式。寻址方式包含两方面的内容:一是操作数的寻址,二是指令地址的寻址(如转移指令、调用指令)。寻址方式是计算机性能的具体体现,也是编写汇编语言程序的基础,必须非常熟悉并灵活运用。
对于两操作数指令,源操作数有寻址方式,目的操作数也有寻址方式。若不特别声明,后面提到的寻址方式均指源操作数的寻址方式。
80C51单片机指令系统共有7种寻址方式,包括:立即寻址、寄存器寻址、直接寻址、寄存器间接寻址、变址寻址、相对寻址和位寻址。现以7条指令为例说明这7种寻址方式。

80C51单片机指令系统的7种寻址方式
(1)立即寻址:将操作数直接写在指令中。
如指令①: MOV A,#3AH 执行的操作是将立即数3AH送到累加器A中,因为指令中有立即数3AH,所以称此寻址方式为立即寻址。注意,立即数前面必须加“#”号,以区别立即数和直接寻址。该指令的执行过程如图1所示。

80C51单片机指令系统的7种寻址方式
图1 立即数寻址示意图
(2)寄存器寻址:是指将指令操作数存放于寄存器中,寄存器包括工作寄存器R0~R7、累加器A、通用寄存器B、地址寄存器DPTR等。
如指令②: MOV A,R0 ;(A)←(R0)
该指令将寄存器R0中的数送入累加器A中,因为指令源操作数为寄存器R0,所以称此寻址方式为寄存器寻址。
如果程序状态寄存器PSW的RS1RS0=00(选中第0组工作寄存器,对应地址为(00H~07H),设RAM区00H的内容为20H,则执行MOV A,R0指令后,累加器A中的内容变为20H。该指令执行过程如图2所示。

80C51单片机指令系统的7种寻址方式
图2 寄存器寻址示意图
(3)直接寻址 :是指把存放操作数的内存单元的地址直接写在指令中。在80C51单片机中可以直接寻址的存储器主要有内部RAM区和特殊功能寄存器SFR区。
如指令③:MOV A,30H ;(A)←(30H)
该指令将地址为30H的存储单元的内容送入累加器A,因为指令源操作数为地址直接给出的存储单元,故称此寻址方式为直接寻址。若(30H)=3AH,指令③执行后,(A)=3AH,该指令的执行过程如图3所示。

80C51单片机指令系统的7种寻址方式
图3 直接寻址示意图
(4)寄存器间接寻址:将存放操作数的存储单元的地址放在寄存器中,指令中只给出该寄存器。执行指令时,首先根据寄存器的内容,找到所需要的操作数地址,再由该地址找到操作数并完成相应操作。在80C51指令系统中,用于寄存器间接寻址的寄存器有R0、R1和DPTR,称为寄存器间接寻址寄存器。
注意:间接寻址寄存器前面必须加上符号“@”。
如指令④:MOV A,@R0 ;(A)←((R0))
该指令将以R0中内容为地址的存储单元的内容送入累加器A中,因为指令操作数是存储单元,其地址由寄存器R0间接给出,所以称此寻址方式为寄存器间接寻址。
设R0=3AH,内部RAM 3AH中的值是65H,则指令MOV A,@R0的执行结果是累加器A的值为65H,该指令的执行过程如图4所示。

80C51单片机指令系统的7种寻址方式
图4 寄存器间接寻址示意图
(5)变址寻址 :是指将基址寄存器与变址寄存器的内容相加,结果作为操作数的地址。DPTR或PC是基址寄存器,累加器A是变址寄存器。这种寻址方式称为变址寻址。该寻址方式主要用于查表操作。
当执行指令⑤时,设(A)=50H ,(DPTR)=2007H,(2057H)=60H ,指令⑤执行后MOVC A,@A DPTR ;(A)←((A) (DPTR))=(50H 2007H)=(2057H)=60H。
该指令将DPTR中的基地址2007H与A中的偏移地址50H相加,形成实际地址2057H,再将地址为2057H的存储单元中的内容60H送入累加器A中。显然这种寻址方式称为变址寻址。该指令执行过程如图5所示。

80C51单片机指令系统的7种寻址方式
图5 变址寻址示意图
(6)相对寻址 :是指程序计数器PC的当前内容与指令中的操作数相加,其结果作为跳转指令的转移地址(也称目的地址)。这种寻址方式称为相对寻址。该类寻址方式主要用于跳转指令。
如指令⑥:SJMP rel ;(PC)←(PC) rel
当执行指令⑥时,设当前(PC)=2009H,而相对偏移量rel=02H,则执行该指令后,(PC)=2009H 02H=200BH,即程序由地址为2009H处跳转到200BH处执行,其跳转的距离为相对偏移量rel=02H。由于指令中的操作数为相对偏移量rel ,所以称这种寻址方式为相对寻址。该指令的执行过程如图6所示。

80C51单片机指令系统的7种寻址方式
图6 相对寻址示意图
(7)位寻址 :指令中操作数为8位二进制数某一位,称为位寻址。80C51单片机中,操作数不仅可以按字节为单位进行操作,也可以按位进行操作。当我们把某一位作为操作数时,这个操作数的地址称为位地址。
位寻址区包括专门安排在内部RAM中的两个区域:一是内部RAM的位寻址区,地址范围是20H~2FH,共16个RAM单元,位地址为00H~7FH;二是特殊功能寄存器SFR中有11个寄存器可以位寻址。参见位地址的定义。
例如:SETB ACC.0 ;(ACC.0)←1 该指令将累加器的最低位ACC.0置1,由于指令中的操作数为一位二进数,故称此寻址方式为位寻址。该指令的执行过程如图7所示。

80C51单片机指令系统的7种寻址方式
图7 位寻址示意图
由寻址方式的讨论可知,操作数按类型可分为:立即数、寄存器、存储单元、位操作数、相对偏移量。而存储单元地址又可有直接寻址,寄存器间接寻址,变址寻址三种。
各种寻址方式对应操作数的指令符号规定如下。
(1)#data:表示8位立即数,如#3AH。
(2)#data16:表示16位立即数,即0000H~FFFFH。
(2)Rn:表示寄存器R0~R7。
(3)direct:表示片内存储单元的直接地址, 如30H。
(4)addr16,addr11:表示指令中的16位或11位转移地址。
(5)rel:表示相对偏移量,如 02H。
(6)bit:表示位地址,如ACC.0。
(7)( ):表示存储单元的内容,如(30H)=40H。
(8)(( )):表示间接寻址的存储单元内容,((R0))=(7FH)=50H。

相关阅读

电工知识一开五孔插座的作用、接线方法图解、插座的选用五大误区

一开五孔就是在一个插座上边有一个开关(按钮)加一个两脚插孔和一个三脚插孔,加起来叫一开五孔,简单理解就是一个开关加上两个插孔。这个开关可以控制插座是否通电,也可以...
2023-06-11
电工知识一开五孔插座的作用、接线方法图解、插座的选用五大误区

事故预想:机组满负荷运行中,蓄电池着火的影响及处理步骤?

四控 : 燃机: 4 C1C1C1">1.2机组满负荷运行,蓄电池发生着火,立即断开蓄电池与直流母线联络开关RD3,RD4。查直流母线电压正常,2机组应紧急停机处理。 蓄电池发生着火可能会造成直...
2023-06-13
事故预想:机组满负荷运行中,蓄电池着火的影响及处理步骤?

水电安装为什么不建议开横槽?遇到一定要开横槽的情况,怎么办?

在装修时为了图方便,经常出现在墙体上横向开槽布线的情况,表面上施工方便,又节省装修费用,但其实这是极其危险的做法,和拆墙差不了多少! 为什么不能横向开槽? 倒不是损...
2023-06-11
水电安装为什么不建议开横槽?遇到一定要开横槽的情况,怎么办?

认识三条线,你将永不触电

普通人待在家里的时候多,要想保证全家不触电,一定要记住三条线哦…… 是三道防线!能保证我们免受触电的危险。但不少人并不太清楚: 1. 直接接触电击防护 2. 接地与等电位联结...
2023-06-11

浮球开关自动上水接线图,新手一看就会,再也不用半夜爬起来关水!

家里水塔、水箱总是忘记关水,半夜爬起来看水位太折腾?今天给大家分享浮球开关自动供水接线图,简单 3 步,新手也能一次接对,实现全自动上水,省心又安全! 核心元件(一看就懂) 空开(总电...
2026-05-26
浮球开关自动上水接线图,新手一看就会,再也不用半夜爬起来关水!

热销商品

FEITA 镊子碳纤维合成塑料防静电无尘净化塑胶手动工具镊子93302

FEITA镊子93302采用高强度碳纤维合成塑料材质,兼具轻量化与耐用性,适用于精密操作场景。其独特的防静电设计有效避免静电对电子元件的损害,广泛应用于半导体、光学、...
1.2

江南国标rvv铜芯电缆软线3 4多芯平方rvvp护套信号屏蔽线线缆电线

江南国标rvv铜芯电缆软线34多芯平方rvvp护套信号屏蔽线线缆电线,是一种高性能的电缆产品,适用于各种信号传输和控制场合。该电缆采用优质铜芯,具有优良的导电性能和...
1.96

内六角扳手套装单个内六方螺丝刀进口S2款加长特长平头内6角2.5mm

这款进口S2材质内六角扳手套装,专为精密机械维修与装配设计,采用高品质S2合金钢制造,具备卓越的硬度、耐磨性与抗扭强度,有效防止使用过程中断裂或变形。套装中包含2....
1.4

橡胶条U型防撞包边条橡胶卡条玻璃嵌条配电箱机柜u型条密封条封王

橡胶条U型防撞包边条是一种多功能密封与防护配件,广泛应用于配电箱、机柜、玻璃门窗及各类设备边缘。采用优质橡胶材质,具备优异的弹性、耐老化、防水防尘和抗冲击...
0.8

10副装护目镜打磨劳保防飞溅男女骑行机械实验防风沙灰尘防护眼镜

这款10副装护目镜专为多场景防护设计,适用于打磨、机械加工、实验操作、骑行及户外作业等环境。采用高透光防雾镜片,有效抵御飞溅物、风沙、灰尘及化学液体喷溅,保障...
19.8

网站栏目