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

下载本文档

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

文档简介

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

2、什么功能?MOVR1, #30H;(R1)=30HMOVA,#64H;(A)= 64HADDA,#47H;(A)=ABH,(CY)= 0AC)= 0DAA;(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 A 5设 (A)=38H,(20H)=49H,PSW=00H,(B)=02H, 填写以下中间结果。SETBCADDCA,20H (A)= 82H(CY)= 0(AC)

3、= 1RLCA(A)=04H(CY)=1(P)1MULAB(A)=08H(B)=00H(OV)=06已知( R0) =20H, (20H ) =10H, (P0) =30H, (R2) =20H, 执行如下程序段后 ( 40H ) =15H MOV R0 , #11H (20H)=11HMOV A , R2 A=20HADDA , 20HA=40HMOVPSW , #80HSUBBA , P0A=10HXRLA,#45HA=15HMOV40H , A(40H) =15H7.已知(RO )=20H, (20H )=36H, (21H) =17H, (36H) =34H,执行过程如下:MOVA ,

4、 R0MOVR0 , AMOVA , R0ADDA , 21HORLA , #21HRLAMOVR2 , ARETA=36HR0=36HA=34HA=4BHA=21HA=42H则执行结束(RO) =36H(R2)= 42HMOVA, 31HA=23HANLA, #0FHA=03HMOV41H, A(41H)=03HMOVA, 31HA=23HANLA, #0F0HA=20HSWAPAA=02HMOV42H, A(42H)=02H8.设在31H单兀存有# 23H,执行下面程序:则(41H)=03H(42H)=02H9. (R0)=4BH,(A)=84H,片内RAM(4BH)=7FH,(40)=2

5、0HR2=42HMOVA,R0A=7FHMOVR0,40H(4BH)=20HMOV40H,A(40H)=7FH;MOV R0,#35H R0=35H问执行程序后,R0=35H A= 7FH 4BH= 20H40H= 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.程序存储器空间表格如下:地址 2 0 0 0 H2 0 0 1 H 2 0 0 2 H 2 0 0 3 H .内容 3FH0 6H5BH4FH .已知:片内RA

6、M的2 0H中为01H,执行下列程序后(30H)=A3HMOV A,20H A=O1HINC AA=02HMOV DPTR,#2000HDPRT=2000HMOVC A,A + DPTRA=5BHCPL AA=A3HMOV30H,A(30H) =A3HSJMP $END执行程序后,(30H)= A3H12.分析程序段:CLRMOVSUBBADDDAA,#91HA,61HA,61HA:6 2H,A程序执行何种操作?(2)若已知初值:(60H)MOV(1)清零cy指令给A立即数A寄存器与地址(61h )的值相减A寄存器与地址(61h)的值相加BDC码调整指令把累加器A的值送给地址寄存器 62h对9

7、1H做BDC码调整;=24H,(6伯)=72H,则运行后,(62H)=91H13.设(R0)=7EH,DPTR=10FEH,片内 RAM7 E H和7FH两单元的内容分别是FFH和38H,请写出下列程序段的每条指令的执行结果。14.设 R0=20H,R仁25H, (20H)=80H ,(21H)=90H ,(22H)=A0H ,(25H)=A0H , (26H)=6 FH ,(27H)=76H ,下列程序执行程序后,结果如何?C=0;CLROVR2,#3R2=3;MOVA,R0A=80HA=90HADDCA,R1A=20HMOVR0,A(20H)=20H;(21H)=00H;INCROR0=2

8、1H;INCR1R仁 26HDJNZR2,LOOPJNCNEXT1MOVR0,#01H(23H)=01HSJMP$DECR0SJMP$CLOOP:(22H)=16HNEXT:INC R0(7E)=00HINCR0R0=7FHINC R0(7FH)=39HINCDPTRDPTR=10FFHINCDPTRDPTR=1100HINCDPTRDPTR=1101H(20H) =20H、(21H)= OOH、(22H)=16H(23H)= O1H 、 CY=1A=16H、R0=23H、R仁27HMOVDPTR,#2000H(DPTR)=2000HMOVA,#80H(A)= 80HMOVXDPTR,A(20

9、00H)=80HINCDPTR(DPTR):=2001MOVA,#90H(A)=90HMOVXDPTR,A(2001H)=90HMOVDPTR,#2000H(DPTR):=2000HMOVXA,DPTR(A)= 80HMOVB,A(B)=80HINCDPTR(DPTR)=2001HMOVXA,DPTR(A)=90Ho16.若(10H)=0FFH,(1 伯)=00H,(12H)=0FFH,(13H)=00H,写出每一步指令运行结果MOVA,10H(A)=FFH ,ANLA,#01H(A)=01H,MOVA,11H(A)=00H,ORLA,#01H(A)=:01H,MOVA,12H(A)=.FFH

10、,XRLA,#01H(A)=FEH,MOVA,13H(A)=00H,XRLA,#0AA(A)=AAH ,(10H)=FFH,(11H)= 00H, (12H)= FFH , (13H)=00H17.阅读程序并回答下列问题:X DATA50HY DATA51HORG OOHJMP STARTORG 100HSTART: MOV SP,#60HMOV X,#10MOV Y,#10LCALL SUB(50H) =10(51H )=10SUB:NOPINCXDECYMOVA,YJZ SUBRETLCALLSUB(50H)=11(51H)=9A=9X+10=20Y=0;SUBRET:NOPRET计算X和

11、Y的值是多少?(X )=20;(Y )= _018. 设自变量为X,存放在ARE单元,应变量Y存放在BUF单元。给程序标注注释,说明START:MOVDPTR,#AREMOVXA,DPTRJZSULJBACC.7,NEGMOVA, #02HSUL:MOVDPTR,#BUFMOVXDPTR,ARETNEG :MOV A,#0FEHSJMPSUL该段子程序的功能并写出该程序的函数关系式。(7分);注释:如果 A的值大于128跳转NEG;注释:把A的值传送给BUF地址中如果 X=0,Y=0;如果 X<128,Y=02h;女口果 X>128,Y=FEH ;19. 执行下列程序段后,(P1)

12、=_9AH.MOVP1,#5DHCPLP1.1CPLP1.2CLRP1.6SETBP1.7(A)=_8BH,(C y)=_0_。20. 执行下列程序段后,MOV A,#C5HRL A下列程序段执行后,(Re):=7EH,(7EH)=41H,(7FH)=R0=7EH01HMOVR0,#7EHMOV7EH,#0FFH(7EH)=FFHMOV7FH,#40H(7EH)=40H1NCR0(7EH)=41H1NCR0R0=7FH;1NCR0(7FH)=1;已知(SP)=60H,子程序SUBTRN的首地址为 0345H,现执行位于0123H 的 ACALL21.22.SUBTRN 双字节指令后, (PC)

13、=_,(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 1000HMOV R7, MOV R0, #30HMOV R1,#60HLOOP :MOV A,R0MOV ,AINC R0INC R1DJNZ 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 1000HMOV R7, #07HMOV R0, LOOP :MOV A,R0ANL A, MOV R0, AINC R0DJNZ R7 ,LOOPSJMP $END25. 程序如下(2)执行 M5A: SJMPM5A 后,( SP )=? ( 20H )=?2506HM5:MO

15、VSP,#58H;2509HMOV10H,#0FH;250CHMOV11H,#0BH;250FHACALLXHD;2511HMOV20H,11H2514HM5A:SJMPM5AXHD:PUSH10HPUSH11HPOP10HPOP11HRET问:(1)执行POP10H 后堆栈内容?26. 解读下列程序,然后填写有关寄存器内容(1)MOVR1,#48HMOV48H,#51HCJNER1,#51H,00HJNCNEXT1MOVA,#0FFHSJMPNEXT2NEXT:MOVA,#0AAHNEXT2:SJMPNEXT2累加器A=()(2)MOVA,#0FBHMOVPSW,#10HADDA,#7FH若 PSW=00,当执行完上述程序段后,将PSW各位状态填入下表PSWCYACF0RS1RS

温馨提示

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

评论

0/150

提交评论