收藏 分销(赏)

单片机程序分析题练习B2.doc

上传人:人****来 文档编号:3559795 上传时间:2024-07-09 格式:DOC 页数:8 大小:49.50KB 下载积分:6 金币
下载 相关 举报
单片机程序分析题练习B2.doc_第1页
第1页 / 共8页
单片机程序分析题练习B2.doc_第2页
第2页 / 共8页


点击查看更多>>
资源描述
1.程序如下: MOV SP,#13H MOV 33H,#7FH MOV 44H,#0ABH PUSH 33H PUSH 44H POP 33H POP 44H 程序执行后,(33H)=0ABh ,(44H)=7Fh 2.下列各条指令其源操作数的寻址方式是什么?各条指令单独执行后,A中的结果是什么?设(60H)=35H,(A)=19H,(R0)=30H,(30H)=0FH。   (1)MOV A,#48H ;寻址方式: (A)= 48H   (2)ADD A,60H ;寻址方式: (A)= 4DH   (3)ANL A,@R0 ;寻址方式: (A)= 10H  3.阅读下列程序段,写出每条指令执行后的结果,并说明此程序段完成什么功能? MOV R1,#30H ;(R1)=30H MOV A,#64H ;(A)= 64H ADD A,#47H ;(A)=ABH ,(CY)= 0 , (AC)= 0 DA A ;(A)=31H ,(CY)=1 , (AC)= MOV @R1,A ;(R1)= 30H ,(30H)= 31H 此程序段完成的功能 4.设(A)=38H,R0=28H,(28H)=18H,执行下列程序后,(A)=0 ORL A,#27H ANL A,28H XCHD A,@R0 CPL A 5.设(A)=38H,(20H)=49H,PSW=00H,(B)=02H,填写以下中间结果。 SETB C ADDC A, 20H (A)= 82H (CY)= 0 (AC)= 1 RLC A (A)=04H (CY)=1 (P)= 1 MUL AB (A)=08H (B)=00H (OV)=0 6.已知(R0)=20H, (20H ) =10H, (P0) =30H, (R2) =20H, 执行如下程序段后( 40H ) =15H MOV @R0 , #11H (20H)=11H MOV A , R2 A=20H ADD A , 20H A=40H MOV PSW , #80H SUBB A , P0 A=10H XRL A , #45H A=15H MOV 40H , A (40H)=15H 7. 已知 ( R0 )=20H, (20H )=36H, (21H) =17H, (36H) =34H, 执行过程如下: MOV A , @R0 A=36H MOV R0 , A R0=36H MOV A , @R0 A=34H ADD A , 21H A=4BH ORL A , #21H A=21H RL A A=42H MOV R2 , A R2=42H RET 则执行结束(R0)=36H (R2)= 42H 8.设在31H单元存有#23H,执行下面程序: MOV A, 31H A=23H ANL A, #0FH A=03H MOV 41H, A (41H)=03H MOV A, 31H A=23H ANL A, #0F0H A=20H SWAP A A=02H MOV 42H, A (42H)=02H 则(41H)= 03H (42H)= 02H 9.(R0)=4BH,(A)=84H,片内RAM(4BH)=7FH,(40)=20H    MOV A,@R0 A=7FH    MOV @R0,40H (4BH)=20H    MOV 40H,A (40H)=7FH;    MOV R0,#35H R0=35H    问执行程序后,R0=35H A= 7FH 4BH= 20H 40H= 7FH 10.若PSW=00, 执行下列程序后,PSW的CY,AC,OV,P各位状态如何? MOV A,#0FBH A=FBH MOV PSW,#10H ADD A,#7FH A=7AH CY=1; AC=1;OV=1; P=1; 11.程序存储器空间表格如下: 地址 2000H 2001H 2002H 2003H ... 内容 3FH 06H 5BH 4FH ... 已知:片内RAM的20H中为01H,执行下列程序后(30H)=A3H MOV A,20H A=O1H INC A A=02H MOV DPTR,#2000H DPRT=2000H MOVC A,@A+DPTR A=5BH CPL A A=A3H MOV 30H,A (30H) =A3H SJMP $ END 执行程序后,(30H)= A3H 12.分析程序段: CLR C 清零cy指令 MOV A,#91H 给A立即数 SUBB A,61H ; A寄存器与地址(61h)的值相减 ADD A,61H ; A寄存器与地址(61h)的值相加 DA A ; BDC码调整指令 MOV 62H,A 把累加器A的值送给地址寄存器62h (1)程序执行何种操作? 对91H做BDC码调整; (2)若已知初值:(60H)=24H,(61H)=72H,则运行后,(62H)= 91H 。 13.设(R0)=7EH,DPTR=10FEH,片内RAM 7EH和7FH两单元的内容分别是FFH和38H,请写出下列程序段的每条指令的执行结果。 INC @R0 (7E)=00H INC R0 R0=7FH INC @R0 (7FH)=39H INC DPTR DPTR=10FFH INC DPTR DPTR=1100H INC DPTR DPTR=1101H 14.设R0=20H,R1=25H,(20H)=80H,(21H)=90H,(22H)=A0H,(25H)=A0H,    (26H)=6 FH,(27H)=76H,下列程序执行程序后,结果如何?     CLR C C=0;     MOV R2,#3 R2=3;           LOOP: MOV A,@R0 A=80H A=90H             ADDC A,@R1 A=20H             MOV @R0,A (20H)=20H;(21H)=00H; (22H)=16H             INC R0 R0=21H;             INC R1 R1=26H             DJNZ R2,LOOP             JNC NEXT1             MOV @R0,#01H (23H)=01H             SJMP $           NEXT: DEC R0            SJMP $ (20H)=20H 、(21H)= 00H 、(22H)=16H 、(23H)= 01H 、 CY=1 A=16H 、R0=23H 、R1=27H 。 15.MOV DPTR,#2000H (DPTR)= 2000H MOV A,#80H (A)= 80H MOVX @DPTR,A (2000H)= 80H INC DPTR (DPTR)= 2001 MOV A,#90H (A)= 90H MOVX @DPTR,A (2001H)= 90H MOV DPTR,#2000H (DPTR)= 2000H MOVX A,@DPTR (A)= 80H MOV B,A (B)=80H INC DPTR (DPTR)= 2001H MOVX A,@DPTR (A)= 90H 16.若(10H)=0FFH,(11H)=00H,(12H)=0FFH,(13H)=00H,写出每一步指令运行结果 MOV A,10H (A)= FFH , ANL A,#01H (A)= 01H , MOV A,11H (A)= 00H , ORL A,#01H (A)= 01H , MOV A,12H (A)= FFH , XRL A,#01H (A)= FEH , MOV A,13H (A)= 00H , XRL A,#0AA (A)= AAH , (10H)= FFH , (11H)= 00H , (12H)= FFH , (13H)= 00H 17. 阅读程序并回答下列问题: X DATA 50H Y DATA 51H ORG 00H JMP START ORG 100H START: MOV SP,#60H MOV X,#10 (50H)=10 MOV Y,#10 (51H)=10 LCALL SUB SUB: NOP INC X (50H)=11 X+10=20 DEC Y (51H)=9 Y=0; MOV A,Y A=9 JZ SUBRET LCALL SUB SUBRET: NOP RET 计算X和Y的值是多少? (X)= 20 ; (Y)= 0 ; 18. 设自变量为X,存放在ARE单元,应变量Y存放在BUF单元。给程序标注注释,说明该段子程序的功能并写出该程序的函数关系式。(7分) START: MOV DPTR,#ARE MOVX A,@DPTR JZ SUL JB ACC.7,NEG ;注释:如果A的值大于128跳转NEG MOV A,#02H SUL: MOV DPTR,#BUF MOVX @DPTR,A ;注释:把A的值传送给BUF地址中 RET NEG: MOV A,#0FEH SJMP SUL 如果X=0,Y=0; 如果X<128,Y=02h; 如果X>128,Y=FEH; 19. 执行下列程序段后,(P1)=_9AH__。 MOV P1,#5DH CPL P1.1 CPL P1.2 CLR P1.6 SETB P1.7 20. 执行下列程序段后,(A)=___8BH____,(CY)=__0_。 MOV A,#C5H RL A 21. 下列程序段执行后,(R0)=___7EH____,(7EH)=__41H__,(7FH)=___01H____。 MOV R0,#7EH R0=7EH MOV 7EH,#0FFH (7EH)=FFH MOV 7FH,#40H (7EH)=40H 1NC @R0 (7EH)=41H 1NC R0 R0=7FH; 1NC @R0 (7FH)=1; 22. 已知(SP)=60H,子程序SUBTRN的首地址为0345H,现执行位于0123H的ACALL SUBTRN双字节指令后,(PC)=___,(61H)=_______,(62H)= ____。 23. 阅读下列程序,说明其功能。 MOV R0,#data MOV A,@R0 RL A MOV R1,A RL A RL A ADD A,R1 MOV @R0,A RET 24. 程序填空 1)数据块传送,将RAM从30H开始的连续32个单元的内容传递给片内RAM从60H开始的连续32个单元。 ORG 1000H MOV R7,_____ MOV R0, #30H MOV R1,#60H LOOP:MOV A,@R0 MOV _____,A INC R0 INC R1 DJNZ R7, _____ SJMP $ END 2) RAM中40H单元内存有一个十六进制数,把这个数转换为BCD码的十进制数,BCD码的十位和个位放在累加器A中,百位放在R2中。 ORG 2200H MOV A,_____ MOV B,#64H DIV AB MOV R2,A MOV A,_____ XCH A,B DIV AB SWAP _____ ORL A,B SJMP $ END 3) 编程序将片内40H-46H单元内容的高4位清零,保持低4位不变。 ORG 1000H MOV R7,#07H MOV R0,_____ LOOP:MOV A,@R0 ANL A,_____ MOV @R0,A INC R0 DJNZ R7,LOOP SJMP $ END 25. 程序如下  2506H M5: MOV SP,#58H; 2509H        MOV 10H,#0FH; 250CH MOV 11H,#0BH; 250FH ACALL XHD; 2511H MOV 20H,11H 2514H M5A: SJMP M5A XHD: PUSH 10H PUSH 11H POP 10H POP 11H RET 问:(1)执行POP 10H后堆栈内容? (2)执行M5A: SJMP M5A后,( SP )=? ( 20H )=? 26. 解读下列程序,然后填写有关寄存器内容 (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 若PSW=00,当执行完上述程序段后,将PSW各位状态填入下表: PSW CY AC F0 RS1 RS0 OV F1 P 27. 改正下列指令 MOV @R3,A MOV DPTR,A INC @R3 I DEC DPTR ADDC #30H,A 28. 设内部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
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服