一些常用的51匯編子程序庫(kù)_第1頁(yè)
一些常用的51匯編子程序庫(kù)_第2頁(yè)
一些常用的51匯編子程序庫(kù)_第3頁(yè)
一些常用的51匯編子程序庫(kù)_第4頁(yè)
一些常用的51匯編子程序庫(kù)_第5頁(yè)
已閱讀5頁(yè),還剩7頁(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)介

1、;51匯編子程序庫(kù)*;/子程序庫(kù) /;*;(5示號(hào):MULD;功能:雙字節(jié)二進(jìn)制無(wú)符號(hào)數(shù)乘法;入口條件:被乘數(shù)在R2、R3中,乘數(shù)在R6、R7中。 出口信息乘積在R2、 R3、R4、R5 中。;影響資源:PSW、A、B、R2R7;堆棧需求:2字節(jié)MULD: MOV A,R3 ;計(jì)算 R3 乘 R7MOV B,R7MUL ABMOV R4,B ;暫存部分積MOV R5,AMOV A,R3 ;計(jì)算 R3 乘 R6MOV B,R6MUL ABMOV R4,ACLR AADDC A,BMOV R3,AMOV A,R2 ;計(jì)算 R2 乘 R7MOV B,R7MUL ABADD A,R4 ;累加部分積MO

2、V R4,AMOV A,R3ADDC A,BMOV R3,ACLR ARLC AXCH A,R2 ;計(jì)算 R2 乘 R6MOV B,R6MUL ABADD A,R3 ;累加部分積ADDC A,BMOV R2,ARET;(標(biāo)號(hào):DIVD;功能:雙字節(jié)二進(jìn)制無(wú)符號(hào)數(shù)除法;入口條件:被除數(shù)在R2、R3、R4、R5中,除數(shù)在R6、R7中。 出口信 息:OV=0時(shí),雙字節(jié)商在R4、R5中,OV=1時(shí)溢出。 影響資源:PSW、A、B、 R1R7;堆棧需求:2字節(jié)DIVD: CLR C ;比較被除數(shù)和除數(shù)MOV A,R3SUBB A,R7MOV A,R2SUBB A,R6JC DVD1SETB OV ;溢出

3、RETDVD1: MOV B,#10H ;計(jì)算雙字節(jié)商DVD2: CLR C ;部分商和余數(shù)同時(shí)左移一位MOV A,R5RLC AMOV R5,AMOV A,R4RLC AMOV R4,AMOV A,R3RLC AMOV R3,AXCH A,R2RLC AXCH A,R2MOV F0,C ;保存溢出位CLR CSUBB A,R7 ;計(jì)算(R2R3-R6R7MOV R1,AMOV A,R2ANL C,/F0結(jié)果判斷JC DVD3MOV R2,A ;夠減,存放新的余數(shù)MOV A,R1MOV R3,AINC R5商的低位置一DVD3: DJNZ B,DVD2 ;計(jì)算完十六位商(R4R5CLR OV

4、;設(shè)立成功標(biāo)志RET;(標(biāo)號(hào):DV31;功能:三字節(jié)二進(jìn)制無(wú)符號(hào)數(shù)除以單字節(jié)二進(jìn)制數(shù);入口條件:被除數(shù)在R3、R4、R5中,除數(shù)在R7中。;出口信息:OV=0時(shí),雙字節(jié)商在R4、R5中,OV=1時(shí)溢出。影響資源:PSW、 A、B、R2R7;堆棧需求:2字節(jié)DV31: CLR CMOV A,R3SUBB A,R7JC DV30SETB OV ;商溢出RETDV30: MOV R2,#10H ;求 R3R4R5/R7-fR4R5DM23: CLR CMOV A,R5RLC AMOV R5,AMOV A,R4RLC AMOV R4,AMOV A,R3RLC AMOV R3,AMOV F0,CCLR

5、CSUBB A,R7ANL C,/F0JC DM24INC R5DM24: DJNZ R2,DM23MOV A,R3 ;四舍五入ADD A,R3JC DM25SUBB A,R7JC DM26DM25: INC R5MOV A,R5INC R4DM26: CLR OVRET ;商在R4R5中;(16示號(hào):HBCD;功能:單字節(jié)十六進(jìn)制整數(shù)轉(zhuǎn)換成單字節(jié)BCD碼整數(shù);入口條件:待轉(zhuǎn)換的單字節(jié)十六進(jìn)制整數(shù)在累加器A中。出口信息轉(zhuǎn)換后的BCD碼整數(shù)十位和個(gè)位仍在累加器A中,百位在R3中。 影響資源:PSW、A、B、R3;堆棧需求:2字節(jié)HBCD: MOV B,#100 ;分離出百位,存放在R3中DIV

6、ABMOV R3,AMOV A,#10 ;余數(shù)繼續(xù)分離十位和個(gè)位XCH A,BDIV ABSWAP AORL A,B ;將十位和個(gè)位拼裝成BCD碼RET;(1標(biāo)號(hào):HB2;功能:雙字節(jié)十六進(jìn)制整數(shù)轉(zhuǎn)換成三字節(jié)BCD碼整數(shù);入口條件:待轉(zhuǎn)換的雙字節(jié)十六進(jìn)制整數(shù)在R6、R7中。;出口信息轉(zhuǎn)換后的三字節(jié)BCD碼整數(shù)在R3、R4、R5中。影響資源:PSW、A、R2R7;堆棧需求:2字節(jié)HB2: CLR A ;BCD碼初始化MOV R3,AMOV R4,AMOV R5,AMOV R2,#10H ;轉(zhuǎn)換雙字節(jié)十六進(jìn)制整數(shù)HB3: MOV A,R7 ;從高端移出待轉(zhuǎn)換數(shù)的一位到CY中RLC AMOV R7,

7、AMOV A,R6RLC AMOV R6,AMOV A,R5 ;BCD碼帶進(jìn)位自身相加,相當(dāng)于乘2ADDC A,R5DA A ;十進(jìn)制調(diào)整MOV A,R4ADDC A,R4DA AMOV R4,AMOV A,R3ADDC A,R3MOV R3,A ;雙字節(jié)十六進(jìn)制數(shù)的萬(wàn)位數(shù)不超過(guò)6,不用調(diào)整DJNZ R2,HB3 ;處 理完16bitRET;(2標(biāo)號(hào):BCDH;功能:單字節(jié)BCD碼整數(shù)轉(zhuǎn)換成單字節(jié)十六進(jìn)制整數(shù);入口條件:待轉(zhuǎn)換的單字節(jié)BCD碼整數(shù)在累加器A中。出口信息轉(zhuǎn)換后的單字節(jié)十六進(jìn)制整數(shù)仍在累加器A中。影響資源:PSW、A、B、R4;堆棧需求:2字節(jié)BCDH: MOV B,#10H ;分離十位和個(gè)位DIV ABMOV R4,B ;暫存?zhèn)€位MOV B,#10 ;將十位轉(zhuǎn)換成十六進(jìn)制MUL ABADD A,R4 ;按十六進(jìn)制加上個(gè)位RET;(2標(biāo)號(hào):BH2;功能:雙字節(jié)BCD碼整數(shù)轉(zhuǎn)換成雙字節(jié)十六進(jìn)制整數(shù)入口條件待轉(zhuǎn)換的雙字節(jié)BCD碼整數(shù)在R2、R3中。;出口信息:轉(zhuǎn)換后的雙字節(jié)十六進(jìn)制整數(shù)仍在R2、R3中。影響資源:PSW、A、B、R2、R3、R4;堆棧需求:4字節(jié)LCALL B

溫馨提示

  • 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)論