第4章習(xí)題-匯編語(yǔ)言程序設(shè)計(jì)(單片機(jī)第二版).doc_第1頁(yè)
第4章習(xí)題-匯編語(yǔ)言程序設(shè)計(jì)(單片機(jī)第二版).doc_第2頁(yè)
第4章習(xí)題-匯編語(yǔ)言程序設(shè)計(jì)(單片機(jī)第二版).doc_第3頁(yè)
第4章習(xí)題-匯編語(yǔ)言程序設(shè)計(jì)(單片機(jī)第二版).doc_第4頁(yè)
第4章習(xí)題-匯編語(yǔ)言程序設(shè)計(jì)(單片機(jī)第二版).doc_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第四章 習(xí)題與參考答案4.1 程序設(shè)計(jì)語(yǔ)言有哪三種?各有什么異同?匯編語(yǔ)言有哪兩類語(yǔ)言?各有什么特點(diǎn)?4.2 在匯編語(yǔ)言程序設(shè)計(jì)中,為什么要采用標(biāo)號(hào)來(lái)表示地址?標(biāo)號(hào)的構(gòu)成原則是什么?使用標(biāo)號(hào)有什么限制?注釋段起什么作用?4.3 MCS-51匯編語(yǔ)言有哪幾條常用偽指令?各起什么作用?4.4 匯編語(yǔ)言程序設(shè)計(jì)分哪幾步?各步驟的任務(wù)是什么?4.5 匯編語(yǔ)言源程序的機(jī)器匯編過(guò)程是什么?第二次匯編的任務(wù)是什么?4.6 請(qǐng)用除法指令編寫例4.2的程序,并計(jì)算所占內(nèi)存字節(jié)數(shù)和所需機(jī)器周期數(shù)。4.7 設(shè)內(nèi)部RAM 20H 單元有兩個(gè)非零的BCD數(shù),請(qǐng)編寫求兩個(gè)BCD數(shù)的積并把積送入21H單元的程序。4.8 已知,從內(nèi)部RAM BLOCK單元開始存放有一組帶符號(hào)數(shù),數(shù)的個(gè)數(shù)存放在LED單元。請(qǐng)編寫可以統(tǒng)計(jì)其中正數(shù)和負(fù)數(shù)個(gè)數(shù)并分別存入NUM和NUM+1單元的程序。4.9 設(shè)自變量X為一無(wú)符號(hào)數(shù),存放在內(nèi)部RAM的VAX單元,函數(shù)Y存放在FUNC單元。請(qǐng)編寫滿足如下關(guān)系的程序:X=50時(shí):Y=X;50X=20時(shí):Y=5X;X20時(shí):Y=2X;4.10 在例4.6的128分支程序中,若用LJMP指令代替AJMP指令,以便分支程序可以放在64KB地址范圍的任務(wù)位置。請(qǐng)修改原程序,修改后的程序最多可實(shí)現(xiàn)多少個(gè)分支?4.11 從外部RAM的SOUCE(二進(jìn)制8位)開始有一數(shù)據(jù)塊,該數(shù)據(jù)塊以$字符結(jié)尾。請(qǐng)編寫程序,把它們傳送到以內(nèi)部RAM的DIST為起始地址的區(qū)域($字符也要傳送)。4.12 在例4.11中,若SOUCE為二進(jìn)制16位,則程序又該如何編。4.13 在外部RAM的低256地址單元區(qū),有起始地址為SOUCE且長(zhǎng)度存放在LEN單元的數(shù)據(jù)塊。請(qǐng)編寫能對(duì)它們進(jìn)行奇偶校驗(yàn)的程序。凡滿足奇校驗(yàn)(奇數(shù)個(gè)1)的數(shù)據(jù)均送到內(nèi)部RAM起始地址為DIST的存儲(chǔ)區(qū)。4.14 在例4.13中,若SOUCE的地址不在外部RAM的滴56地址區(qū),則程序該如何編寫。4.15 外部RAM從2000H到2100H有一數(shù)據(jù)塊,請(qǐng)編寫將它們傳送到從3000H到3100H區(qū)域的程序。4.16 設(shè)有一起始地址為FIRST+1的數(shù)據(jù)塊,存放在內(nèi)部RAM單元,數(shù)據(jù)塊長(zhǎng)度存放在FIRST單元而且不為0,要求統(tǒng)計(jì)該數(shù)據(jù)塊中正偶數(shù)和負(fù)奇數(shù)的個(gè)數(shù),并將它們分別存放在PAPE單元和NAOE單元。試畫出能實(shí)現(xiàn)上述要求的程序流程圖并編寫相應(yīng)程序。4.17 請(qǐng)編寫能從以內(nèi)部RAM的BLOCK為起始地址的100個(gè)無(wú)符號(hào)數(shù)中找出最小值并把它送入MIN單元的程序。4.18 已知,在內(nèi)部RAM中,共有6組無(wú)符號(hào)4字節(jié)被加數(shù)和加數(shù)分別存放在以FIRST和SUCOND為起始地址的區(qū)域(低字節(jié)在前,高字節(jié)在后)。請(qǐng)編程序和(設(shè)和也為4字節(jié)),并把和存于以SUM開始的區(qū)域。4.19 在內(nèi)部RAM中,有一個(gè)以BLOCK為起始地址的數(shù)據(jù)塊,塊長(zhǎng)存放在LEN單元。請(qǐng)用查表指令編寫程序,先檢查它們是否十六進(jìn)制數(shù)中的AF,若是十六進(jìn)制數(shù)中的AF,則把它們變?yōu)锳SCII碼;若不是,則把它們變?yōu)?0H。4.20 設(shè)在片內(nèi)RAM的20H單元中有一數(shù),其值范圍為0100,要求利用查表法求此數(shù)的平方值并把結(jié)果存入片外RAM的20H和21H單元(20H單元中為低字節(jié)),試編寫相應(yīng)程序。4.21 在內(nèi)部RAM中,從BLOCK開始的存儲(chǔ)區(qū)有10個(gè)單字節(jié)十進(jìn)制數(shù)(每字節(jié)有2個(gè)BCD數(shù)),請(qǐng)編程序求BCD數(shù)之和(和為3位BCD數(shù)),并把它們存于SUM和SUM+1單元(低字節(jié)在SUM單元)。4.22 在例4.21中,若改為10個(gè)雙字節(jié)十進(jìn)制數(shù)求和(和為4位BCD數(shù)),結(jié)果仍存于從SUM開始的連續(xù)單元(低字節(jié)先存)。請(qǐng)修改相應(yīng)程序。4.23 已知MDA和MDB內(nèi)分別存有兩個(gè)小于10的整數(shù),請(qǐng)用查表子程序?qū)崿F(xiàn)c=a 2+2ab+b 2 ,并把和存于MDC和MDC+1單元(MDC中放低字節(jié))。4.24 已知外部RAM起始地址為STR的數(shù)據(jù)塊中有一以回車符CR斷尾的十六進(jìn)制ASCII碼。請(qǐng)編寫程序,將它們變?yōu)槎M(jìn)制代碼,放在起始地址為BDATA的內(nèi)部RAM存儲(chǔ)區(qū)中。4.25 設(shè)晶振頻率為6MHZ,試編寫能延時(shí)20ms的子程序。4.26 已知內(nèi)部RAM的MA(被減數(shù))和MB(減數(shù))中分別有兩個(gè)帶符號(hào)數(shù)。請(qǐng)編寫減法子程序,并把差存入RESULT和RESULT+1(低8位在RESULT單元)中。4.27 設(shè)R0內(nèi)為一補(bǔ)碼形式的帶符號(hào)被除數(shù),R1內(nèi)為補(bǔ)碼形式的帶符號(hào)除數(shù),請(qǐng)通過(guò)編程完成除法,并把商置于R2內(nèi)且余數(shù)置于R3內(nèi)。4.28 設(shè)8031單片機(jī)外部RAM從1000H單元開始存放有100個(gè)無(wú)符號(hào)8位二進(jìn)制數(shù)。要求編寫子程序,能把它們從大到小依次存入片內(nèi)從10H開始的RAM存儲(chǔ)區(qū),請(qǐng)畫程序流程圖。解:ORG 0030HMOV R0,#10HMOV R2,100MOV DPTR,#1000HMOV A,#00HLOOP:MOVX A,DPTRMOV R0,AINC AINC DPTRDJNZ R2,LOOPLOOP1: MOV R0,#10H;置數(shù)據(jù)塊指針R0MOV R2,#100;塊長(zhǎng)送R2CLR F0;交換標(biāo)志F0清零DEC R2;塊長(zhǎng)-1為比較次數(shù)LOOP2: MOV 08H,R0;第一個(gè)數(shù)送08HINC R0MOV A,R0;第二個(gè)數(shù)送AMOV 09H,A;第二個(gè)數(shù)送ACJNE A,08H,LOOP3;(11H)和(10H)作比較LOOP3: JC LOOP4;若(09H)=(08H),則兩者交換DE

溫馨提示

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

評(píng)論

0/150

提交評(píng)論