单片机程序分析题练习_第1页
单片机程序分析题练习_第2页
单片机程序分析题练习_第3页
单片机程序分析题练习_第4页
单片机程序分析题练习_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

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

3、Y)= 0 (AC)= 1RLC A(A)=04H(CY)=1(P)= 1MUL AB(A)=08H(B)=00H(OV)=06. (R0) =20H, (20H ) =10H, (P0) =30H, (R2) =20H,执行如下程序段后(40H ) =15HMOV R0 , #11H(20H)=11HMOV A , R2A=20HADD A , 20HA=40HMOV PSW , #80HSUBB A , P0A=10HXRL A , #45HA=15HMOV 40H , A(403 =15H7. (R0 )=20H, (20H )=36H, (21H) =17H, (36H) =34H,执

4、行过程如下:MOV A , R0A=36HMOV R0 , AR0=36HMOV A , R0A=34HADD A , 21HA=4BHORL A , #21HA=21HRL AA=42HMOV R2 , AR2=42HRET那么执行结束R0) =36H(R2)= 42H8.设在31H单元存有# 23H,执行下面程序:MOV A, 31H A=23HANL A, #0FHA=03HMOV 41H, A (41H)=03HMOV A, 31H A=23HANL A, #0F0HA=20HSWAP AA=02HMOV 42H, A(42H)=02H那么(41H)= 03H(42H)= 02H9.

5、(R0)=4BH,(A)=84H,片内 RAM(4BH)=7FH,(40)=20HMOV A,R0A=7FHMOV R0,40H (4BH)=20HMOV 40H,A(40H)=7FH;MOV R0,#35H R0=35H问执行程序后,R0=35H A= 7FH 4BH= 20H 40H=7FH10. 假设PSW=00,执行以下程序后,PSW的CY,AC,OV,P各位状态如何?MOV A,#0FBH A=FBHMOV PSW,#10HADD A,#7FH A=7AH CY=1; AC=1;OV=1; P=1;11. 程序存储器空间表格如下:地址 2000H2001H2002H2003H.内容

6、3FH06H 5BH 4FH .:片内RAM的2 0 H中为0 1 H,执行以下程序后(3 0 H) = A3HMOV A, 2 0 H A=O1HINC A A=02HMOV DPTR, #2000H DPRT=2000HMOVC A, A + DPTR A=5BHC P L AA=A3HMOV 30H,A(30H) =A3HSJMP $END执行程序后,(30H)= A3H12. 分析程序段:C L R C清零cy指令MOV A, #9 1H给A立即数SUBB A, 6 1H ; A存放器与地址(61h)的值相减ADD A, 6 1H ; A存放器与地址(61h)的值相加D A AMOV

7、6 2 H, A(1)程序执行何种操作?(2)假设初值:(60H)BDg调整指令把累加器A的值送给地址存放器 62h对91H做BDg调整;=24H,(61H)=72H,那么运行后,(62H) = 91H7 EH和7 F H两单元的13.设(RO) = 7EH, DPTR=1 0 F EH,片内 RAM内容分别是F FH和3 8 HINC R 0INCROINC R 0请写出以下程序段的每条指令的执行结果.(7E)=00HR0=7FH(7FH)=39HINCDPTRINCDPTRINCDPTRDPTR=10FFHDPTR=1100HDPTR=1101H14. 设 R0=20H,R1=25H,(2

8、0H)=80H , (21H)=90H , (22H)=A0H, (25H)=A0H, (26H)=6 FH ,(27H)=76H,以下程序执行程序后,结果如何?CLR CC=0;MOV R2,#3R2=3;LOOP: MOVA,R0A=80HA=90HADDCA,R1A=20HMOV R0,A (20H)=20H;(21H)=00H; (22H)=16HINCR0R0=21H;INCR1R1=26HDJNZ R2,LOOP JNC NEXT1MOV R0,#01H (23H)=01HSJMP $NEXT: DEC R0 SJMP $(20H) =20H、(21H)= 00H 、(22H)=1

9、6H 、(23H)= 01H 、CY=1A=16H、R0=23H、R1=27H.(DPTR = 2000H(A) = 80H(2000H) = 80H(DPTR = 2001(A) = 90H (2001R = 90H(DPTR = 2000H(A) = 80H(B) =80H(DPTR = 2001H(A) = 90H15. MOV DPTR,#2000HMOV A,#80H MOVX DPTR,A INC DPTR MOV A,#90H MOVX DPTR,AMOV DPTR,#2000H MOVX A,DPTR MOV B,A INC DPTR MOVX A,DPTR16. 假设(10H

10、)=0FFH,(11H)=00H,(12H)=0FFH,(13H)=00H,写出每一步指令运行结果MOVA,10H(A)=FFHANLA,#01H(A)=01H _,MOVA,11H(A)=00H,ORLA,#01H(A)=01H _,MOVA,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)= 00H17. 阅读程序并答复以下问题:XDATA50HYDATA51HORG 00HJMP STARTORG 100HST

11、ART: MOV SP,#60HMOV X,#10(503 =10MOV Y,#10 (51H)=10LCALL SUBSUB:NOPINCX(50H)=11X+10=20DEC Y (51H)=9Y=0;MOVA,YA=9JZSUBRETLCALLSUBSUBRET:NOPRET计算X和Y的值是多少?(X) = 20;(Y) = 0 ;18. 设自变量为X,存放在ARE单元,应变量Y存放在BUF单元.给程序标注注释,说明该段子程序的功能并写出该程序的函数关系式.(7分)START MOV DPTR,#AREMOVX A DPTRJZ SULJB ACC.7 , NEG ;注释:如果 A的值大

12、于128跳转NEGMOVA, #02HSUL MOV DPTR,#BUFMOVX DPTRA;注释:把 A的值传送给 BUF地址中RETNEG MOV A #0FEHSJMP SUL如果 X=0,Y=0;如果 X128,Y=FEH;19. 执行以下程序段后,(P1)= 9AH .MOV P1 , #5DHCPL P1.1CPL P1.2CLR P1.6SETB P1.7 20.执行以下程序段后,(A)=8BH,(Cy)=_0_.MOV A , #C5H RL A21.以下程序段执行后, MOV R 0, #7EH MOV 7EH , #0FFH MOV 7FH , #40H 1NC R0 1N

13、C R0 1NC R0(Ro)=_7EH,(7EH)=_41H_,(7FH)=01H R0=7EH(7EH)=FFH(7EH)=40H(7EH)=41HR0=7FH;(7FH)=1;22. (SP)=60H,子程序 SUBTRN勺首地址为 0345H,现执行位于 0123H的ACALLSUBTRN双字节指令后,(PC)=,(61H)=,(62H)=.23. 阅读以下程序,说明其功能.MOV R 0,#dataMOV A,R0RL AMOV R 1, ARL ARL AADD A , RiMOV R0,A RET24. 程序填空1) 数据块传送,将 RAMa 30H开始的连续32个单元的内容传递

14、给片内RA耿60H开始的 连续32个单元.ORG 1000HMOV R7 , MOV R0, #30HMOV R1,#60HLOOP MOV A,R0MOV ,AINC R0INC R1DJNZ R7,SJMP $END2) RAM中40H单元内存有一个十六进制数,把这个数转换为BC咽的十进制数,BCD马的十位和个位放在累加器 A中,百位放在 R2中.ORG 2200HMOV A MOV B #64HDIV ABMOV R2 AMOV A XCH A, B DIV AB SWAP ORL A, BSJMP $END3)编程序将片内40H-46H单元内容的高4位清零,保持低 4位不变.ORG 1

15、000HMOV R7 , #07HMOV R0, LOOP MOV A, R0ANL A , MOV R0 , AINC R0DJNZ R7 , LOOP SJMP $END25.程序如下2506HM5: MOV SP,#58H;2509 HMOV 10H,#0FH;250CHMOV11H,#0BH;250FHACALL XHD;2511HMOV20H,11H2514HM5A: SJMP M5AXHD:PUSH10HPUSHPOPPOP11H10H11HRET问:(1 )执行POP 10H后堆栈内容?(2)执行 M5A: SJMP M5A 后,(SP )=?( 20H )=?26.解读以下程序,然后填写有关存放器内容MOV CJNE JNC MOV SJMPMOV R1,#48H48H,#51HR1,#51H,00HNEXT1A,#0FFHNEXT: MOVNEXT2: SJMPA,#0AAHNEXT2A=()MOV A,#0FBHMOVADDPSW,#10HA,#7FHNEXT2假设P SW= 0 0 ,当执行完上述程序段后,将P SW各位状态填入下表:P S WC YACF 0R S 1R S 0O VF

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论