版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第4章匯編語言程序設計復習:
匯編語句的格式
匯編語言的構成
偽指令
程序設計的步驟:
分析題意
確定算法
畫程序流程圖
編寫源程序
調試修改匯編語言程序設計2MOV A,R0 ;讀低8位
CPL A ;取反
ADD A,#1 ;加1 MOV R2,A ;存低8位
MOV A,R1 ;讀高8位
CPL A ;取反
ADDC A,#80H ;加進位及符號位
MOVR3,A ;存高8位
END 一.順序結構程序
——程序逐條執(zhí)行【例】已知16位二進制負數的原碼存放在R1R0中,試求其補碼,并將結果存在R3R2中。匯編語言程序設計2
——根據不同條件轉向不同的處理程序二.分支結構程序編寫分支程序主要在于正確使用轉移指令(條件轉移指令、比較轉移指令、位操作轉移指令)。分支程序有:單分支結構、雙分支結構、多分支結構。匯編語言程序設計2例1:求單字節(jié)有符號二進制數的補碼(設二進制數在累加器A中,將其補碼放回到A中)。分析:正數補碼是其本身,負數的補碼是其反碼加1。因此,程序首先判斷被轉換數符號,負數進行轉換,正數則不變。
JNB ACC.7,AAA
;(A)>0,不需要轉換
MOV C,ACC.7
;保存符號
MOV 00H, C
;保存符號
CPL A ADD A,#01H
MOV C,OOH
MOV ACC.7,C
;恢復符號AAA: RET匯編語言程序設計2例2:設變量x以補碼形式存放在片內RAM30H單元中,變量y與x的關系是:編程根據x的值求y值并放回原單元。分析:根據x的大小來決定y的值。
取x、判斷x的大小、給y賦值、存y匯編語言程序設計2A=?y=x+5<0>0y=20Hy=x0取x即(30H)A開始存y即y30H結束MOVA,30H
JZNEXTANLA,#80H
JZLPMOVA,#05HADDA,30HMOV30H,A
SJMPLPNEXT:MOV30H,#20HLP:SJMP$匯編語言程序設計2例3:多分支程序(散轉程序)根據R7的內容轉向相應的處理程序。設R7的內容為0~N,對應的處理程序的入口地址分別為PR0~PRN。
MOVDPTR,#TAB;置表首地址
MOVA,R7;分支轉移序號送A
RLAADDA,R7;分支轉移序號乘以3
JMP@A+DPTRTAB:LJMPPR0LJMPPR1………LJMPPRN
匯編語言程序設計2練習:兩個無符號數比較大小
將片外RAM0040H、0041H地址中的內容相比較,其中較大數存入片外RAM0042H地址中。匯編語言程序設計2——按某種控制規(guī)律重復執(zhí)行的程序三.循環(huán)結構程序循環(huán)程序一般由:初始化部分循環(huán)體部分--處理部分、修改部分、控制部分結束部分其結構一般有兩種:先進入處理部分,再控制循環(huán)至少執(zhí)行一次循環(huán)體先控制循環(huán),再進入處理部分循環(huán)體是否執(zhí)行,取決于判斷結果。匯編語言程序設計2開始設置循環(huán)初值循環(huán)處理循環(huán)修改結束處理結束循環(huán)結束?開始設置循環(huán)初值循環(huán)處理循環(huán)修改結束處理結束循環(huán)結束?YN先執(zhí)行后判斷先判斷后執(zhí)行匯編語言程序設計2例1:假設在片內RAM40H單元開始存放有8個無符號字節(jié)數,找出其中最大值,存入30H單元中。
MOVR0,#40HMOVR2,#7MOV30H,@R0LOOP:INCR0MOVA,@R0CJNEA,30H,NEXTNEXT:JCLOP1MOV30H,ALOP1:DJNZR2,LOOPEND匯編語言程序設計2例2:將內部數據存儲器30H~7FH單元的內容傳送到外部數據存儲器以1000H開始的連續(xù)單元中去。解:30H~7FH共計80個單元,需傳送80次數據。將R2作為循環(huán)計數寄存器。開始R0←30HDPTR←1000HR7←50HA←((R0))(DPTR←(A)R0←(R0)+1DPTR←(DPTR)+1R7=0?結束No
MOV R0, #30H MOV DPTR,#1000H MOV R2, #50HLOP: MOV A,@R0 MOVX @DPTR,A INC R0
INC DPTR DJNZ R2,LOP
END匯編語言程序設計2例3:將內部RAM中起始地址為data的數據串送到外部RAM中起始地址為buffer的存儲區(qū)域中,直到發(fā)現‘$’字符,傳送停止。----循環(huán)次數事先不知道先判斷,后執(zhí)行。MOVR0,#dataMOVDPTR,#bufferLOOP1:MOVA,@R0CJNEA,#24H,LOOP2;判斷是否為$字符
SJMPLOOP3;是,轉結束LOOP2:MOVX@DPTR,A;不是,傳送數據
INCR0INCDPTRSJMPLOOP1;傳送下一數據LOOP3:END13匯編語言程序設計2例4:編寫延時10ms子程序,fosc=12MHz。解:fosc=12MHz,一個機器周期為1s。MOVR6,#20;置外循環(huán)次數DLP1:MOVR7,#250;置內循環(huán)次數DLP2:DJNZR7,DLP2;2機周×250=500機周
DJNZR6,DLP1;500機周×20=10000機周
RET說明:MOVRn指令為1個機器周期;DJNZ指令為2個機器周期;RET指令為2個機器周期;{[(2×250)+1+2]×20+1+2}×1s=10063
s≈10ms匯編語言程序設計21.數制轉換:136=
B=
H;12.34H=
B。2.MOVA,@R1指令中源操作數的尋址方式是
。3.使用51單片機的片內ROM時,需將
引腳接
電平。4.當晶振頻率為12MHz時,一個機器周期為
。5.若A=82H,R0=40H,CY=1,執(zhí)行指令ADDCA,R0后,A=
,CY=
,AC=
,OV=
,P=
。6.執(zhí)行下列程序段后,(P1)=
H。MOVP1,#5DHCPLP1.1CPLP1.2CLRP1.6SETBP1.77.假定(50H)=0A4H,執(zhí)行下列指令:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版能源互聯網財務擔保合同賬務管理與市場拓展3篇
- 二零二五年度管道工程專用管子配件采購合同3篇
- 2025年中國關節(jié)止痛膏行業(yè)市場全景分析及投資規(guī)劃建議報告
- 2025年通勤車租賃合同通勤交通綠色出行合作協議6篇
- 二零二五年度安全風險評估與安全文化建設合同2篇
- 二零二五版綠化工程施工圖預算編制合同3篇
- 2025年商超貨架項目提案報告范文
- 2025年六角雙頂涼棚行業(yè)深度研究分析報告
- 二零二五版股權激勵與員工持股計劃合同3篇
- 二零二五年度藝術品投資代購與市場分析協議3篇
- 吸入療法在呼吸康復應用中的中國專家共識2022版
- 1-35kV電纜技術參數表
- 信息科技課程標準測(2022版)考試題庫及答案
- 施工組織設計方案針對性、完整性
- 2002版干部履歷表(貴州省)
- DL∕T 1909-2018 -48V電力通信直流電源系統技術規(guī)范
- 2024年服裝制版師(高級)職業(yè)鑒定考試復習題庫(含答案)
- 門診部縮短就診等候時間PDCA案例-課件
- 第21課《鄒忌諷齊王納諫》對比閱讀 部編版語文九年級下冊
- NB-T32042-2018光伏發(fā)電工程建設監(jiān)理規(guī)范
評論
0/150
提交評論