單片機(jī)程序分析題練習(xí)B2_第1頁
單片機(jī)程序分析題練習(xí)B2_第2頁
單片機(jī)程序分析題練習(xí)B2_第3頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、1程序如下:MOVSP,#13HMOV33H,#7FHMOV44H,#0ABHPUSH33HPUSH44HPOP33HPOP44H程序執(zhí)行后,(33H)=0ABh,(44H)=7Fh2.下列各條指令其源操作數(shù)的尋址方式是什么?各條指令單獨(dú)執(zhí)行后,A中的結(jié)果是什么?設(shè)(60H)=35H,(A)=19H,(R0)=30H,(30H)=0FH。(1)MOVA,#48H;尋址方式:(A)=48H(2)ADDA,60H;尋址方式:(A)=4DH(3)ANLA,R0;尋址方式:(A)=10H3閱讀下列程序段,寫出每條指令執(zhí)行后的結(jié)果,并說明此程序段完成什么功能?MOVR1,#30H;(R1)=30HMOV

2、A,#64H;(A)=64HADDA,#47H;(A)=ABH,(CY)=0(AC)=0DAA;(A)=31H,(CY)=1(AC)=MOVR1,A;(R1)=30H,(30H)=31H此程序段完成的功能4.設(shè)(A)=38H,R0=28H,(28H)=18H,執(zhí)行下列程序后,(A)=0ORLA,#27HANLA,28HXCHDA,R0填寫以下中間結(jié)果。CPLA5.設(shè)(A)=38H,(20H)=49H,PSW=00H,(B)=02H,SETBCADDCA,20H(A)=82H(CY)=0RLCA(A)=04H(CY)=1MULAB(A)=08H(B)=00H(AC)=1(P)=1(OV)=06.

3、已知(RO)=20H,(20H)=10H,(P0)=30H,(R2)=20H,執(zhí)行如下程序段后(40H)=15HMOVR0,#11H(20H)=11HMOVA,R2A=20HADDA,20HA=40HMOVPSW,#80HSUBBA,P0A=10HXRLA,#45HMOV40H,AA=15H(40H)=15H7.已知(RO)=20H,(20H)=36H,(21H)=17H,(36H)=34H,執(zhí)行過程如下:MOVA,R0A=36HMOVRO,AR0=36HMOVA,R0A=34HADDA,21HA=4BHORLA,#21HA=21HRLAA=42HMOVR2,AR2=42HRET則執(zhí)行結(jié)束(R

4、0)=36H(R2)=42H8設(shè)在31H單元存有#23H,執(zhí)行下面程序:MOVA,31HA=23HANLA,#0FHA=03HMOV41H,A(41H)=03HMOVA,31HA=23HANLA,#0F0HA=20HSWAPAA=02HMOV42H,A(42H)=02H則(41H)=03H(42H)=02H9.(R0)=4BH,(A)=84H,片內(nèi)RAM(4BH)=7FH,(40)=20HMOVA,R0A=7FHMOVR0,40H(4BH)=20HMOV40H,A(40H)=7FH;MOVR0,#35HR0=35H40H=7FH40H=7FH問執(zhí)行程序后,R0=35HA=7FH4BH=20H1

5、0若PSW=00,執(zhí)行下列程序后,PSW的CY,AC,OV,P各位狀態(tài)如何?MOVA,#0FBHA=FBHMOVPSW,#10HADDA,#7FHA=7AHCY=1;AC=1;OV=1;P=1;11.程序存儲器空間表格如下:地址2000H2001H2002H2003H.內(nèi)容3FH06H5EH4FH.已知:片內(nèi)RAM的20H中為01H,執(zhí)行下列程序后(30H)=A3HMOVA,20HA=O1HMOVDPTR,#2000HDPRT=2000HMOVCA,A+DPTRA=5BHCPLAMOV30H,ASJMP$END執(zhí)行程序后,(30H)=A3HA=A3H(30H)=A3H12.分析程序段:CLRC

6、MOVA,#91HSUBBA,61H;ADDA,61H;DAA;MOV62H,A(1)程序執(zhí)行何種操作?(2)若已知初值:(60H)清零cy指令給A立即數(shù)A寄存器與地址(61h)的值相減A寄存器與地址(61h)的值相加BDC碼調(diào)整指令把累加器A的值送給地址寄存器62h對91H做BDC碼調(diào)整;=24H,(6伯)=72H,則運(yùn)行后,(62H)=91H13.設(shè)(R0)=7EH,DPTR=10FEH,片內(nèi)RAM7EH和7FH兩單元的內(nèi)容分別是FFH和38H,請寫出下列程序段的每條指令的執(zhí)行結(jié)果。INCR0(7E)=00HINCR0R0=7FHINCR0(7FH)=39HINCDPTRDPTR=10FF

7、HINCDPTRDPTR=1100HINCDPTRDPTR=1101H14.設(shè)R0=20H,R1=25H,(20H)=80H,(21H)=90H,(22H)=A0H,(25H)=A0H,(26H)=6FH,(27H)=76H,下列程序執(zhí)行程序后,結(jié)果如何?CLRCC=0;MOVR2,#3R2=3;LOOP:MOVA,R0A=80HA=90HADDCA,R1A=20HMOVR0,A(20H)=20H;(21H)=00H;INCROR0=21H;INCR1R仁26HDJNZR2,LOOPJNCNEXT1MOVR0,#01H(23H)=01HSJMP$NEXT:DECR0SJMP$(22H)=16H

8、(23H)=O1H、CY=1(20H)=20H、(21H)=OOH、(22H)=16HA=16HA=16H、R0=23H、R仁27HMOVDPTR,#2000HMOVA,#80HMOVXDPTR,AINCDPTRMOVA,#90HMOVXDPTR,AMOVDPTR,#2000HMOVXA,DPTRMOVB,AINCDPTRMOVXA,DPTRSUB:LCALLSUBNOPINCX(50H)=11DECY(51H)=9MOVA,YA=9JZSUBRETLCALLSUBX+10=20Y=0;(DPTR)=2000H(A)=80H(2000H)=80H(DPTR)=2001(A)=90H(2001H

9、)=90H(DPTR)=2000H(A)=80H(B)=80H(DPTR)=2001H(A)=90H16.若(10H)=0FFH,(1伯)=00H,(12H)=0FFH,(13H)=00H,寫出每一步指令運(yùn)行結(jié)果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.閱讀程序并回答下列問題:XDAT

10、A50HORG00HJMPSTARTORG100HMOVSP,#60HMOVX,#10(50H)=10MOVY,#10(51H)=10YDATA51HSTART:SUBRET:NOPRET計(jì)算X和Y的值是多少?(X)=20;(Y)=_018. 設(shè)自變量為X,存放在ARE單元,應(yīng)變量19. 設(shè)自變量為X,存放在ARE單元,應(yīng)變量Y存放在BUF單兀。給程序標(biāo)注注釋,說明該段子程序的功能并寫出該程序的函數(shù)關(guān)系式。(7分)START:MOVDPTR,#AREMOVXA,DPTRJZSULJBACC.7,NEGMOVA,#02HSUL:MOVDPTR,#BUFMOVXDPTR,ARETNEG:MOVA,

11、#0FEHSJMPSULSTART:MOVDPTR,#AREMOVXA,DPTRJZSULJBACC.7,NEGMOVA,#02HSUL:MOVDPTR,#BUFMOVXDPTR,ARETNEG:MOVA,#0FEHSJMPSUL;注釋:如果A的值大于128跳轉(zhuǎn)NEG;注釋:把A的值傳送給BUF地址中如果X=0,Y=0;如果X<128,Y=02h;女口果X>128,Y=FEH;執(zhí)行下列程序段后,(P1)=_9AH_MOVP1,#5DHCPLP1.1CPLP1.2CLRP1.6SETBP1.7(A)=_8BH,(Cy)=_0_。(A)=_8BH,(Cy)=_0_。19. 執(zhí)行下列程序

12、段后,MOVA,#C5HRLA下列程序段執(zhí)行后,(R0)=_7EH,(7EH)=_41H_,(7FH)=_01H22.已知(SP)=60H,子程序SUBTRN雙字節(jié)指令后,SUBTRN的首地址為0345H,現(xiàn)執(zhí)行位于0123H的ACALL(PC)=,(61H)=,(62H)=1NCR0(7FH)=1;MOVR0,#7EHR0=7EHMOV7EH,#0FFH(7EH)=FFHMOV7FH,#40H(7EH)=40H1NCR0(7EH)=41H1NCR0R0=7FH;23閱讀下列程序,說明其功能。MOVRo,#dataMOVA,RoRLAMOVRi,ARLARLAADDA,RiMOVRo,ARET

13、程序填空1)數(shù)據(jù)塊傳送,將RAM從30H開始的連續(xù)32個單元的內(nèi)容傳遞給片內(nèi)RAM從60H開始的連續(xù)32個單元。ORG1000HMOVR7,MOVR0,#30HMOVR1,#60HLOOP:MOVA,R0MOV,AINCR0INCR1DJNZR7,SJMP$END2)RAM中40H單元內(nèi)存有一個十六進(jìn)制數(shù),把這個數(shù)轉(zhuǎn)換為BCD碼的十進(jìn)制數(shù),BCD碼的十位和個位放在累加器A中,百位放在R2中。ORG2200HMOVA,MOVB,#64HDIVABMOVR2,AMOVA,XCHA,BDIVABSWAPORLA,BSJMP$END3)編程序?qū)⑵瑑?nèi)40H-46H單元內(nèi)容的高4位清零,保持低4位不變。O

14、RG1000HMOVR7,#07HMOVRO,LOOP:MOVANLMOVLOOP:MOVANLMOVINCDJNZR7,SJMP$ENDA,R0A,R0,AROLOOP問:(1)執(zhí)行POP(2)執(zhí)行M5A:SJMPM5A后,(SP)=?(20H)=?26.解讀下列程序,然后填寫有關(guān)寄存器內(nèi)容(1)MOVMOVCJNEJNCR1,#48H48H,#51HR1,#51H,00HNEXT1NEXT:NEXT2:累加器MOVSJMPMOVSJMPA,#0FFHNEXT2A,#0AAHNEXT2A=(MOVMOVADDA,#0FBHPSW,#10HA,#7FH若PSW=00當(dāng)執(zhí)行完上述程序段后,將PSW各位狀態(tài)填入下表:24. 程序如下RET2506HM5:MOVSP,#58H;2509HMOV10H,#0FH;250CHMOV11H,#0BH;250FHACALLXHD;2511HMOV20H,11H2514HM5A:SJMPM5AXHD:PUSH10HPUSH11HPOP10HPOP11H10H后堆棧內(nèi)容?PSWCYAC

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論