习题指令与编程及答案doc.docx

上传人:b****0 文档编号:12819175 上传时间:2023-04-22 格式:DOCX 页数:30 大小:40.31KB
下载 相关 举报
习题指令与编程及答案doc.docx_第1页
第1页 / 共30页
习题指令与编程及答案doc.docx_第2页
第2页 / 共30页
习题指令与编程及答案doc.docx_第3页
第3页 / 共30页
习题指令与编程及答案doc.docx_第4页
第4页 / 共30页
习题指令与编程及答案doc.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

习题指令与编程及答案doc.docx

《习题指令与编程及答案doc.docx》由会员分享,可在线阅读,更多相关《习题指令与编程及答案doc.docx(30页珍藏版)》请在冰豆网上搜索。

习题指令与编程及答案doc.docx

习题指令与编程及答案doc

一.单项选择题

1.ORG0003H

LJMP2000H

ORG000BH

LJMP3000H

2.当CPU响应外部中断0后,PC的值是()。

A.0003HB.2000HC.000BHD.3000H

3.MCS-51的相对转移指令的最大负跳距离为()。

A.2KBB.128BC.127BD.256B

4.以下运算中对溢出标志0V没有影响或不受影响的运算是()。

A.逻辑运算B.符号数加减运算C.比较数据大小运算D.除法运算

5.产生

信号的指令是()。

A.MOVXA,@DPTRB.MOVX@DPTR,A

C.MOVCA,@A+PCD.MOVXA,@A+DPTR

6.MOVXA,@DPTR指令中的源操作数的寻址方式是()。

A.寄存器寻址B.寄存器间接寻址C.直接寻址D.立即寻址

7.将MCS-51的工作寄存器置成3区的指令是()。

A.MOVPSW,#13HB.MOVPSW,#18H

C.SETBPSW.4,CLRPSW.3D.SETBPSW.3,CLRPSW.4

8.指令AJMP的跳转范围是()。

A.256BB.1KBC.2KBD.64KB

9.6264芯片是()。

A.E

PROMB.RAMC.FlashROMD.EPROM

10.下面那条指令产生

信号()。

A.MOVXA,@DPTR B.MOVCA,@A+DPTR

C.MOVCA,@A+PC D.MOVX@DPTR,A

11.执行LCALL4000H指令时,MCS-51所完成的操作是()。

A.保护PCB.保护现场

C.4000H®PCD.PC+3入栈,4000H®PC

12.下列指令中可能改变Cy的有()。

A.INCAB.CPLAC.RLCAD.MOVA,#data

13.假定设置堆栈指针SP的值为36H,在执行指令PUSH20H后,SP的值为()。

A.36HB.37HC.38HD.21H

14.PUSHACC指令,MCS-51完成的操作是()。

A.(SP)+1àSP(ACC)à(SP)B.(ACC)à(SP)(SP)-1àSP

C.(SP)-1àSP(ACC)à(SP)D.(ACC)à(SP)(SP)+1àSP

15.MOVC,00H指令的第二操作数寻址方式是()。

A.位寻址B.直接寻址C.立即寻址D.寄存器寻址

16.在算术运算中,与辅助进位AC有关的是()。

A.二进制B.八进制C.十进制D.十六进制

17.把P0口高四位变0,低四位不变,应使用指令()。

A.ORLP0,#0FHB.ORLP0,#0F0H

C.ANLP0,#0F0HD.ANLP0,#0FH

18ORG0000H

AJMP0040H

ORG0040H

MOVSP,#00H

当执行完上面的程序后,PC的值是()。

A.0040HB.0041HC.0042HD.0043H

19.在相对寻址方式中,“相对”两字是指跳转()。

A.地址偏移量relB.当前指令的首地址

C.当前指令的末地址D.DPTR值

20.使用8051,且

=1,则可以外扩ROM()。

A.64KBB.60KBC.58KBD.56KB

21.已知(31H)=21H,(32H)=04H,执行下列指令后,31H的内容为()。

PUSH31H

PUSH32H

POP31H

POP32H

A.21HB.04HC.32HD.31H

22.已知(A)=00H,执行DECA指令后,A的内容为()

A.00HB.FFHC.01HD.0FH

23.要用传送指令访问MCS-51片外RAM,它的指令操作码助记符应是()。

A.MOVB.MOVXC.MOVCD.以上都行

24.LCALL存于2000H开始的地址单元中,执行完相应子程序中的返回指令,PC=()。

A.2000HB.2001HC.2002HD.2003H

25.程序设计的方法一般有()

A.1种B.2种C.3种D.4种

26.在寄存器间接寻址方式中,指定寄存器中存放的是()

A.操作数B.操作数地址C.转移指令D.地址偏移量

27.当8031外扩程序存储器8KB时,常使用EPROM2716()

A.2片B.3片C.4片D.5片

28.中断服务程序的最后一条指令必须是()

A.ENDB.RETC.RETID.AJMP

29.ADC0809启动A/D转换的方式是()

A.高电平B.低电平C.正脉冲D.负脉冲

30.MOVC,30H源操作数寻址方式为()

A.立即寻址B.寄存器寻址

C.寄存器间接寻址D.位寻址

31.POPA指令,MCS-51完成的操作是()

A.A←((SP))SP←(SP)-1B.SP←(SP)-1A←((SP))

C.A←((SP))SP←(SP)+1D.SP←(SP)+1A←((SP))

32.当(RS1,RS0)=(1,1)时,工作寄存器R0对应内部RAM的()

字节单元。

A.00HB.08HC.10HD.18H

33.在R3初值为00H的情况下,DJNZR3,rel指令将循环执行()

A.0次B.256次C.128次D.10次

34.执行AJMPaddr11指令时,MCS-51完成的操作是()

A.保护PCB.PC←addr11

C.保护现场D.PC+2入栈PC0~10←addr11

35.ORG2000H

LCALL3000H

ORG3000H

RET

上面程序执行完RET指令后,(PC)=()。

A.2000HB.3000HC.2003HD.3003H

36.MCS-51执行完MOVA,#08H后,PSW的()位被置位。

A.CB.F0C.0VD.P

37.MCS-51的并行I/O口信息有两种读取方法,一种是读引脚,还有一种是()。

A.读锁存器B.读数据C.读A累加器D.读CPU

38.对程序存储器的读操作,只能使用()。

A.MOV指令B.PUSH指令C.MOVX指令D.MOVC指令

39.ORG8000H

DS08H

DB30H,8AH

则8008H单元内容为()。

A.08HB.30HC.8AHD.不确定

40.MOV@R0,A指令目标操作数的寻址方式是()。

A.寄存器间接寻址B.寄存器寻址C.直接寻址D.相对寻址

41.已知(60H)=23H,(61H)=61H,运行下列程序62H内容为()。

CLRC

MOVA,#9AH

SUBBA,60H

ADDA,61H

DAA

MOV62H,A

A.38HB.D8HC.DBHD.3EH

42.设系统的晶振频率为6MHZ,下列子程序DELAY的延时时间约为()。

DELAY:

MOVR2,#0FAH

L2:

DJNZR2,L2

RET

A.900μSB.1006μSC.500usD.5.501us

43.MCS-51的LJMP指令跳转空间为()。

A.2KB.–128~127C.64KD.32K

44.关于MCS-51的堆栈操作,正确的说法是()。

A.先入栈,再修改栈指针B.先修改栈指针,再出栈

C.先修改栈指针,再入栈D.以上都不对

45.JNZrel指令的寻址方式是()。

A.立即寻址B.寄存器寻址C.相对寻址D.位寻址

46.8051执行ADDA,20H指令时,首先在P0口上出现的信息是()。

A.操作码地址B.操作码C.操作数D.操作数地址

47.必须进行十进制调整的十进制运算()。

A.有加法和减法B.有乘法和除法C.只有加法D.只有减法

48.执行MOVX@DPTR,A指令时,MCS-51产生()控制信号。

A.

B.

C.ALED.

49.已知单片机系统的fosc=6MHZ,执行下列延时程序的时间为()。

DY2:

MOVR6,#2

DLP1:

MOVR7,#250

DLP2:

DJNZR7,DLP2

DJNZR6,DLP1

RET

A.1msB.1.5msC.2msD.4ms

二.填空题(每小题1分,共15分

1.执行ANLA,#0FH指令后,累加器A的高四位=。

2.设DPTR=(2000)H,(A)=08H,则MOVCA,@A+DPTR的操作数的实际地址为。

3.假定addrll=00100000000B,标号JAZ的地址为1030H,执行指令JAZ:

AJMPaddrll后,程序转移地址去执行。

4.JZrel的操作码的地址为1000H,rel=20H,他的转移目标地址为。

28.执行当前指令后,PC内容为。

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

6.假定(A)=0FFH,执行指令INCA后,A的内容为。

7.MCS-51系统中,当

信号有意义时,表示CPU要从存储器读取信息。

8.访问MCS-51程序存储器传送指令的操作码助记符应为_____________。

9.累加器(A)=7EH,(20H)=#04H,MCS-51执行完ADDA,20H指令后,PSW.0为_____________。

10.INC指令_____________CY位。

11.假定累加器A的内容为30H,执行指令1000H:

MOVCA,@A+PC后,把程序存储器_____________单元的内容送累加器A中。

12.在R7初值为00H的情况下,DJNZR7,rel指令将循环执行_____________次。

13.MOVPSW,#10H是将MCS-51的工作寄存器置为第___________组。

14.指令LCALL37B0H,首地址在2000H,完成此操作后(PC)=___________。

15.假定DPTR的内容为8100H,累加器A的内容为4DH,执行指令MOVCA,@A+DPTR后,送入A的是程序存储器___________单元的内容。

16.累加器A中存放一个其值小于或等于127的8位无符号数,CY清“0”后执行RLCA指令,则A中数变为原来的___________倍。

17.MCS-51的两条查表指令是________________。

18.指令DJNZR7,rel的指令操作码所在的地址为3000H,rel=EFH,则它的转移目的地址为________。

289318805单片机原理及接口技术第3页共9页

19.通过堆栈操作实现子程序调用,首先要把________的内容入栈,以进行断点保护。

20.调用返回时再进行出栈操作,把保护的断点弹回________。

21.设(SP)=60H,(ACC)=30H,(B)=70H,执行指令PUSHACC,PUSHB后,SP的内容为_______。

22.设(SP)=60H,(ACC)=40H,(B)=60H,执行PUSHACC,PUSHB后61H单元的内容为_______。

23.设(SP)=60H,(ACC)=40H,(B)=80H,执行PUSHACC,PUSHB,62H单元的内容为________。

24.PC中存放的是________。

25.ORLA,#0F0H是将A的高4位置1,而低4位_______________。

26.一台计算机的指令系统就是它所执行的________________集合。

27.累加器(A)=80H,执行完指令ADDA,#83H后,进位位C=____________。

28.以助记符表示的计算机指令就是它的_____________语言。

29.SJMPrel的指令操作码地址为0050H,rel=65H,那么它的转移目的地址为____________。

30.执行如下指令序列后,所实现的逻辑运算式为______________。

MOVC,P1.0

ANLC,P1.1

ANLC,/P1.2

MOVP3.0,C

31.当MCS-51引脚ALE信号有效时,表示从P0口稳定地送出了____________地址。

三、读程序回答

1.试求下列程序依次运行后有关单元的内容。

已知(R0)=24H,(Cy)=1,(1FH)=59H,(20H)=24H,(24H)=B6H。

(6分)

MOVA,1FH;(A)=______________

ADDCA,20H;20H的寻址方式是

CLRA;(A)=______________

ORLA,@R0;@R0的寻址方式是,

;(A)=______________

CPLA;(A)=______________

答案:

59H、直接寻址、00H、寄存器间接寻址、B6H、49H

SECH:

MOVDPTR,#2000H

MOVR2,#0FH

MOVXA,@DPTR

MOVB,A

SLOP:

INCDPTR

MOVXA,@DPTR

CJNEA,B,SLP1

SLP1:

JNCSLP2

MOVB,A

SLP2:

DJNZR2,SLOP

MOVR2,B

RET

问:

(1)此程序完成的是将从H单元开始的H个数中的最值找出,放在单元中。

(2)B寄存器里暂存最值。

(3)若要比较100个数,则哪句程序需要修改?

(10分)

答案:

(1)2000H、10H、小、R2

(2)小

(3)将第二句MOVR2,#0FH改为MOVR2,#99

2.ORG6000H;

TAB:

DB45H,10,88H,’5’;

DW12H,56H,7800H;

ORG8000H

MOVDPTR,#6001H

CLRA

MOVCA,@A+DPTR

MOVDPTR,#6005H

MOVX@DPTR,A

问:

(1)根据

行指令内容,画出存储器从6000H—6009H中数据分布图。

(2)执行上面的程序,完成了什么功能?

(3)最后A的内容为多少?

(10分)

 

(1)

 

(2)将从ROM单元地址为6001H的内容传送到片外数据RAM6005H单元中。

(3)(A)=0AH

3.已知某二进制数(10H)存在内部RAM50H单元中,阅读下列程序,说明其功能。

(6分)

MOVR0,#50H;(R0)=____

MOVA,@R0H;(A)=,寻址方式是。

CLRC

RLCA;(A)=____

ADDA,R1;寻址方式是

INCR0

MOV@R0,A;@R0的地址是_______________

答案:

50H,10H,寄存器间接寻址,20H,寄存器寻址,51H

4.START:

MOVR0,#30H

MOVR7,#0FH

MOVDPTR,#3000H

LOOP:

MOVA,@R0

MOVX@DPTR,A

INCR0

INCDPTR

DJNZR7,LOOP

RET

(1)程序完成的什么功能?

(2)R7的作用是什么?

(3)RET指令完成什么功能?

(10分)

答案:

(1)程序将片内RAM中30H—3FH单元的内容传送到片外RAM地址为3000H—300FH中

(2)R7是计数器,初值表示传送数据个数,传送1个减1,当(R7)=0时,表示传送完。

(3)返回到主程序的断点处。

5.ORG2000H

TAB1:

DB10H,22,‘A’

TAB2:

DW10H,2100H

ORG3000H

MOVDPTR,#TAB2

MOVA,#2

MOVCA,@A+DPTR

问:

(1)ROM2000H单元中的内容___________。

(2)字符‘A’所在单元的地址为___________。

(3)2005H单元中的内容为___________。

(4)执行程序后,DPTR的内容为___________。

(5)A的内容为___________。

(10分)

答案:

(1)10H

(2)2002H

(3)21H

(4)2003H

(5)21H

6.若(A)=FFH,(R0)=00H,(00H)=FFH,(CY)=0,位地址(00H)=1,将结果填入横线。

(6分)

DECA;(A)=_______

INC@R0;此句将地址为___H的单元加1

SETB00H;此句完成______功能

ANLC,00H;(C)=______

ADDA,R0;寻址方式=__________,(A)=__________

答案:

FEH,00H,位地址为00H的单元置1。

1,寄存器寻址,FEH

7.START:

MOVA,40H

MOVDPTR,#TAB

MOVCA,@A+DPTR

MOV40H,A

RET

TABDB30H,31H,32H,33H,34H

DB35H,36H,37H,38H,39H

假设40H单元中的数的范围从0—9,问:

(1)这段程序完成什么功能?

(2)当执行程序前40H中的内容为6,问执行完这段程序后40H中的内容为_________。

(3)MOVCA,@A+DPTR中的寻址方式是。

(10分)

答案:

(1)这段程序完成了通过查表得到40H单元的数的ASC

码,并将结果返回40H单元。

(2)36H

(3)基址+变址的寻址方式

8.ADD3:

MOVA,R5

ADDA,R2

MOV@R0,A

INCR0

MOVA,R6

ADDCA,R3

MOV@R0,A

INCR0

MOVA,R7

ADDCA,R4

MOV@R0,A

RET

(1)程序完成什么功能?

(2)假设执行程序前R0=30H,程序执行结束后30H,31H,32H中的内容为___________,其中_________H中存放高字节

(3)执行结束后,CY的内容为。

(10分)

答案:

①程序完成了两个3字节数的求和。

加数

(1)在R7R6R5中,加数

(2)在R4R3R2

②三个字节中和,32H。

③三字节和最高位的进位位。

9.设(A)=5AH,(R1)=30H,(30H)=E0H,(CY)=1,根据程序填空。

(6分)

SWAPA;(A)=_______

ADDA,#30H;寻址方式________

ADDCA,30H;(A)=______,寻址方式____

RLCA;(A)=______

ANLA,30H;(A)=______

答案:

A5H

立即数寻址

B5H,直接寻址

6BH

60H

10.ADDIO:

MOVR0,30H

MOVR7,#9

MOVA,@R0

LOOP:

INCR0

ADDA,@R0

DJNZR7,LOOP

MOV30H,A

RET

(1)程序完成的是什么功能?

(2)若把MOVR7,#9改成MOVR7,#4,程序功能有何变化?

(10分)

答案:

(1)将片内RAM从30H—39H十个单元中的内容相加,和存在30H中。

(2)不是10个数相加,是30—34H五个数相加。

11.LOOK:

MOV51H,#0

MOVR0,#30H

MOVR1,#20H

LOP:

MOVA,@R0

CPLA

JNZLP1

INC51H

LP1:

INCR0

DJNZR1,LOP

RET

(1)R0的作用是什么?

(2)程序结束后51H单元中存放的内容是什么?

(3)若将JNZLP1这句变成JZLP1,程序完成什么功能?

(10分)

答案:

(1)数据单元指针。

(2)片内RAM30H—50H单元中内容为FFH单元的个数。

(3)将片内RAM30H—50H单元中内容为非FFH单元的总个数送给51H。

12.设内RAM(20H)=11001011B,(24H)=01010111B,求依次执行下列

指令后的结果。

(6分)

LOOP:

JB00H,LP1;

JB26H,LP2;程序跳转到LP1还是LP2?

答________

Lp1:

MOVA,20H;(A)=_____,寻址方式是______

CPLA(A)=______

ADDA,24H(A)=______

JZLP3;执行完此句后,程序跳到LP3还是LP2处?

LP2:

INC20H

LP3:

答案:

Lp1

11001011B,直接寻址

00110100B

10001011B

Lp2

13.ORG2000H

TAB:

DB01,02

DW03,04

DS03H

ORG2200H

MOVDPTR,#TAB

MOVA,#02H

MOVCA,@A+DPTR

问:

(1)请填入存储器2000H~2008H单元的内容。

(2)执行完程序后A中的内容为________。

(3)DPTR是一个______字节的寄存器。

(10分)

答案:

01H

02H

00H

03H

00H

04H

00H

00H

00H

2000H

 

(2)(A)=00H

(3)2

14.START:

MOVDPTR,#2010H

MOVR7,#10H

MOVR0,#30H

LOOP:

MOVXA,@DPTR

MOV@R0,A

DECDPTR

INCR0

DJNZR7,LOOP

RET

(1)程序完成什么功能?

(2)MOVXA,@DPTR这句指令是什么寻址方式?

(3)DJNZR7,LOOP这句指令的

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1