习题指令与编程及答案.docx
- 文档编号:9265024
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:30
- 大小:49.35KB
习题指令与编程及答案.docx
《习题指令与编程及答案.docx》由会员分享,可在线阅读,更多相关《习题指令与编程及答案.docx(30页珍藏版)》请在冰豆网上搜索。
习题指令与编程及答案
一.单项选择题
1.ORG0003H
LJMP2000H
ORG000BH
LJMP3000H
2.当CPU响应外部中断0后,PC的值是(A)。
A.0003HB.2000HC.000BHD.3000H
3.MCS-51的相对转移指令的最大负跳距离为(B)。
A.2KBB.128BC.127BD.256B
4.以下运算中对溢出标志0V没有影响或不受影响的运算是(A)。
A.逻辑运算B.符号数加减运算C.比较数据大小运算D.除法运算
5.产生
信号的指令是(C)。
A.MOVXA,@DPTRB.MOVX@DPTR,A
C.MOVCA,@A+PCD.MOVXA,@A+DPTR
6.MOVXA,@DPTR指令中的源操作数的寻址方式是(B)。
A.寄存器寻址B.寄存器间接寻址C.直接寻址D.立即寻址
7.将MCS-51的工作寄存器置成3区的指令是(B)。
A.MOVPSW,#13HB.MOVPSW,#18H
C.SETBPSW.4,CLRPSW.3D.SETBPSW.3,CLRPSW.4
8.指令AJMP的跳转范围是(C)。
A.256BB.1KBC.2KBD.64KB
9.6264芯片是(B)。
A.E
PROMB.RAMC.FlashROMD.EPROM
10.下面那条指令产生
信号(D)。
A.MOVXA,@DPTR B.MOVCA,@A+DPTR
C.MOVCA,@A+PC D.MOVX@DPTR,A
11.执行LCALL4000H指令时,MCS-51所完成的操作是(D)。
A.保护PCB.保护现场
C.4000HPCD.PC+3入栈,4000HPC
12.下列指令中可能改变Cy的有(C)。
A.INCAB.CPLAC.RLCAD.MOVA,#data
13.假定设置堆栈指针SP的值为36H,在执行指令PUSH20H后,SP的值为(B)。
A.36HB.37HC.38HD.21H
14.PUSHACC指令,MCS-51完成的操作是(A)。
A.(SP)+1SP(ACC)(SP)B.(ACC)(SP)(SP)-1SP
C.(SP)-1SP(ACC)(SP)D.(ACC)(SP)(SP)+1SP
15.MOVC,00H指令的第二操作数寻址方式是(A)。
A.位寻址B.直接寻址C.立即寻址D.寄存器寻址
16.在算术运算中,与辅助进位AC有关的是(C)。
A.二进制B.八进制C.十进制D.十六进制
17.把P0口高四位变0,低四位不变,应使用指令(D)。
A.ORLP0,#0FHB.ORLP0,#0F0H
C.ANLP0,#0F0HD.ANLP0,#0FH
18ORG0000H
AJMP0040H
ORG0040H
MOVSP,#00H
当执行完上面的程序后,PC的值是(C)。
A.0040HB.0041HC.0042HD.0043H
19.在相对寻址方式中,“相对”两字是指跳转(A)。
A.地址偏移量relB.当前指令的首地址
C.当前指令的末地址D.DPTR值
?
20.使用8051,且
=1,则可以外扩ROM(A)。
A.64KBB.60KBC.58KBD.56KB
21.已知(31H)=21H,(32H)=04H,执行下列指令后,31H的内容为(B)。
PUSH31H
PUSH32H
POP31H
POP32H
A.21HB.04HC.32HD.31H
22.已知(A)=00H,执行DECA指令后,A的内容为(B)
A.00HB.FFHC.01HD.0FH
23.要用传送指令访问MCS-51片外RAM,它的指令操作码助记符应是(B)。
A.MOVB.MOVXC.MOVCD.以上都行
24.LCALL存于2000H开始的地址单元中,执行完相应子程序中的返回指令,PC=(D)。
A.2000HB.2001HC.2002HD.2003H
25.?
程序设计的方法一般有(C)
A.1种B.2种C.3种D.4种
26.在寄存器间接寻址方式中,指定寄存器中存放的是(B)
A.操作数B.操作数地址C.转移指令D.地址偏移量
27.当8031外扩程序存储器8KB时,常使用EPROM2716(C)
A.2片B.3片C.4片D.5片
28.中断服务程序的最后一条指令必须是(C)
A.ENDB.RETC.RETID.AJMP
29.ADC0809启动A/D转换的方式是(C)
A.高电平B.低电平C.正脉冲D.负脉冲
30.MOVC,30H源操作数寻址方式为(D)
A.立即寻址B.寄存器寻址
C.寄存器间接寻址D.位寻址
31.POPA指令,MCS-51完成的操作是(A)
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的(D)
字节单元。
A.00HB.08HC.10HD.18H
33.在R3初值为00H的情况下,DJNZR3,rel指令将循环执行(B)
A.0次B.256次C.128次D.10次
34.执行AJMPaddr11指令时,MCS-51完成的操作是(D)
A.保护PCB.PC←addr11
C.保护现场D.PC+2入栈PC0~10←addr11
35.ORG2000H
LCALL3000H
ORG3000H
RET
上面程序执行完RET指令后,(PC)=(C)。
A.2000HB.3000HC.2003HD.3003H
36.MCS-51执行完MOVA,#08H后,PSW的(D)位被置位。
A.CB.F0C.0VD.P
37.MCS-51的并行I/O口信息有两种读取方法,一种是读引脚,还有一种是(A)。
A.读锁存器B.读数据C.读A累加器D.读CPU
38.对程序存储器的读操作,只能使用(D)。
A.MOV指令B.PUSH指令C.MOVX指令D.MOVC指令
39.ORG8000H
DS08H
DB30H,8AH
则8008H单元内容为(B)。
A.08HB.30HC.8AHD.不确定
40.MOV@R0,A指令目标操作数的寻址方式是(A)。
A.寄存器间接寻址B.寄存器寻址C.直接寻址D.相对寻址
41.已知(60H)=23H,(61H)=61H,运行下列程序62H内容为(A)。
CLRC
MOVA,#9AH
SUBBA,60H
ADDA,61H
DAA
MOV62H,A
A.38HB.D8HC.DBHD.3EH
42.设系统的晶振频率为6MHZ,下列子程序DELAY的延时时间约为(B)。
DELAY:
MOVR2,#0FAH
L2:
DJNZR2,L2
RET
A.900μSB.1006μSC.500usD.5.501us
43.MCS-51的LJMP指令跳转空间为(C)。
A.2KB.–128~127C.64KD.32K
44.关于MCS-51的堆栈操作,正确的说法是(C)。
A.先入栈,再修改栈指针B.先修改栈指针,再出栈
C.先修改栈指针,再入栈D.以上都不对
45.JNZrel指令的寻址方式是(C)。
A.立即寻址B.寄存器寻址C.相对寻址D.位寻址
46.8051执行ADDA,20H指令时,首先在P0口上出现的信息是(D)。
A.操作码地址B.操作码C.操作数D.操作数地址
47.必须进行十进制调整的十进制运算(C)。
A.有加法和减法B.有乘法和除法C.只有加法D.只有减法
48.执行MOVX@DPTR,A指令时,MCS-51产生(B)控制信号。
A.
B.
C.ALED.
49.已知单片机系统的fosc=6MHZ,执行下列延时程序的时间为(C)。
DY2:
MOVR6,#2
DLP1:
MOVR7,#250
DLP2:
DJNZR7,DLP2
DJNZR6,DLP1
RET
A.1msB.1.5msC.2msD.4ms
二.填空题(每小题1分,共15分
1.执行ANLA,#0FH指令后,累加器A的高四位=OOOOH。
2.设DPTR=(2000)H,(A)=08H,则MOVCA,@A+DPTR的操作数的实际地址为2008H。
3.假定addrll=00100000000B,标号JAZ的地址为1030H,执行指令JAZ:
AJMPaddrll后,程序转移地址1100H去执行。
4.JZrel的操作码的地址为1000H,rel=20H,他的转移目标地址为1022H。
28.执行当前指令后,PC内容为下一条指令的起始地址。
5.在寄存器间接寻址方式中,其“间接”体现在指令寄存器的内容不是操作数,而是操作数的所在的存储器的地址。
6.假定(A)=0FFH,执行指令INCA后,A的内容为00H。
7.MCS-51系统中,当
信号有意义时,表示CPU要从外部程序存储器读取信息。
8.访问MCS-51程序存储器传送指令的操作码助记符应为___MOVC__________。
9.累加器(A)=7EH,(20H)=#04H,MCS-51执行完ADDA,20H指令后,PSW.0为_____O________。
10.INC指令________不改变_____CY位。
11.假定累加器A的内容为30H,执行指令1000H:
MOVCA,@A+PC后,把程序存储器_______1030H______单元的内容送累加器A中。
12.在R7初值为00H的情况下,DJNZR7,rel指令将循环执行______256_______次。
13.MOVPSW,#10H是将MCS-51的工作寄存器置为第________2___组。
14.指令LCALL37B0H,首地址在2000H,完成此操作后(PC)=___2003H________。
15.假定DPTR的内容为8100H,累加器A的内容为4DH,执行指令MOVCA,@A+DPTR后,送入A的是程序存储器_______814DH____单元的内容。
16.累加器A中存放一个其值小于或等于127的8位无符号数,CY清“0”后执行RLCA指令,则A中数变为原来的_____2______倍。
17.MCS-51的两条查表指令是__MOVCA,@A+PC;MOVCA,@A+DPTR_____________。
18.指令DJNZR7,rel的指令操作码所在的地址为3000H,rel=EFH,则它的转移目的地址为___2FF1H_____。
19.通过堆栈操作实现子程序调用,首先要把______PC__的内容入栈,以进行断点保护。
20.调用返回时再进行出栈操作,把保护的断点弹回__PC______。
289318805单片机原理及接口技术第3页共9页
21.设(SP)=60H,(ACC)=30H,(B)=70H,执行指令PUSHACC,PUSHB后,SP的内容为___62H____。
22.设(SP)=60H,(ACC)=40H,(B)=60H,执行PUSHACC,PUSHB后61H单元的内容为__40H_____。
23.设(SP)=60H,(ACC)=40H,(B)=80H,执行PUSHACC,PUSHB,62H单元的内容为_____80H___。
24.PC中存放的是____下一条指令的起始地址____。
25.ORLA,#0F0H是将A的高4位置1,而低4位___不变____________。
26.一台计算机的指令系统就是它所执行的_________指令_______集合。
27.累加器(A)=80H,执行完指令ADDA,#83H后,进位位C=________1____。
28.以助记符表示的计算机指令就是它的_________汇编____语言。
29.SJMPrel的指令操作码地址为0050H,rel=65H,那么它的转移目的地址为_______00B7H_____。
30.执行如下指令序列后,所实现的逻辑运算式为_P3.O=P1.0^P1.1^非P1.2_____________。
MOVC,P1.0
ANLC,P1.1
ANLC,/P1.2
MOVP3.0,C
31.当MCS-51引脚ALE信号有效时,表示从P0口稳定地送出了_____外部程序存储器的低8位_______地址。
三、读程序回答
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 习题 指令 编程 答案