




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、概 述1匯編語言程序設(shè)計的步驟(1)分析問題。 (2)確定算法。 (3)畫出程序流程圖。 (4)分配內(nèi)存單元。 (5)編寫匯編語言源程序。 (6)匯編語言程序的調(diào)試。 2022/10/101頁概 述1匯編語言程序設(shè)計的步驟(1)分析問題。 2022流程線端點符號處理符號判斷符號連接符號實現(xiàn)流程圖之間的連接程序的判斷功能程序的處理功能單元程序的起始和結(jié)束程序執(zhí)行順序流程2022/10/102頁流程線端點符號處理符號判斷符號連接符號實現(xiàn)流程圖之間的連接程基本結(jié)構(gòu)程序設(shè)計 ABC入口出口(a)順序結(jié)構(gòu)圖S1S2條件滿足?入口出口(b)分支結(jié)構(gòu)A條件滿足?修改條件出口入口(c)循環(huán)結(jié)構(gòu) 2022/10
2、/103頁基本結(jié)構(gòu)程序設(shè)計 ABC入口出口(a)順序結(jié)構(gòu)圖S1S2條件一、順序結(jié)構(gòu)程序設(shè)計及舉例例4-1 將片外數(shù)據(jù)存儲器中2040H的內(nèi)容拆成兩段,其高4位存入2041H單元的低4位,其低4位存入2042H單元的低4位。 開始(DPTR)2040H取數(shù)送A,R0分離高4位高、低4位交換(2041H)結(jié)果分離低4位(2042H)低4位結(jié)束START:MOV DPTR,#2040H ; MOVX A,DPTR ;取數(shù)送A MOV R0,A ;數(shù)據(jù)暫存于R0 SWAP A ;(A)的高、低4位互換 ANL A,#0FH ;分離出(A)的低4位 INC DPTR ; MOVX DPTR,A ;將分離
3、結(jié)果送2041H單元 MOV A,R0 ;重新取數(shù) ANL A,#0FH ;分離出(A)的低4位 INC DPTR ; MOVX DPTR,A ;將分離結(jié)果送2042H單元 END2022/10/104頁一、順序結(jié)構(gòu)程序設(shè)計及舉例開始(DPTR)2040H取數(shù)送例4-2 設(shè)數(shù)a存放在R1中,數(shù)b存放在R2中,計算 ,并將結(jié)果放入R4和R5中。開始Aa,BaABAAb,R4AAB,AACYR5A結(jié)束MOV A,R1 ;AaMOV B,A ;BaMUL AB ;計算CLR CSUBB A,R2;MOV R4,A ; 結(jié)果低8位送R4MOV A,B ; 高8位送ASUBB A,#00H ;MOV R
4、5,A ;END ;結(jié)束 低8位減b2022/10/105頁例4-2 設(shè)數(shù)a存放在R1中,數(shù)b存放在R2中,計算 分支結(jié)構(gòu)程序設(shè)計 在形成分支時,一般要有測試、轉(zhuǎn)向和標(biāo)識三個部分 ;測試:通過對程序狀態(tài)寄存器PSW中各位狀態(tài)的測試,或通過對指定的單元或指定的寄存器的某位或某些位或全部位的測試,判斷某條件是否成立,決定是否轉(zhuǎn)移,形成分支,MCS-51系列單片機指令系統(tǒng)中的條件轉(zhuǎn)移類指令均具有這種測試功能,可用它們來實現(xiàn)。轉(zhuǎn)向:根據(jù)測試結(jié)果決定程序的走向。在源程序中由轉(zhuǎn)移類指令完成,在流程圖中以菱形邏輯框表示走向。標(biāo)識:對每個程序分支,給出一個標(biāo)識,以標(biāo)明程序轉(zhuǎn)移的方向,一般將分支程序轉(zhuǎn)向的第一個
5、語句賦予一個標(biāo)號,作為此分支的標(biāo)識。2022/10/106頁分支結(jié)構(gòu)程序設(shè)計 在形成分支時,一般要有測求符號函數(shù),其中X在30H單元,結(jié)果y 放在31H單元 y=1,x00,x=0-1,x0?NN2022/10/107頁求符號函數(shù),其中X在30H單元,結(jié)果y 放在31H單元 ORG 1000HMOV A,30H;取x CJNE A,#00H,N2;比較x0,則轉(zhuǎn)N2MOV A,#00HAJMP L2;若x=0,置A=0,轉(zhuǎn)L2N2:JB ACC.7,M2;判x是否為負數(shù),是轉(zhuǎn)M2MOV A,#01H;判x不為負數(shù),A置為01HAJMP L2M2:MOV A,#81H;若x是負數(shù),置A為-1L2
6、:MOV 31H,A;A送結(jié)果單元END2022/10/108頁ORG 1000H2022/10/98頁設(shè)有兩個16位無符號數(shù)NA,NB分別存放在8031單片機內(nèi)部RAM的40H、41H及50H、51H單元中,當(dāng)NANB時,將內(nèi)部RAM的42H單元清0;否則,將該單元置成全1,試編制實現(xiàn)此功能的程序。YYNN開始 結(jié)果單元置大于標(biāo)志結(jié)束NALNBL?NAL=NBL?NAH=NBH?NAHNBH? 結(jié)果單元置非大于標(biāo)志YY2022/10/109頁設(shè)有兩個16位無符號數(shù)NA,NB分別存放在8031單片機內(nèi)部ORG 1000HSTART1:MOV A,50H;取NB高8位CJNE A,40H,SUB
7、1;判NA高8位=NB高8位?若不相等,則轉(zhuǎn)SUB1MOV A,51H;若高8位相等,則取NB低8位CJNE A,41H,SUB1;判NA低8位=NB低8位?若不相等,則轉(zhuǎn)SUB1SJMP SUB2;若NA=NB,則轉(zhuǎn)SUB2SUB1:JC SUB3;若NANB,則轉(zhuǎn)SUB3SUB2:MOV 42H,#0FFH;NANB,則置非大于標(biāo)志SJMP DONESUB3:MOV 42H,#00H;NANB,則置大于標(biāo)志DONE:RETEND2022/10/1010頁ORG 1000H2022/10/910頁NAHNBH?YNN開始將R0置成大于標(biāo)志結(jié)束NALNBL?NAL=NBL?NAH=NBH?將R
8、0置成非大于標(biāo)志將R0送結(jié)果單元NNYNYY2022/10/1011頁NAHNBH?YNN開始將R0置成大于標(biāo)志結(jié)束NALNBORG 1000HSTART2:MOV R0,#00H;R0置成大于標(biāo)志MOV A,50HCJNE A,40H,SUB1MOV A,51HCJNE A,41H,SUB1SJMP SUB2SUB1:JC SUB3SUB2:MOV R0,#0FFH;置R0為非大于標(biāo)志SUB3:MOV 42H,R0END2022/10/1012頁ORG 1000H2022/10/912頁例4-5 散轉(zhuǎn)程序某單片機應(yīng)用系統(tǒng)有16個鍵,經(jīng)鍵盤掃描程序得到某個鍵的鍵碼值(00H0FH)存放在R7之
9、中,16個鍵盤的鍵處理程序入口地址分別為KEY1、KEY2、KEY16。 EXAMP:MOV A,R7 ;(A)鍵碼ADD A,R7ADD A,R7 ;(A)(A)*3MOV DPTR,#TABJMP A+DPTR ;散轉(zhuǎn)TAB:LJMP KEY0 ;轉(zhuǎn)向第1個鍵的處理程序LJMP KEY1 ;轉(zhuǎn)向第2個鍵的處理程序LJMP KEY16 ;轉(zhuǎn)向第16個鍵的處理程序2022/10/1013頁例4-5 散轉(zhuǎn)程序EXAMP:MOV A,R7 循環(huán)結(jié)構(gòu)與循環(huán)結(jié)構(gòu)程序設(shè)計 循環(huán)初始狀態(tài)循環(huán)控制條件循環(huán)體循環(huán)初始狀態(tài)循環(huán)控制條件循環(huán)體2022/10/1014頁循環(huán)結(jié)構(gòu)與循環(huán)結(jié)構(gòu)程序設(shè)計 循環(huán)初始狀態(tài)循環(huán)控制條件循環(huán)體循例4-6 編一段程序完成下列計算 ,設(shè)n=10,Xi順序存放在片內(nèi)RAM從50H開始的連續(xù)單元中,所求的和放在R3及R4中。 開始in,Y0YXi+Yii1結(jié)束i=0?開始i0,Y0YXi+Yii+1結(jié)束i=n?2022/10/1015頁例4-6 編一段程序完成下列計算 NSUN:MOV R2,#10;數(shù)組長度送R2MOV R3,#0;(R3)清零MOV R4,#0;(R4)清零MOV R0,#50H;數(shù)據(jù)塊首址送R0LOOP: MOV A,R4 ADD A,R0MOV
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 福州職業(yè)技術(shù)學(xué)院《高級語言與程序設(shè)計》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣州商學(xué)院《不動產(chǎn)籍管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 徐州工程學(xué)院《油畫間接技法》2023-2024學(xué)年第二學(xué)期期末試卷
- 四川商務(wù)職業(yè)學(xué)院《電氣控制與PC》2023-2024學(xué)年第二學(xué)期期末試卷
- 黑河學(xué)院《大數(shù)據(jù)原理與實踐》2023-2024學(xué)年第二學(xué)期期末試卷
- 南京醫(yī)科大學(xué)《無人機通信與導(dǎo)航技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 宿遷澤達職業(yè)技術(shù)學(xué)院《醫(yī)學(xué)電生理》2023-2024學(xué)年第二學(xué)期期末試卷
- 江蘇航空職業(yè)技術(shù)學(xué)院《智能運輸系統(tǒng)2》2023-2024學(xué)年第二學(xué)期期末試卷
- 河南應(yīng)用技術(shù)職業(yè)學(xué)院《鋼鐵工業(yè)技術(shù)路線圖研發(fā)計劃》2023-2024學(xué)年第二學(xué)期期末試卷
- 江西農(nóng)業(yè)工程職業(yè)學(xué)院《家用電器》2023-2024學(xué)年第二學(xué)期期末試卷
- 工程質(zhì)量問題整改回執(zhí)單
- 第9章-輔助技術(shù)與環(huán)境改造
- 民事非法強占土地上訴狀模板
- 鐵路基礎(chǔ)知識-課件
- 2022公務(wù)員錄用體檢操作手冊(試行)
- 骨盆骨折PPT完整版
- 2023年邊防檢查考試真題模擬匯編(共638題)
- EAP服務(wù)案例解析
- 大學(xué)材料力學(xué)課件:《彎曲的幾個補充問題》
- 廢鋼清理安全操作規(guī)程
- 無人機概述專業(yè)知識課件
評論
0/150
提交評論