1、第五部分 程序阅读题1. 设(A)=38H, (20H)=49H, PSW=00H, (B)=02H,填写以下结果。SETBCADDCA, 20HRLCA(A)= _;(CY)= _;(P)= _; MULAB(B)= _; 2. 阅读程序并回答下列问题: X DATA 50HY DATA 51HORG 00HJMP STARTORG 100HSTART:MOV SP,#60HMOV X,#10MOV Y,#10LCALL SUBSUB:NOPINC XDEC YMOV A,YJZ SUBRETLCALL SUBSUBRET: NOPRET计算X和Y的值是多少?(X) ; (Y) ;3. 执行
2、下列程序后,R2,R3的内容是什么?请在要求注释的地方给程序加上注释MOV R3,#45HMOVDPTR,#TABL;注释:MOVA,R3ANLA,#0FH;注释:MOVC A,A+DPTR;注释:MOVR2,AMOVA,R3ANLA,#0F0HSWAPAMOVC A,A+DPTRMOVR3,A.TABL: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,98H(R2) ; (R3) ;4. 51单片机振荡频率为12MHz,阅读程序后说明ORG 0000HLJMPMAINORG001BHLJMPINTT1ORG0040HINTT1:MOVTH1, #3C
3、HMOVTL1, #0B0HDJNZR7, L2MOVR7, #20CPLP1.2L2:RETIORG0100HMOVSP, #5FHMOVR7, #20MOVTMOD, MOVTH1, #3CHMOVTL1, #0B0HSETBEASETB SETBTR1SJMP$1) 根据程序内容填空: ; ;2) 定时器T1的定时时间是多少?3) 寄存器R7在程序中的作用是什么?4) 该程序完成什么功能? 5. 执行下面一段程序;填写运行结果 MOV SP, #60H MOV A, #10H MOV B, #01H PUSH A PUSH B POP A POP BA , B的内容是:(A)= (B)=
4、 ; 6. 设自变量为X,存放在ARE单元,应变量Y存放在BUF单元。给程序标注注释,说明该段子程序的功能并写出该程序的函数关系式。(7分)START:MOV DPTR,#AREMOVX A,DPTRJZ SULJB ACC.7,NEG;注释:MOV A,#02HSUL:MOV DPTR,#BUFMOVX DPTR,A;注释:RETNEG:MOV A,#0FEH SJMPSUL7. 执行下列程序段后,(P1)=_。 MOV P1,#5DH CPL P1.1 CPL P1.2 CLR P1.6 SETB P1.78. 执行下列程序段后,(A)=_,(CY)=_。 MOV A,#C5H RL A9
5、.下列程序段执行后,(R0)=_,(7EH)=_,(7FH)=_。 MOV R0,#7EH MOV 7EH,#0FFH MOV 7FH,#40H 1NC R0 1NC R0 1NC R010. 已知(SP)=60H,子程序SUBTRN的首地址为0345H,现执行位于0123H的ACALL SUBTRN双字节指令后,(PC)=_,(61H)=_,(62H)= _。11.阅读下列程序,说明其功能。 MOV R0,#data MOV A,R0 RL A MOV R1,A RL A RL A ADD A,R1 MOV R0,A RET12.下列各条指令其源操作数的寻址方式是什么?各条指令单独执行后,A
6、中的结果是什么?设(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)= MOVR1,A;(R1)= ,(30H)= 此程序段完成的功能:14. 已知(R0)=20H, (20H ) =10H, (
7、P0) =30H, (R2) =20H, 执行如下程序段后( 40H ) = MOV R0 , #11H MOV A , R2 ADD A , 20H MOV PSW , #80H SUBB A , P0 XRL A , #45H MOV 40H , A15. 已知 ( R0 )=20H, (20H )=36H, (21H) =17H, (36H) =34H, 执行过程如下: MOV A , R0 MOV R0 , A MOV A , R0 ADD A , 21H ORL A , #21H RL A MOV R2 , A RET则执行结束(R0)= (R2)= 16. 执行下面一段程序; MO
8、V SP, #60H MOV A, #10H MOV B, #01H PUSH A PUSH B POP A POP BA , B的内容是:(A)= (B)= 17. 设在31H单元存有23H,执行下面程序: MOV A, 31H ANL A, #0FH MOV 41H, A MOV A, 31H ANL A, #0F0H SWAP A MOV 42H, A 则(41H)= (42H)= 18程序填空1)数据块传送,将RAM从30H开始的连续32个单元的内容传递给片内RAM从60H开始的连续32个单元。 ORG 1000H MOV R7,_MOV R0, #30HMOV R1,#60HLOOP
9、:MOV A,R0 MOV _,A INC R0 INC R1 DJNZ R7, _ SJMP $ END2) 将4个单字节数放片内30H33H,它们求和结果放在片内40H,41H单元。ORG 1000HMOV R7,#04HMOV R0,30HCLR AMOV 41H,ALOOP: ADD A,R0 JNC NEXTINC _ NEXT:INC _DJNZ R7,LOOP MOV 40H,A SJMP $ END3) RAM中40H单元内存有一个十六进制数,把这个数转换为BCD码的十进制数,BCD码的十位和个位放在累加器A中,百位放在R2中。ORG 2200HMOV A,_MOV B,#64
10、HDIV ABMOV R2,AMOV A,_XCH A,BDIV ABSWAP _ORL A,BSJMP $ END4) 编程序将片内40H-46H单元内容的高4位清零,保持低4位不变。 ORG 1000H MOV R7,#07HMOV R0,_LOOP:MOV A,R0 ANL A,_ MOV R0,A INC R0 DJNZ R7,LOOP SJMP $END19、程序如下2506H M5: MOV SP,#58H; 2509MOV 10H,0FH; 250CH MOV 11H,#0BH; 250FH ACALL XHD; 2511H MOV 20H,11H 2514H M5A: SJMP
11、 M5A XHD: PUSH 10H PUSH 11H POP 10H POP 11H RET问:()执行POP 10H后堆栈内容?()执行M5A: SJMP M5A后,( SP )=?( 20H )=? 20、解读下列程序,然后填写有关寄存器内容(1) MOV R1,#48H MOV 48H,#51H CJNE R1,#51H,00H JNC NEXT1 MOV A,#0FFH SJMP NEXT2 NEXT: MOV A,#0AAH NEXT2: SJMP NEXT2 累加器 A=( )(2) MOV A,#0FBH MOV PSW,#10H ADD A,#7FH若,当执行完上述程序段后,
12、将各位状态填入下表:21、设R0=20H,R1=25H,(20H)=80H,(21H)=90H,(22H)=A0H,(25H)=A0H,(26H)=6 FH,(27H)=76H,下列程序执行程序后,结果如何? CLR C MOV R2,#3LOOP: MOV A,R0 ADDC A,R1 MOV R0,A INC R0 INC R1 DJNZ R2,LOOP JNC NEXT1 MOV R0,#01H SJMP $NEXT: DEC R0 SJMP $ (20H)=( )、(21H)= 、(22H)= 、(23H)= 、 CY= A= 、R0= 、R1= 。22、设片内中(),执行下列程序段,
13、 ,() ,() ,() 23. MOV A,#10H (A)= MOV B,A (B)= MOV A,B (A)= ADD A,B (A)= MOV 20H,A (20H)= INC A (A)= MOV 21H,A (21H)= INC A (A)= MOV 22H,A (22H)= 24MOV DPTR,#2000H (DPTR)= MOV A,#80H (A)= MOVX DPTR,A (2000H)= INC DPTR (DPTR)= MOV A,#90H (A)= MOVX DPTR,A (2001H)= MOV DPTR,#2000H (DPTR)= MOVX A,DPTR (A
14、)= MOV B,A (B)= INC DPTR (DPTR)= MOVX A,DPTR (A)= 25、改正下列指令MOV R3,A MOV DPTR,A INC R3 I DEC DPTR ADDC #30H,A 26. 设内部RAM(30H)=5AH,(5AH)=40H,(40H)=00H,端口P1=7FH,问执行下列指令后,各有关存储单元(即R0,R1,A,B,P1,30H,40H及5AH单元)的内容如何?(8分) MOV R0,#30H MOV A,R0 MOV R1,A MOV B,R1 MOV R1,P1 MOV A,P1 MOV 40H,#20H MOV 30H,40H 参考答
15、案:1.(A)= _04H_;(CY)= _1_;(P)= _1_;(B)= _00H_; 2. (X) 20 ; (Y) 0 ;3. MOVDPTR,#TABL;注释:将表头赋值给DPTRMOVA,R3ANLA,#0FH;注释:对A做与操作,保留A的第四位MOVC A,A+DPTR;注释:查表,A的值表示在表中的次序 (R2) 92H ; (R3) 99H ;4. 1) 根据程序内容填空: #10H ; ET1 ;2) 定时器T1的定时时间是多少?50ms3) 寄存器R7在程序中的作用是什么?乘数,20次*50ms=1s4) 该程序完成什么功能? 由P1.2输出周期为2s,占空比1:1的方波信号5. A , B的内容是:(A)= #01H (B)= #10H 6. JB ACC.7,NEG;注释:判断A中值的正负;MOV A,#02HSUL:MOV DPTR,#BUFMOVX DPTR,A ;注释:把A的值放入Y中;功能:分段函数计算,Y=2 (X0)Y=0 (X=0)Y=0FEH (X0,Y=1 MOV A,#0FFH ;x0,Y=-1 SJMP RES POSI: MOV
版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。
Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1
陕公网安备 61072602000132号 违法和不良信息举报:0916-4228922