第4章80C51單片機匯編語言程序設(shè)計(新)_第1頁
第4章80C51單片機匯編語言程序設(shè)計(新)_第2頁
第4章80C51單片機匯編語言程序設(shè)計(新)_第3頁
第4章80C51單片機匯編語言程序設(shè)計(新)_第4頁
第4章80C51單片機匯編語言程序設(shè)計(新)_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1 1ORG 1000HORG 1000HA1:DB 01001010B,23A1:DB 01001010B,23o o,23,78H,23,78H,A2:DB A2:DB 5 5, ,”12AB12AB”,12D,-2,12D,-2(1000H)=01001010B=4AH,(1000H)=01001010B=4AH,(1001H)=23(1001H)=23o o=13H=13H,(1002H)=23=17H, (1002H)=23=17H, (1003H)=78H,(1003H)=78H,(1004H)=35H(5(1004H)=35H(5的的ASCIIASCII碼碼),),(1005H)

2、=31H(1(1005H)=31H(1的的ASCIIASCII碼)碼), ,(1006H)=32H(2(1006H)=32H(2的的ASCIIASCII碼碼),),(1007H)=41H(A(1007H)=41H(A的的ASCIIASCII碼)碼), ,(1008H)=42H(B(1008H)=42H(B的的ASCIIASCII碼碼),),(1009H)=12D=0CH(1009H)=12D=0CH(100AH)=-2=0FEH(100AH)=-2=0FEH【例例】ADDRTAB:DS 20ADDRTAB:DS 20; ;從標(biāo)號從標(biāo)號ADDRTABADDRTAB代表的地址開始,預(yù)留代表的地址開

3、始,預(yù)留2020個個; ;連續(xù)的地址單元。連續(xù)的地址單元。DBDB、DWDW、DSDS只能對于程序存儲器使用只能對于程序存儲器使用【例例】CS EQU 0FFFFHCS EQU 0FFFFHA1 EQU R1A1 EQU R1A2 EQU 10H A2 EQU 10H DELAY EQU 0708HDELAY EQU 0708HMOV R0,ADDRESSMOV R0,ADDRESSMOV R1,#ADDRESSMOV R1,#ADDRESSADDRESS DATA 31HADDRESS DATA 31H將將31H31H單元內(nèi)容送單元內(nèi)容送R0,(R1)=31HR0,(R1)=31H。ORGO

4、RGSJMP $SJMP $ENDEND【例例】程序格式如下:程序格式如下:x-1(x5)0(5x 10)x+1(x10)Y=要根據(jù)要根據(jù)x的大小來決定的大小來決定y值,在判斷值,在判斷x5和和y10時,采用時,采用CJNE和和JC以及以及CJNE和和JNC指令進行判斷。指令進行判斷。ORG 1000HMOV A,30H;取取xCJNE A,#5,NEXT1;與與5比較比較NEXT1:JC NEXT3;x5,則轉(zhuǎn),則轉(zhuǎn)NEXT3CJNE A,#10,NEXT2;與與10比較比較NEXT2:JNC NEXT4; x10,則轉(zhuǎn),則轉(zhuǎn)NEXT4MOV R0,#0;5x 10,y=0SJMP NEXT

5、5NEXT3:MOV R0,ADEC R0;x5,y=x-1SJMP NEXT5NEXT4:MOV R0,AINC R0;x10,y=x+1NEXT5:MOV 31H,R0;存結(jié)果存結(jié)果SJMP $ENDMOV A,#kRL AADD A,R3MOV DPTR,#BRTABJMP A+DPTRBRTAB:LJMP BR0;BRTABLJMP BR1;BRTA+3 LJMP BRn;BRTAB+3n【例例】分別用兩條查表指令編寫一段子程序,功能為:根分別用兩條查表指令編寫一段子程序,功能為:根據(jù)累加器據(jù)累加器A A中的數(shù)(中的數(shù)(0 09 9之間)查找平方表,求出相應(yīng)的之間)查找平方表,求出相應(yīng)

6、的平方數(shù),放在平方數(shù),放在A A中。中。ORG 2000HORG 2000HTEM EQU 30HTEM EQU 30HFACTORIAL:FACTORIAL:MOV B,#3MOV B,#3MUL ABMUL AB;n;n在在A A中,中,n n3 3MOV B,AMOV B,A; ;暫存暫存B B中中MOV DPTR,#TABMOV DPTR,#TAB; ;指向表首址指向表首址TABLTABLMOV A,A+DPTRMOV A,A+DPTR; ;查表取低字節(jié)查表取低字節(jié)MOV R0,AMOV R0,A; ;存入存入R0R0INC DPTRINC DPTR; ;修正地址指針修正地址指針MOV

7、 A,BMOV A,B; ;恢復(fù)恢復(fù)n n3 3MOV A,A+DPTRMOV A,A+DPTR; ;查表取中間字節(jié)查表取中間字節(jié)MOV R1,AMOV R1,A; ;存入存入R1R1INC DPTRINC DPTR; ;修正地址指針修正地址指針MOV A,BMOV A,B; ;恢復(fù)恢復(fù)n n3 3MOVC A,A+DPTRMOVC A,A+DPTR; ;查表取高字節(jié)查表取高字節(jié)MOV R2,AMOV R2,A; ;存入存入R2R2RETRETTAB:TAB:DB 0,0,0, 0,0,1,0,0,2, 0,0,6DB 0,0,0, 0,0,1,0,0,2, 0,0,6 ;0,1,2,3;0,1,2,3的階乘的階乘DB 0,0,18H,0,0,78H,0,2,D0HDB 0,0,18H,0,0,78H,0,2,D0H;4,5,6;4,5,6的階乘的階乘DB 0,13H,0B0H,0,9DH,80HDB 0,13H,0B0H,0,9DH,80H;7,8;7,8的階乘的階乘DB 5,89H,80HDB 5,89H,80H;9;9的階乘的階乘MOV A,40HMOV DPTR,#TABRL AADD A,40HJMP A+DPTRTAB: LCALL SUB1LCALL SUB2LCA

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論