微機(jī)原理ch04程序設(shè)計第二次課_第1頁
微機(jī)原理ch04程序設(shè)計第二次課_第2頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

知識DW1122h,3344h,-1UBIT20H.0NEXTEQUDW1122h,3344h,-1UBIT20H.0NEXTEQU 匯編起始偽指令 ORG匯編結(jié)定義字定義字偽指令:定義位偽指令:偽指89C51的匯編語言的格標(biāo)號字段:操作碼字 操作數(shù)字段;注釋字賦賦值偽指令 順序結(jié)構(gòu)是按順序結(jié)構(gòu)是按照邏輯操作順序,從某一條指大量使用數(shù)據(jù)傳送類指令(MOV,MOVX,POP等注意正確選擇指令以提高效匯編語言程序的基本結(jié)構(gòu)形順序結(jié)構(gòu):程序執(zhí)行時,程序流向不循環(huán)結(jié)構(gòu):程序中可反復(fù)執(zhí)行的程序段,稱循環(huán)體。如:求100個數(shù)累加和,只用1條加法指令循環(huán)執(zhí)行100子程序中斷服務(wù)子程序

要寫出要寫出高質(zhì)量的程序還是需要掌握一定的技巧,需程序只有一 一個出口語句語句語語句

4.3.1例1、將R2寄存器中的兩位壓縮的BCD碼轉(zhuǎn)換成ASCII碼,存入R1和R0寄存器中算法1ANL拆字、ORL#30H拼字算法2DIV拆字、ORL 拼 語句語句出 出ASCII碼 結(jié)4.3.14.3.1序地機(jī)器周期源程注1ORG27A1MOVR2,31MOVA,4541ANLA,51SWAP6441ORLA,71MOVR0,;R0←81MOVA,9541ANLA,441ORLA,1MOVR1,;R1←方方法 ANL拆字 ORL#30H拼BCD碼與F0H相“與”,取高四位高4位字節(jié)移至低4 與30H相“或”即變?yōu)锳SCII24.3.14.3.1序地機(jī)器周期源程注1ORG27A1MOVR2,31MOVA,475F02MOVB,54DIV;A←05H,6441ORLA,71MOVR0,;R0←843F02ORLB,9A92MOVR1,;R1←方法方法 DIV拆字 ORL#30H拼BCD碼除以10H,A存高四位字節(jié),B存低四位字與30H相“或”即變?yōu)锳SCII;將A中內(nèi)容;將A中內(nèi)容進(jìn)棧;將20H地址送;將22H地址值送;被加數(shù)低字節(jié)內(nèi)容送;低字節(jié)數(shù)相;低字節(jié)數(shù)和存20H;指向被加 字;指向加 字START:PUSHMOVR0,#20HMOVR1,#22HMOVA,@R0ADDA,@R1MOV@R0,AINCR0INC位字節(jié)),加數(shù)存放于位字節(jié)),加數(shù)存放于22H(低位字節(jié))和23H(字節(jié)),運算結(jié)果的和數(shù)存放于20H(低位字節(jié))和21H(字節(jié))中。實設(shè)被加數(shù)存放于片內(nèi)RAM的20H(低位字節(jié))、21H(1234 567868

;高字節(jié)數(shù)帶進(jìn)位;高字節(jié)數(shù)帶進(jìn)位相;高字節(jié)數(shù)和存21HADDCA,@R1MOV ADDCA,#00HMOV10H,A;被加 字節(jié)送MOV;進(jìn)位;進(jìn)位暫存于10H ;恢復(fù)A原內(nèi)將A原內(nèi)容進(jìn)棧保護(hù),若原R0、R1內(nèi)容有用,亦需進(jìn)棧保護(hù)注意:反,即可把減法運算按加法運算的原則來處3

主程序 子程序LCALLLCALL

;MAIN為主程序或調(diào)用程序標(biāo)┇

例1:LED燈的ORG0000HMOV例1:LED燈的

送送顯示初設(shè)閃爍次;送設(shè)閃爍次;送閃爍次點亮相應(yīng)的;點亮點亮相應(yīng)的LCALL┇ PUSH

子程

LCALLDELAYMOVP1,#0FFHLCALLDELAYDJNZR0,LP0RLASJMPLP

;延;熄滅;延熄滅相應(yīng)的熄滅相應(yīng)的PUSH

DELAY: R3,#0FFHPOPACCPOPPSW

DEL2:MOVDEL1:NOP

N次數(shù)-1=0

指向下一個4MAIN:MOVR2,#5;MAIN:MOVR2,#5;主程MOVLCALLSUB1 MOVR2,#82HMOVR3,LCALLADD1 SUB1:MOVA,R3CPLACC.7 MOVR3,AADD1:MOVACALLCMPT MOVR3,AMOVACALLCMPT ADDA,R3JBACALLCMPT MOVR7,AOVER:RETCMPT:參數(shù)傳遞通過累加器A完成,主程序?qū)⒈晦D(zhuǎn)換的數(shù)送到A中,子A中的有符號數(shù)求補(bǔ)后存于A中,主程序再將結(jié)果放回原來的單元減減減數(shù)符號減數(shù)符號位加 加- 加數(shù)(減數(shù))求加數(shù)(減數(shù))求加數(shù)(被減數(shù))求加數(shù)(被減數(shù))求 加法運-加法運結(jié)結(jié)果求在編在編寫子程序時應(yīng)注意以下問 絕對調(diào)用指

溫馨提示

  • 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

提交評論