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

下载本文档

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

文档简介

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

2、1)=30HMOV A, #64H ;(A)= 64HADD A, #47H ;(A)=ABH,( CY) =0 ,(AC)= 0DA A;(A) =31H,( CY) =1(AC)=MOV R,1A ;(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)

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

4、4H,执行过程如下:MOV A , R0 A=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,#35HR0=35H7FH问执行程序后,R0=35H A= 7FH 4BH= 20H 40H=10.若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

6、 H 2 0 0 3 H .内容3FH06H5EH4FH .已知:片内RAM的2 0H中为01H,执行下列程序后(30H)=A3HMOVA,20HA=O1HINC AA=02HMOV DPTR,#2000H DPRT=2000HMOVC A,A + DPTR A=5BHCPL AA=A3HMOV 30H,A(30H) =A3HSJMP $END执行程序后,(30H)= A3H12.分析程序段:CLR CMOV A,#91HSUBB A,61HADD A,61HDA A;MOV 6 2H,A清零cy指令给A立即数A寄存器与地址(61h )的值相减A寄存器与地址(61h )的值相加BDC码调整指令

7、把累加器A的值送给地址寄存器 62h(1)程序执行何种操作对91H做BDC码调整;(2)若已知初值:(60H) =24H,(61H)=72H,则运行后,(62H) = 91H7 EH和7FH两单元的13. 设(R0)=7EH,DPTR=10FEH,片内 RAM内容分别是FFH和38H,请写出下列程序段的每条指令的执行结果。NC R0NCR0NC R0NCDPTRNCDPTRNCDPTR(7E)=00HR0=7FH (7FH)=39H DPTR=10FFHDPTR=1100HDPTR=1101H14. 设 R0=20H,R仁25H,(20H)=80H , (21H)=90H , (22H)=A0

8、H, (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)=16HINCROR0=21H;INCR1R仁 26HDJNZ R2,LOOPJNC NEXT1MOV R0,#01H (23H)=01HSJMP $NEXT: DECSJMP $R0(20H) =20H、(21H)= OOH 、(22H)=16H(23H)= O1HCY=1A=16H、R0=23H、R仁27

9、H(DPTR = 2000H(A) = 80H(2000H) = 80H(DPTR = 2001(A) = 90H(2001H) = 90H(DPTR = 2000H(A) = 80H(B) =80H(DPTR = 2001H(A) = 90H15. MOV DPTR,#2000HMOV A,#80HMOVX DPTR,AINC DPTRMOV A,#90HMOVX DPTR,AMOV DPTR,#2000HMOVX A,DPTRMOV B,AINC DPTRMOVX A,DPTR16. 若(10H)=0FFH,(1 伯)=00H,(12H)=0FFH,(13H)=00H,写出每一步指令运行结

10、果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.阅读程序并回答下列问题:XDATA50HYDATA51HORG 00HJMP STARTORG 100HSTART: MOV SP,#60HMOV X,#10(50H)=10MOV Y,#10 (51H)=10LCALL SUBS

11、UB:NOPINCX(50H)=11X+10=20DECY(51H)=9Y=0;MOVA,YA=9JZSUBRETLCALLSUBSUBRET:NOPRET计算X和Y的值是多少(X)= 20;(Y)= _018.设自变量为X,存放在ARE单元,应变量Y存放在BUF单元。给程序标注注释,说明该STARTMOV DPTR,#AREMOVX A DPTRJZ SULJB, NEGMOVA, #02HSULMOV DPTR,#BUFMOVX DPTRARETNEGMOV A #0FEHSJMP SUL如果 X=0,Y=0;如果 X<128,Y=02h;女口果 X>128,Y=FEH;19.

12、执行下列程序段后,(P1)= 9AH段子程序的功能并写出该程序的函数关系式。(7分);注释:如果 A的值大于128跳转NEG;注释:把 A的值传送给BUF地址中21.下列程序段执行后,MOV R 0, #7EHMOV 7EH , #0FFHMOV 7FH , #40H1NC R01NC R01NC R0MOV P1,#5DHCPLCPLCLRSETB,(C y)=_0_ o20.执行下列程序段后,(A)=_8BHMOV A,#C5HRL A(Ro)=_7EH,(7EH)=_41H_,(7FH)=_01HR0=7EH(7EH)=FFH(7EH)=40H(7EH)=41HR0=7FH;(7FH)=

13、1;22. 已知(SP)=60H,子程序 SUBTRN勺首地址为 0345H,现执行位于 0123H的ACALLSUBTRN23. 阅读下列程序,说明其功能。MOV R 0,#dataMOV A,R0RL AMOV R 1, ARL ARL AADD A , R1MOV R0,ARET24. 程序填空1) 数据块传送,将 RAM从 30H开始的连续32个单元的内容传递给片内RAM从 60H开始的 连续 32 个单元。ORG 1000HMOV R7 , MOV R0, #30HMOV R1,#60HLOOP: MOV A,R0MOV ,AINC R0INC R1DJNZ R7, SJMP $EN

14、D2) RAM中40H单元内存有一个十六进制数,把这个数转换为BCD码的十进制数,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, R0 ANL A , MOV R0, AINC RODJNZ R7 , LOOPSJMP $END25. 程序如下SP,#58H;MOV

15、 10H,#0FH11H,#0BH;XHD;20H,11HM5A10H11H10H11H2506HM5: MOV2509 H250CHMOV250FHACALL2511HMOV2514H M5A: SJMPXHD: PUSHPUSHPOPPOPRET问:(1)执行POP 10H后堆栈内容(2)执行 M5A: SJMP M5A 后,(SP )=( 20H )=26. 解读下列程序,然后填写有关寄存器内容(1)MOV R1,#48HMOV48H,#51HCJNER1,#51H,00HJNCNEXT1MOVA,#0FFHSJMPNEXT2NEXT: MOV A,#0AAHNEXT2: SJMP NEXT2累加器 A=()(2)MOV A,#0FBHMOV PSW,#10HADD A,#7FH若PSW=0 0,当执行完上述程序段后,将PSW各位状态填入下表:PSWCYACF0R

温馨提示

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

评论

0/150

提交评论