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

下载本文档

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

文档简介

1.程序如下:MOVSP,#13HMOV33H,#7FHMOV44H,#0ABHPUSH33HPUSH44HPOP33HPOP44H程序执行后,(33H)=0ABh,(44H)=7Fh2.下列各条指令其源操作数的寻址方式是什么?各条指令单独执行后,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)=10H3.阅读下列程序段,写出每条指令执行后的结果,并说明此程序段完成什么功能? 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)=0ORLA,#27HANLA,28HXCHDA,@R0CPLA5.设(A)=38H,(20H)=49H,PSW=00H,(B)=02H,填写以下中间结果。SETBCADDCA,20H(A)=82H(CY)=0(AC)=1RLCA(A)=04H(CY)=1(P)=1MULAB(A)=08H(B)=00H(OV)=06.已知(R0)=20H,(20H)=10H,(P0)=30H,(R2)=20H,执行如下程序段后(40H)=15HMOV@R0,#11H(20H)=11HMOVA,R2A=20HADDA,20HA=40HMOVPSW,#80HSUBBA,P0 A=10HXRLA,#45H A=15HMOV40H,A (40H)=15H7.已知(R0)=20H,(20H)=36H,(21H)=17H,(36H)=34H,执行过程如下:MOVA,@R0A=36HMOVR0,A R0=36HMOVA,@R0A=34HADDA,21H A=4BHORLA,#21H A=21HRLA A=42HMOVR2,A R2=42HRET则执行结束(R0)=36H(R2)=42H8.设在31H单元存有#23H,执行下面程序:MOVA,31H A=23HANLA,#0FH A=03HMOV41H,A (41H)=03HMOVA,31H A=23HANLA,#0F0H A=20HSWAPA A=02HMOV42H,A (42H)=02H则(41H)=03H(42H)=02H9.(R0)=4BH,(A)=84H,片内RAM(4BH)=7FH,(40)=20HMOVA,@R0 A=7FHMOV@R0,40H (4BH)=20HMOV40H,A (40H)=7FH;MOVR0,#35H R0=35H问执行程序后,R0=35HA=7FH4BH=20H40H=7FH10.若PSW=00,执行下列程序后,PSW的CY,AC,OV,P各位状态如何?MOVA,#0FBHA=FBHMOVPSW,#10HADDA,#7FH A=7AHCY=1;AC=1;OV=1;P=1; 11.程序存储器空间表格如下:地址2000H2001H2002H2003H...内容3FH06H5BH4FH...已知:片内RAM的20H中为01H,执行下列程序后(30H)=A3HMOVA,20HA=O1HINCAA=02HMOVDPTR,#2000HDPRT=2000HMOVCA,@A+DPTR A=5BHCPLA A=A3HMOV30H,A(30H)=A3HSJMP$END执行程序后,(30H)=A3H12.分析程序段:CLRC 清零cy指令MOVA,#91H 给A立即数SUBBA,61H;A寄存器与地址(61h)的值相减ADDA,61H; A寄存器与地址(61h)的值相加DAA; BDC码调整指令MOV62H,A 把累加器A的值送给地址寄存器62h(1)程序执行何种操作?对91H做BDC码调整;(2)若已知初值:(60H)=24H,(61H)=72H,则运行后,(62H)=91H。13.设(R0)=7EH,DPTR=10FEH,片内RAM7EH和7FH两单元的内容分别是FFH和38H,请写出下列程序段的每条指令的执行结果。INC@R0 (7E)=00HINCR0 R0=7FHINC@R0 (7FH)=39HINCDPTR DPTR=10FFHINCDPTR DPTR=1100HINCDPTR DPTR=1101H14.设R0=20H,R1=25H,(20H)=80H,(21H)=90H,(22H)=A0H,(25H)=A0H,(26H)=6FH,(27H)=76H,下列程序执行程序后,结果如何?CLRC C=0;MOVR2,#3 R2=3;LOOP:MOVA,@R0 A=80HA=90HADDCA,@R1 A=20H MOV@R0,A (20H)=20H;(21H)=00H;(22H)=16HINCR0 R0=21H;INCR1 R1=26HDJNZR2,LOOP JNCNEXT1MOV@R0,#01H(23H)=01HSJMP$NEXT:DECR0SJMP$(20H)=20H、(21H)=00H、(22H)=16H、(23H)=01H、CY=1A=16H、R0=23H、R1=27H。15.MOVDPTR,#2000H(DPTR)=2000HMOVA,#80H(A)=80HMOVX@DPTR,A(2000H)=80HINCDPTR(DPTR)=2001MOVA,#90H(A)=90HMOVX@DPTR,A(2001H)=90HMOVDPTR,#2000H(DPTR)=2000HMOVXA,@DPTR(A)=80HMOVB,A(B)=80HINCDPTR(DPTR)=2001HMOVXA,@DPTR(A)=90H16.若(10H)=0FFH,(11H)=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,XRLA,#01H(A)=FEH,MOVA,13H(A)=00H,XRLA,#0AA(A)=AAH,(10H)=FFH,(11H)=00H,(12H)=FFH,(13H)=00H17.阅读程序并回答下列问题: X DATA 50H Y DATA 51H ORG 00H JMPSTART ORG 100HSTART: MOVSP,#60H MOVX,#10(50H)=10 MOVY,#10 (51H)=10 LCALL SUB SUB: NOP INC X (50H)=11X+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: MOVDPTR,#ARE MOVXA,@DPTR JZSULJBACC.7,NEG ;注释:如果A的值大于128跳转NEG MOV A,#02HSUL: MOVDPTR,#BUFMOVX@DPTR,A ;注释:把A的值传送给BUF地址中 RETNEG: MOVA,#0FEH SJMP SUL 如果X=0,Y=0; 如果X<128,Y=02h; 如果X>128,Y=FEH;19.执行下列程序段后,(P1)=_9AH__。MOVP1,#5DHCPLP1.1CPLP1.2CLRP1.6SETBP1.720.执行下列程序段后,(A)=___8BH____,(CY)=__0_。MOVA,#C5HRLA21.下列程序段执行后,(R0)=___7EH____,(7EH)=__41H__,(7FH)=___01H____。MOVR0,#7EH R0=7EHMOV7EH,#0FFH (7EH)=FFHMOV7FH,#40H (7EH)=40H1NC@R0 (7EH)=41H 1NCR0 R0=7FH;1NC@R0 (7FH)=1;22.已知(SP)=60H,子程序SUBTRN的首地址为0345H,现执行位于0123H的ACALLSUBTRN双字节指令后,(PC)=___,(61H)=_______,(62H)=____。23.阅读下列程序,说明其功能。MOVR0,#dataMOVA,@R0RLAMOVR1,ARLARLAADDA,R1MOV@R0,ARET24.程序填空1)数据块传送,将RAM从30H开始的连续32个单元的内容传递给片内RAM从60H开始的连续32个单元。ORG1000HMOVR7,_____MOVR0,#30HMOVR1,#60HLOOP:MOVA,@R0MOV_____,AINCR0INCR1DJNZR7,_____SJMP$END2)RAM中40H单元内存有一个十六进制数,把这个数转换为BCD码的十进制数,BCD码的十位和个位放在累加器A中,百位放在R2中。ORG2200HMOVA,_____MOVB,#64HDIVABMOVR2,AMOVA,_____XCHA,BDIVABSWAP_____ORLA,BSJMP$END编程序将片内40H-46H单元内容的高4位清零,保持低4位不变。ORG1000HMOVR7,#07HMOVR0,_____LOOP:MOVA,@R0ANLA,_____MOV@R0,AINCR0DJNZR7,LOOPSJMP$END25.程序如下2506HM5:MOVSP,#58H;2509HMOV10H,#0FH;250CHMOV11H,#0BH;250FHACALLXHD;2511HMOV20H,11H2514HM5A:SJMPM5AXHD:PUSH10HPUSH11HPOP10HPOP11H RET问:(1)执行POP10H后堆栈内容?(2)执行M5A:SJMPM5A后,(SP)=?(20H)=?26.解读下列程序,然后填写有关寄存器内容(1)MOVR1,#48HMOV48H,#51HCJNE@R1,#51H,00HJNCNEXT1MOVA,#0FFHSJMPNEXT2NEX

温馨提示

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

评论

0/150

提交评论