第三章MCS-51单片机指令系统习题含答案

第三章 MCS-51单片机指令系统习题含答案

3.1 判断下列说法是否正确。

(A)立即寻址方式是被操作的数据本身在指令中,而不是它的地址在指令中。(√) (B)指令周期是执行一条指令的时间。 (√) (C)指令中直接给出的操作数称为直接寻址。 (×) 3.2在基址加变址寻址方式中,以(A)作变址寄存器,以(DPTR)或(PC)作基址寄存器 3.3 MCS-51共有哪几种寻址方式?各有什么特点? 答: 共有7种寻址方式。

(1)寄存器寻址方式 操作数在寄存器中,因此指定了寄存器就能得到操作数。 (2)直接寻址方式 指令中操作数直接以单元地址的形式给出,该单元地址中的内容就是操作数。

(3)寄存器间接寻址方式 寄存器中存放的是操作数的地址,即先从寄存器中找到操作数的地址,再按该地址找到操作数。

(4)立即寻址方式 操作数在指令中直接给出,但需在操作数前面加前缀标志“#”。 (5)基址寄存器加变址寄存器间接寻址方式 以DPTR或PC作基址寄存器,以累加器A作为变址寄存器,并以两者内容相加形成的16位地址作为操作数的地址,以达到访问数据表格的目的。

(6)位寻址方式 位寻址指令中可以直接使用位地址。

(7)相对寻址方式 在相对寻址的转移指令中,给出了地址偏移量,以“rel”表示,即把PC的当前值加上偏移量就构成了程序转移的目的地址。 3.4 MCS-51指令按功能可以分为哪几类?

答:MCS-51指令系统按功能分为:数据传送类(28条);算术操作类(24条);逻辑运算类(25条);控制转移类(17条);位操作类(17条)。

3.5 指令格式是由(操作码)和(操作数)所组成,也可能仅由(操作码)组成。 3.6 假定累加器A中的内容为30H,执行指令:

1000H:MOVC A,@A+PC

后,把程序存储器(1031H)单元的内容送入累加器中

3.7 在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的(地址)。

3.8 该程序段的功能是什么?

PUSH A PUSH B POP A POP B

答:功能是A、B内容互换

3.9 已知程序执行前有A=02H,SP=52H,(51H)=FFH,(52H)=FFH。下列程序执行后: POP DPH POP DPL

MOV DPTR,#4000H RL A MOV B,A

MOVC A,@A+DPTR PUSH A MOV A,B INC A

MOVC A,@A+DPTR PUSH A RET

ORG 4000H

DB 10H,80H,30H,50H,30H,50H

A=50H SP=50H (51H)=30H (52H)=50H PC=5030H 3.10 写出完成如下要求的指令,但是不能改变未涉及位的内容。 (A)把Acc.3,Acc.4,Acc.5和Acc.6清0。

解:ANL A,#87H (B)把累加器A的中间4位清0。

解:ANL A,#C3H (C)使Acc.2和Acc.3置1。

解:ORL A,#0CH

3.11 假定A=83H,(R0)=17H,(17H)=34H,执行以下指令:

ANL A,#17H

ORL 17H,A XRL A,@R0 CPL A

后,A的内容为(0CBH)

3.12 假设A=55H,R3=0AAH,在执行指令后ANL A,R3后, A=(00H), R3=(0AAH) 3.13 如果DPTR=507BH,SP=32H,(30H)=50H,(31H)=5FH,(32H)=3CH,则执行下

列指令后:

POP DPH POP DPL POP SP

则:DPH=(3CH) DPL=(5FH) SP=(4FH) 3.14 假定SP=60H,A=30H,B=70H,执行下列指令:

PUSH A PUSH B

后,SP的内容为(62H),61H单元的内容为(30H),62H单元的内容为(70H)。

3.15 下列程序段经汇编后,从1000H开始的各有关存储单元的内容将是什么? ORG 1000H TAB1 EQU 1234H TAB2 EQU 3000H DB “START”

DW TAB1,TAB2,70H

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4