jnz和djnz_第3章单片机指令系统_练习

本文详细介绍了AT89C51单片机的7种寻址方式,包括立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、变址寻址、相对寻址和位寻址。通过实例解析了每种寻址方式的特点和适用场景,帮助理解单片机指令系统的操作数寻址。
摘要由CSDN通过智能技术生成

第3章指令系统

一、简答题

1. AT89C51共有几种寻址方式?举例说明每种寻址方式的特点。

答:寻址即寻找操作数的地址。AT89C51单片机指令系统共有7种寻址方式:

(1)立即寻址方式:所谓立即寻址就是操作数在指令中直接给出。为了与直接寻址指令中的直接地址相区别,在立即数前加“#”标志。立即寻址方式的寻址范围:RAM 0000H~FFFFH。

例如:MOV A,#56H ;单字节立即数56H送入A

MOV DPTR,#data16 ;双字节数data16送入DPTR

(2)直接寻址方式:指令中操作数直接以单元之地址的形式给出,称之为直接寻址。直接寻址的寻址范围是内RAM 00H~FFH。

例如:MOV A,40H ;设(40H)=3AH,则执行该条指令即将40H单元中的数据3AH送入累加器A。(3)寄存器寻址方式:把寄存器的内容作为操作数的寻址方式称为寄存器寻址。

寄存器寻址方式的寻址范围包括:①主要对象是通用寄存器R0~R7;②部分专用寄存器。如A、B寄存器以及DPTR等寄存器。例如:MOV A,R7 ;将寄存器R7中的内容送入A中。

(4)寄存器间接寻址:在寄存器寻址方式中,寄存器中存放的是操作数,而在寄存器间接寻址方式中,寄存器中存放的则是操作数的地址,即操作数是通过寄存器间接得到的,因此称之为寄存器间接寻址。寄存器间接寻址的寻址范围是:内RAM 00H~7FH,外RAM 0000H~FFFFH。

例如:MOV A,@R0 ;将R0中的内容为地址的那个单元的内容送入累加器A中。

(5)变址寻址方式:变址寻址是为访问程序存储器中的数据表格而设。AT89C51的变址寻址是以DPTR或PC 作基址寄存器,以累加器A作变址寄存器,并以两者内容相加形成16位地址作为操作数地址,以达到访问数据表格的目的。注意A中的数为无符号数。变址寻址方式的寻址范围是:ROM 0000H~FFFFH。

例如:MOVC A,@A+DPTR

MOVC A,@A+PC

(6)相对寻址方式:相对寻址方式是为解决程序转移而专门设置的,为转移指令所采用。在相对寻址的转移指令中,给出了地址偏移量(rel),把PC的当前值加上偏移量就构成了程序转移的目的地址。相对寻址方式的寻址范围是:ROM PC-128B~+127B。例如:SJMP 2AH ;PC←(PC)+2+2AH

(7)位寻址方式:位寻址方式的特点是在指令中直接给出操作数的位地址。其寻址范围为内RAM 20H~2FH (位地址00H~FFH)和SFR中的可寻址位。例如:MOVC C,3AH ;将位地址3AH的内容送进位位CY。2.AT89C51内部RAM低128个字节,特殊功能寄存器区、外部RAM分别有几种寻址方式?举例说明。答:AT89C51内部RAM低128字节可使用的寻址方式有:直接寻址、立即寻址、寄存器寻址、寄存器间址、位寻址。特殊功能寄存器区只能使用直接寻址方式。外部RAM也只有寄存器间接寻址一种方式。

例如:(1)内部RAM低128字节

立即寻址:MOV 20H,#50H

直接寻址:MOV A,40H

寄存器寻址:MOV A,R7 ;工作寄存器就是内部RAM低128字节的存储单元

寄存器间接寻址:MOV A,@R0

位寻址:MOV C,7FH ;位寻址区指的是片内RAM的20H~2FH区域

(2)特殊功能寄存器区

直接寻址:MOV A,P0 ;等价于MOV A,80H

(3)外部RAM

寄存器间址:MOVX A,@DPTR

3. 说明下列各条指令中目的操作数/源操作数的寻址方式

(1) ANL A,20H 寄存器/直接寻址

(2) ADDC A, #20H 寄存器/立即寻址

(3)MOV A,@R1 寄存器/寄存器间址

(4)MOV 30H, C 位寻址

(5) MOVC A,@A+DPTR 寄存器/变址寻址

(6)ADD A,40H 寄存器/直接 (7)PUSH ACC 直接 (8)MOV B,20H 寄存器/直接

(9)ANL P1,#35H 寄存器/立即 (10)MOV @R1,PSW 寄存器间址/寄存器

(11)MOVX @DPTR,A寄存器间址/寄存器

4.写出下列指令的寻址方式和功能。

(1)MOV A,#50H 解:立即寻址,功能是将立即数50H送至累加器A中。

(2)MOV A,R7 解:寄存器寻址,功能是将R7中的内容送至A中。

(3)MOV 30H,20H 解:直接寻址,将内RAM 20H单元的内容传送至内RAM 30H单元。

(4)MOVC A,@A+DPTR

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值