收藏 分销(赏)

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

上传人:人****来 文档编号:3559795 上传时间:2024-07-09 格式:DOC 页数:8 大小:49.50KB
下载 相关 举报
单片机程序分析题练习B2.doc_第1页
第1页 / 共8页
单片机程序分析题练习B2.doc_第2页
第2页 / 共8页
单片机程序分析题练习B2.doc_第3页
第3页 / 共8页
单片机程序分析题练习B2.doc_第4页
第4页 / 共8页
单片机程序分析题练习B2.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

1、1程序如下:MOV SP,#13HMOV 33H,#7FHMOV 44H,#0ABHPUSH 33HPUSH 44HPOP 33HPOP 44H程序执行后,(33H)=0ABh ,(44H)=7Fh2下列各条指令其源操作数的寻址方式是什么?各条指令单独执行后,A中的结果是什么?设(60H)=35H,(A)=19H,(R0)=30H,(30H)=0FH。(1)MOVA,#48H;寻址方式: (A)= 48H (2)ADDA,60H;寻址方式: (A)= 4DH (3)ANLA,R0;寻址方式: (A)= 10H 3阅读下列程序段,写出每条指令执行后的结果,并说明此程序段完成什么功能? MOVR1

2、,#30H;(R1)=30H MOVA,#64H;(A)= 64H ADDA,#47H;(A)=ABH ,(CY)= 0 ,(AC)= 0 DAA;(A)=31H ,(CY)=1 ,(AC)= MOVR1,A;(R1)= 30H ,(30H)= 31H 此程序段完成的功能4设(A)=38H,R0=28H,(28H)=18H,执行下列程序后,(A)=0 ORL A,#27HANL A,28HXCHD A,R0CPL A5设(A)=38H,(20H)=49H,PSW=00H,(B)=02H,填写以下中间结果。SETB CADDC A, 20H (A)= 82H (CY)= 0 (AC)= 1 RL

3、C A (A)=04H (CY)=1 (P)= 1MUL 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 , #45HA=15H MOV 40H , A(40H)=15H7. 已知 ( R0 )=20H, (20H )=36H, (21H) =17H, (36H

4、) =34H, 执行过程如下: MOV A , R0 A=36H MOV R0 , A R0=36H MOV A , R0 A=34H ADD A , 21HA=4BH ORL A , #21HA=21H RL AA=42H MOV R2 , A R2=42H RET则执行结束(R0)=36H (R2)= 42H 8.设在31H单元存有23H,执行下面程序: MOV A, 31H A=23H ANL A, #0FHA=03H MOV 41H, A(41H)=03H MOV A, 31H A=23H ANL A, #0F0H A=20H SWAP AA=02H MOV 42H, A(42H)=0

5、2H 则(41H)= 03H (42H)= 02H 9(R0)=4BH,(A)=84H,片内RAM(4BH)=7FH,(40)=20HMOV A,R0A=7FHMOV R0,40H(4BH)=20HMOV 40H,A(40H)=7FH;MOV R0,#35HR0=35H问执行程序后,R0=35H A= 7FH 4BH= 20H 40H= 7FH 10.若PSW=00, 执行下列程序后,PSW的CY,AC,OV,P各位状态如何?MOV A,#0FBH A=FBHMOV PSW,#10H ADD A,#7FHA=7AH CY=1; AC=1;OV=1; P=1;11程序存储器空间表格如下: 地址

6、内容 已知:片内的中为,执行下列程序后()A3H , A=O1H A=02H , DPRT=2000H , A=5BH A=A3HMOV 30H,A (30H) =A3H SJMP $ END执行程序后,(30H)= A3H 12分析程序段: 清零cy指令 ,给A立即数 , ; A寄存器与地址(61h)的值相减 , ;A寄存器与地址(61h)的值相加 ; BDC码调整指令 ,把累加器A的值送给地址寄存器62h (1)程序执行何种操作? 对91H做BDC码调整;(2)若已知初值:(60H)=24H,(61H)=72H,则运行后,(62H)= 91H 。 13设(),片内 E和两单元的内容分别是和

7、,请写出下列程序段的每条指令的执行结果。 (7E)=00H R0=7FH (7FH)=39H DPTR=10FFH DPTR=1100H DPTR=1101H14设R0=20H,R1=25H,(20H)=80H,(21H)=90H,(22H)=A0H,(25H)=A0H,(26H)=6 FH,(27H)=76H,下列程序执行程序后,结果如何? CLR C C=0; MOV R2,#3R2=3;LOOP: MOV A,R0A=80H A=90H ADDC A,R1A=20H MOV R0,A (20H)=20H;(21H)=00H; (22H)=16H INC R0R0=21H; INC R1R

8、1=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 。15MOV 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

9、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)=

10、 00H ,XRL A,#0AA (A)= AAH ,(10H)= FFH , (11H)= 00H , (12H)= FFH , (13H)= 00H 17. 阅读程序并回答下列问题: X DATA 50HY DATA 51HORG 00HJMP STARTORG 100HSTART:MOV SP,#60HMOV X,#10 (50H)=10MOV Y,#10 (51H)=10LCALL SUBSUB:NOPINC X(50H)=11 X+10=20DEC Y(51H)=9Y=0;MOV A,Y A=9JZ SUBRETLCALL SUB SUBRET: NOPRET计算X和Y的值是多少?(

11、X) 20 ; (Y) 0 ;18. 设自变量为X,存放在ARE单元,应变量Y存放在BUF单元。给程序标注注释,说明该段子程序的功能并写出该程序的函数关系式。(7分)START:MOV DPTR,#AREMOVX A,DPTRJZ SULJB ACC.7,NEG;注释:如果A的值大于128跳转NEGMOV A,#02HSUL:MOV DPTR,#BUFMOVX DPTR,A;注释:把A的值传送给BUF地址中RETNEG:MOV A,#0FEH SJMPSUL如果X=0,Y=0;如果X128,Y=FEH;19. 执行下列程序段后,(P1)=_9AH_。 MOV P1,#5DH CPL P1.1

12、CPL P1.2 CLR P1.6 SETB P1.720. 执行下列程序段后,(A)=_8BH_,(CY)=_0_。 MOV A,#C5H RL A21. 下列程序段执行后,(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 R0R0=7FH; 1NC R0(7FH)=1;22. 已知(SP)=60H,子程序SUBTRN的首地址为0345H,现执行位于0123H的ACALL SUBTRN双字节指令后,(P

13、C)=_,(61H)=_,(62H)= _。23. 阅读下列程序,说明其功能。 MOV R0,#data MOV A,R0 RL A MOV R1,A RL A RL A ADD A,R1 MOV R0,A RET24. 程序填空1)数据块传送,将RAM从30H开始的连续32个单元的内容传递给片内RAM从60H开始的连续32个单元。 ORG 1000H MOV R7,_MOV R0, #30HMOV R1,#60HLOOP:MOV A,R0 MOV _,A INC R0 INC R1 DJNZ R7, _ SJMP $ END2) RAM中40H单元内存有一个十六进制数,把这个数转换为BCD码

14、的十进制数,BCD码的十位和个位放在累加器A中,百位放在R2中。ORG 2200HMOV A,_MOV B,#64HDIV ABMOV R2,AMOV A,_XCH A,BDIV ABSWAP _ORL A,BSJMP $ END3) 编程序将片内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 $END25. 程序如下2506H M5: MOV SP,#58H; 2509MOV 10H,#0FH; 250CH MOV 1

15、1H,#0BH; 250FH ACALL XHD; 2511H MOV 20H,11H 2514H M5A: SJMP M5A XHD: PUSH 10H PUSH 11H POP 10H POP 11H RET问:()执行POP 10H后堆栈内容?()执行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 累

16、加器 A=( )(2) MOV A,#0FBH MOV PSW,#10H ADD A,#7FH若,当执行完上述程序段后,将各位状态填入下表: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

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

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

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

关于我们      便捷服务       自信AI       AI导航        获赠5币

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

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

gongan.png浙公网安备33021202000488号   

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

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服