版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第4章匯編語(yǔ)言程序設(shè)計(jì)復(fù)習(xí):
匯編語(yǔ)句的格式
匯編語(yǔ)言的構(gòu)成
偽指令
程序設(shè)計(jì)的步驟:
分析題意
確定算法
畫程序流程圖
編寫源程序
調(diào)試修改匯編語(yǔ)言程序設(shè)計(jì)2MOV A,R0 ;讀低8位
CPL A ;取反
ADD A,#1 ;加1 MOV R2,A ;存低8位
MOV A,R1 ;讀高8位
CPL A ;取反
ADDC A,#80H ;加進(jìn)位及符號(hào)位
MOVR3,A ;存高8位
END 一.順序結(jié)構(gòu)程序
——程序逐條執(zhí)行【例】已知16位二進(jìn)制負(fù)數(shù)的原碼存放在R1R0中,試求其補(bǔ)碼,并將結(jié)果存在R3R2中。匯編語(yǔ)言程序設(shè)計(jì)2
——根據(jù)不同條件轉(zhuǎn)向不同的處理程序二.分支結(jié)構(gòu)程序編寫分支程序主要在于正確使用轉(zhuǎn)移指令(條件轉(zhuǎn)移指令、比較轉(zhuǎn)移指令、位操作轉(zhuǎn)移指令)。分支程序有:?jiǎn)畏种ЫY(jié)構(gòu)、雙分支結(jié)構(gòu)、多分支結(jié)構(gòu)。匯編語(yǔ)言程序設(shè)計(jì)2例1:求單字節(jié)有符號(hào)二進(jìn)制數(shù)的補(bǔ)碼(設(shè)二進(jìn)制數(shù)在累加器A中,將其補(bǔ)碼放回到A中)。分析:正數(shù)補(bǔ)碼是其本身,負(fù)數(shù)的補(bǔ)碼是其反碼加1。因此,程序首先判斷被轉(zhuǎn)換數(shù)符號(hào),負(fù)數(shù)進(jìn)行轉(zhuǎn)換,正數(shù)則不變。
JNB ACC.7,AAA
;(A)>0,不需要轉(zhuǎn)換
MOV C,ACC.7
;保存符號(hào)
MOV 00H, C
;保存符號(hào)
CPL A ADD A,#01H
MOV C,OOH
MOV ACC.7,C
;恢復(fù)符號(hào)AAA: RET匯編語(yǔ)言程序設(shè)計(jì)2例2:設(shè)變量x以補(bǔ)碼形式存放在片內(nèi)RAM30H單元中,變量y與x的關(guān)系是:編程根據(jù)x的值求y值并放回原單元。分析:根據(jù)x的大小來(lái)決定y的值。
取x、判斷x的大小、給y賦值、存y匯編語(yǔ)言程序設(shè)計(jì)2A=?y=x+5<0>0y=20Hy=x0取x即(30H)A開(kāi)始存y即y30H結(jié)束MOVA,30H
JZNEXTANLA,#80H
JZLPMOVA,#05HADDA,30HMOV30H,A
SJMPLPNEXT:MOV30H,#20HLP:SJMP$匯編語(yǔ)言程序設(shè)計(jì)2例3:多分支程序(散轉(zhuǎn)程序)根據(jù)R7的內(nèi)容轉(zhuǎn)向相應(yīng)的處理程序。設(shè)R7的內(nèi)容為0~N,對(duì)應(yīng)的處理程序的入口地址分別為PR0~PRN。
MOVDPTR,#TAB;置表首地址
MOVA,R7;分支轉(zhuǎn)移序號(hào)送A
RLAADDA,R7;分支轉(zhuǎn)移序號(hào)乘以3
JMP@A+DPTRTAB:LJMPPR0LJMPPR1………LJMPPRN
匯編語(yǔ)言程序設(shè)計(jì)2練習(xí):兩個(gè)無(wú)符號(hào)數(shù)比較大小
將片外RAM0040H、0041H地址中的內(nèi)容相比較,其中較大數(shù)存入片外RAM0042H地址中。匯編語(yǔ)言程序設(shè)計(jì)2——按某種控制規(guī)律重復(fù)執(zhí)行的程序三.循環(huán)結(jié)構(gòu)程序循環(huán)程序一般由:初始化部分循環(huán)體部分--處理部分、修改部分、控制部分結(jié)束部分其結(jié)構(gòu)一般有兩種:先進(jìn)入處理部分,再控制循環(huán)至少執(zhí)行一次循環(huán)體先控制循環(huán),再進(jìn)入處理部分循環(huán)體是否執(zhí)行,取決于判斷結(jié)果。匯編語(yǔ)言程序設(shè)計(jì)2開(kāi)始設(shè)置循環(huán)初值循環(huán)處理循環(huán)修改結(jié)束處理結(jié)束循環(huán)結(jié)束?開(kāi)始設(shè)置循環(huán)初值循環(huán)處理循環(huán)修改結(jié)束處理結(jié)束循環(huán)結(jié)束?YN先執(zhí)行后判斷先判斷后執(zhí)行匯編語(yǔ)言程序設(shè)計(jì)2例1:假設(shè)在片內(nèi)RAM40H單元開(kāi)始存放有8個(gè)無(wú)符號(hào)字節(jié)數(shù),找出其中最大值,存入30H單元中。
MOVR0,#40HMOVR2,#7MOV30H,@R0LOOP:INCR0MOVA,@R0CJNEA,30H,NEXTNEXT:JCLOP1MOV30H,ALOP1:DJNZR2,LOOPEND匯編語(yǔ)言程序設(shè)計(jì)2例2:將內(nèi)部數(shù)據(jù)存儲(chǔ)器30H~7FH單元的內(nèi)容傳送到外部數(shù)據(jù)存儲(chǔ)器以1000H開(kāi)始的連續(xù)單元中去。解:30H~7FH共計(jì)80個(gè)單元,需傳送80次數(shù)據(jù)。將R2作為循環(huán)計(jì)數(shù)寄存器。開(kāi)始R0←30HDPTR←1000HR7←50HA←((R0))(DPTR←(A)R0←(R0)+1DPTR←(DPTR)+1R7=0?結(jié)束No
MOV R0, #30H MOV DPTR,#1000H MOV R2, #50HLOP: MOV A,@R0 MOVX @DPTR,A INC R0
INC DPTR DJNZ R2,LOP
END匯編語(yǔ)言程序設(shè)計(jì)2例3:將內(nèi)部RAM中起始地址為data的數(shù)據(jù)串送到外部RAM中起始地址為buffer的存儲(chǔ)區(qū)域中,直到發(fā)現(xiàn)‘$’字符,傳送停止。----循環(huán)次數(shù)事先不知道先判斷,后執(zhí)行。MOVR0,#dataMOVDPTR,#bufferLOOP1:MOVA,@R0CJNEA,#24H,LOOP2;判斷是否為$字符
SJMPLOOP3;是,轉(zhuǎn)結(jié)束LOOP2:MOVX@DPTR,A;不是,傳送數(shù)據(jù)
INCR0INCDPTRSJMPLOOP1;傳送下一數(shù)據(jù)LOOP3:END13匯編語(yǔ)言程序設(shè)計(jì)2例4:編寫延時(shí)10ms子程序,fosc=12MHz。解:fosc=12MHz,一個(gè)機(jī)器周期為1s。MOVR6,#20;置外循環(huán)次數(shù)DLP1:MOVR7,#250;置內(nèi)循環(huán)次數(shù)DLP2:DJNZR7,DLP2;2機(jī)周×250=500機(jī)周
DJNZR6,DLP1;500機(jī)周×20=10000機(jī)周
RET說(shuō)明:MOVRn指令為1個(gè)機(jī)器周期;DJNZ指令為2個(gè)機(jī)器周期;RET指令為2個(gè)機(jī)器周期;{[(2×250)+1+2]×20+1+2}×1s=10063
s≈10ms匯編語(yǔ)言程序設(shè)計(jì)21.數(shù)制轉(zhuǎn)換:136=
B=
H;12.34H=
B。2.MOVA,@R1指令中源操作數(shù)的尋址方式是
。3.使用51單片機(jī)的片內(nèi)ROM時(shí),需將
引腳接
電平。4.當(dāng)晶振頻率為12MHz時(shí),一個(gè)機(jī)器周期為
。5.若A=82H,R0=40H,CY=1,執(zhí)行指令A(yù)DDCA,R0后,A=
,CY=
,AC=
,OV=
,P=
。6.執(zhí)行下列程序段后,(P1)=
H。MOVP1,#5DHCPLP1.1CPLP1.2CLRP1.6SETBP1.77.假定(50H)=0A4H,執(zhí)行下列指令:
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年08月遼寧2024年中國(guó)農(nóng)業(yè)銀行遼寧分行秋季校園招考筆試歷年參考題庫(kù)附帶答案詳解
- 2025年度高科技園區(qū)場(chǎng)地租賃合同范本9篇
- 2025年度國(guó)際環(huán)保項(xiàng)目技術(shù)咨詢與實(shí)施合同4篇
- 2025年度大型體育場(chǎng)館設(shè)施建設(shè)合同范本2篇
- 2025版智慧城市運(yùn)營(yíng)管理合同4篇
- 健康生活的類型和特點(diǎn)
- 2025年度個(gè)人房屋建造質(zhì)量保證服務(wù)合同4篇
- 專業(yè)技能與實(shí)踐能力
- 中國(guó)高性能交換機(jī)行業(yè)深度調(diào)研與投資戰(zhàn)略規(guī)劃分析報(bào)告
- 11 空氣占據(jù)空間嗎 說(shuō)課稿-2023-2024學(xué)年科學(xué)三年級(jí)下冊(cè)人教鄂教版
- 吸入療法在呼吸康復(fù)應(yīng)用中的中國(guó)專家共識(shí)2022版
- 1-35kV電纜技術(shù)參數(shù)表
- 信息科技課程標(biāo)準(zhǔn)測(cè)(2022版)考試題庫(kù)及答案
- 施工組織設(shè)計(jì)方案針對(duì)性、完整性
- 2002版干部履歷表(貴州省)
- DL∕T 1909-2018 -48V電力通信直流電源系統(tǒng)技術(shù)規(guī)范
- 2024年服裝制版師(高級(jí))職業(yè)鑒定考試復(fù)習(xí)題庫(kù)(含答案)
- 門診部縮短就診等候時(shí)間PDCA案例-課件
- 第21課《鄒忌諷齊王納諫》對(duì)比閱讀 部編版語(yǔ)文九年級(jí)下冊(cè)
- NB-T32042-2018光伏發(fā)電工程建設(shè)監(jiān)理規(guī)范
評(píng)論
0/150
提交評(píng)論