单片机程序阅读题.docx
《单片机程序阅读题.docx》由会员分享,可在线阅读,更多相关《单片机程序阅读题.docx(6页珍藏版)》请在冰豆网上搜索。
单片机程序阅读题
2021年单片机程序阅读题
单片机是一种集成电路芯片,是采纳超大规模集成电路技术把具有数据处理力量的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能集成到一块硅片上构成的一个小而完善的微型计算机系统,下面是我为你们预备的单片机程序阅读题,盼望能关心你们。
单片机程序阅读题
1.设(A)=38H,(20H)=49H,PSW=00H,(B)=02H,填写以下结果。
SETBC
ADDCA,20H
RLCA(A)=______;(CY)=______;(P)=______;
MULAB(B)=______;
2.阅读程序并答复以下问题:
XDATA50H
YDATA51H
ORG00H
JMPSTART
ORG100H
START:
MOVSP,#60H
MOVX,#10
MOVY,#10
LCALLSUB
SUB:
NOP
INCX
DECY
MOVA,Y
JZSUBRET
LCALLSUB
SUBRET:
NOP
RET
计算X和Y的值是多少?
(X)=;(Y)=;
3.执行以下程序后,R2,R3的内容是什么?
请在要求说明的地方给程序加上说明
MOVR3,#45H
MOVDPTR,#TABL;说明:
MOVA,R3
ANLA,#0FH;说明:
MOVCA,@A+DPTR;说明:
MOVR2,A
MOVA,R3
ANLA,#0F0H
SWAPA
MOVCA,@A+DPTR
MOVR3,A
TABL:
DB0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,98H
(R2)=;(R3)=;
4.51单片机振荡频率为12MHz,阅读程序后说明
ORG0000H
LJMPMAIN
ORG001BH
LJMPINTT1
ORG0040H
INTT1:
MOVTH1,#3CH
MOVTL1,#0B0H
DJNZR7,L2
MOVR7,#20
CPLP1.2
L2:
RETI
ORG0100H
MOVSP,#5FH
MOVR7,#20
MOVTMOD,①
MOVTH1,#3CH
MOVTL1,#0B0H
SETBEA
SETB②
SETBTR1
SJMP$
1)依据程序内容填空:
①;②;
2)定时器T1的定时时间是多少?
3)存放器R7在程序中的作用是什么?
4)该程序完成什么功能?
5.执行下面一段程序;填写运行结果
MOVSP,#60H
MOVA,#10H
MOVB,#01H
PUSHA
PUSHB
POPA
POPB
A,B的内容是:
(A)=(B)=;
6.设自变量为X,存放在ARE单元,应变量Y存放在BUF单元。
给程序标注说明,说明该段子程序的功能并写出该程序的函数关系式。
(7分)
START:
MOVDPTR,#ARE
MOA,@DPTR
JZSUL
JBACC.7,NEG;说明:
MOVA,#02H
SUL:
MOVDPTR,#BUF
MO@DPTR,A;说明:
RET
NEG:
MOVA,#0FEH
SJMPSUL
7.执行以下程序段后,(P1)=_______。
MOVP1,#5DH
CPLP1.1
CPLP1.2
CLRP1.6
SETBP1.7
8.执行以下程序段后,(A)=_______,(CY)=____。
MOVA,#C5H
RLA
9.以下程序段执行后,(R0)=_______,(7EH)=____,(7FH)=_______。
MOVR0,#7EH
MOV7EH,#0FFH
MOV7FH,#40H
1NC@R0
1NCR0
1NC@R0
10.已知(SP)=60H,子程序SUBTRN的首地址为0345H,现执行位于0123H的ACALLSUBTRN双字节指令后,(PC)=___,(61H)=_______,(62H)=____。
11.阅读以下程序,说明其功能。
MOVR0,#data
MOVA,@R0
RLA
MOVR1,A
RLA
RLA
ADDA,R1
MOV@R0,A
RET
12.以下各条指令其源操作数的寻址方式是什么?
各条指令单独执行后,A中的结果是什么?
设(60H)=35H,(A)=19H,(R0)=30H,(30H)=0FH。
(1)MOVA,#48H;寻址方式:
(A)=
(2)ADDA,60H;寻址方式:
(A)=
(3)ANLA,@R0;寻址方式:
(A)=
13.阅读以下程序段,写出每条指令执行后的结果,并说明此程序段完成什么功能?
MOVR1,#30H;(R1)=
MOVA,#64H;(A)=
ADDA,#47H;(A)=,(CY)=,
(AC)=
DAA;(A)=,(CY)=,
(AC)=
MOV@R1,A;(R1)=,(30H)=
此程序段完成的功能:
14.已知(R0)=20H,(20H)=10H,(P0)=30H,(R2)=20H,执行如下程序段后(40H)=
MOV@R0,#11H
MOVA,R2
ADDA,20H
MOVPSW,#80H
SUBBA,P0
XRLA,#45H
MOV40H,A
15.已知(R0)=20H,(20H)=36H,(21H)=17H,(36H)=34H,执行过程如下:
MOVA,@R0
MOVR0,A
MOVA,@R0
ADDA,21H
ORLA,#21H
RLA
MOVR2,A
RET
那么执行完毕(R0)=(R2)=
16.执行下面一段程序;
MOVSP,#60H
MOVA,#10H
MOVB,#01H
PUSHA
PUSHB
POPA
POPB
A,B的内容是:
(A)=(B)=
17.设在31H单元存有#23H,执行下面程序:
MOVA,31H
ANLA,#0FH
MOV41H,A
MOVA,31H
ANLA,#0F0H
SWAPA
MOV42H,A
那么(41H)=(42H)=
18.程序填空
1)数据块传送,将RAM从30H开头的连续32个单元的内容传递给片内RAM从60H开头的连续32个单元。
ORG1000H
MOVR7,_____
MOVR0,#30H
MOVR1,#60H
LOOP:
MOVA,@R0
MOV_____,A
INCR0
INCR1
DJNZR7,_____
SJMP$
END
2)将4个单字节数放片内30H~~33H,它们求和结果放在片内40H,41H单元。
ORG1000H
MOVR7,#04H
MOVR0,30H
CLRA
MOV41H,A
LOOP:
ADDA,@R0
JNCNEXT
INC_____
NEXT:
INC_____
DJNZR7,LOOP
MOV40H,A
SJMP$
END
3)RAM中40H单元内存有一个十六进制数,把这个数转换为BCD码的十进制数,BCD码的十位和个位放在累加器A中,百位放在R2中。
ORG2200H
MOVA,_____
MOVB,#64H
DIVAB
MOVR2,A
MOVA,_____
XCHA,B
DIVAB
SWAP_____
ORLA,B
SJMP$
END
4)编程序将片内40H-46H单元内容的高4位清零,保持低4位不变。
ORG1000H
MOVR7,#07H
MOVR0,_____
LOOP:
MOVA,@R0
ANLA,_____
MOV@R0,A
INCR0
DJNZR7,LOOP
SJMP$
END
19、程序如下
2506HM5:
MOVSP,#58H;
2509H MOV10H,0FH;
250CHMOV11H,#0BH;
250FHACALLXHD;
2511HMOV20H,11H
2514HM5A:
SJMPM5A
XHD:
PUSH10H
PUSH11H
POP10H
POP11H
RET
问:
(1)执行POP10H后堆栈内容?
(2)执行M5A:
SJMPM5A后,(SP)=?
(20H)=?