




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第4章匯編語言程序設(shè)計
算術(shù)運算程序設(shè)計匯編語言程序的結(jié)構(gòu)
匯編語言概述
非數(shù)值操作程序設(shè)計4.1匯編語言概述一、匯編語言與匯編的概念機器語言:用指令的二進制碼編寫的程序CPU能識別,執(zhí)行速度快難記、難讀、難寫、難查匯編語言:用指令助記符編寫的程序機器語言匯編語言翻譯(匯編)源程序目標(biāo)程序匯編語言特點程序精練,執(zhí)行速度快,適合于實時控制處理接口技術(shù)、中斷技術(shù)很方便需要熟悉硬件,編程有一定難度高級語言面向?qū)ο蠛蛦栴},接近自然語言,易學(xué)易用獨立于機器一條語句可對應(yīng)一段匯編語言程序既然有了高級語言,為什么還要學(xué)習(xí)匯編語言?二、匯編語言源程序的格式MCS-51的匯編語句采用典型的四分段格式:標(biāo)號段操作碼段操作數(shù)段注釋段標(biāo)號的構(gòu)成原則是什么?注釋段起什么作用?三、偽指令起始指令:ORG匯編結(jié)束:END─指導(dǎo)匯編過程的命令定義字節(jié):DB──定義若干個8位數(shù)據(jù)例:ORG3000HTABL:DB30H,31H,’2’,’A’匯編后:TABL=3000H
(3000H)=30H, (3001H)=31H, (3002H)=32H, (3003H)=41H,定義字:DW──定義若干個16位數(shù)據(jù)匯編后:TAB=3010H
(3010H)=12H
(3011H)=34H
(3012H)=00H
(3013H)=56H
例:
ORG3010HTAB:DW1234H,56H賦值:EQU──將一個數(shù)或符號賦給變量位地址賦值:BIT四、源程序的匯編第一次匯編:查出機器碼,并對應(yīng)地址列表第二次匯編:計算偏移量rel什么叫匯編?有幾種匯編的方法?1.手工匯編rel=目標(biāo)地址-源地址-3(對3字節(jié)指令)2.機器匯編利用專用軟件(稱為匯編程序),由計算機完成匯編工作。經(jīng)過兩次掃描過程:第一次掃描:檢查語法錯誤,確定符號名字;建立使用的全部符號名字表;每一符號名字后跟一對應(yīng)值(地址或數(shù))。第二次掃描:是在第一次掃描基礎(chǔ)上,將符號地址轉(zhuǎn)換成地址(代真);利用操作碼表將助記符轉(zhuǎn)換成相應(yīng)的目標(biāo)碼。
4.2匯編語言程序的結(jié)構(gòu)一、匯編語言程序設(shè)計步驟1.分析題意,明確要求2.建立數(shù)學(xué)模型并確定算法3.畫程序流程圖程序流程圖是解題步驟及算法的具體化直觀清晰地體現(xiàn)了程序的設(shè)計思路4.分配內(nèi)存單元確定程序與數(shù)據(jù)的存放地址熟悉所用單片機指令系統(tǒng)所編程序要正確并具有可讀性5.編寫程序6.程序優(yōu)化縮短程序長度加快運行速度節(jié)省存儲單元7.上機調(diào)試檢驗源程序的正確性使用開發(fā)系統(tǒng)利用仿真軟件二、順序程序結(jié)構(gòu)
根據(jù)ASCII碼表,十進制數(shù)0~9的ASCII碼和它的BCD碼之間僅相差30H,本題需要把一個字節(jié)的兩位BCD數(shù)進行拆分,然后分別和30H拼接,即得到相應(yīng)的ASCII碼。程序按順序執(zhí)行,無分支,無轉(zhuǎn)移例1:將壓縮BCD碼轉(zhuǎn)換成ASCII碼源程序XCHD是什么指令?SWAP是什么指令?三、分支程序結(jié)構(gòu)具有判斷和轉(zhuǎn)移功能的程序【例4-4】求符號函數(shù)Y的值源程序EQUEQUJNBACC.7,POSI是什么指令?四、循環(huán)程序結(jié)構(gòu)例1:已知數(shù)塊長度L,求累加和已知內(nèi)部RAM的BLOCK單元開始有一無符號數(shù)據(jù)塊,塊長在LEN單元。請編出求數(shù)據(jù)塊中各數(shù)累加和、并存入SUM單元的程序解法一:先判斷后處理程序中INCR2指令有什么用途?解法二:先處理后判斷EQUEQUEQU例2:查找最大值算法:逐個比較,大者送入MAX單元查找最大值源程序1EQUEQUEQUJCNEXT是什么指令?五、主程序調(diào)用子程序結(jié)構(gòu)序絕對調(diào)用:ACALLaddr11長調(diào)用:
LCALLaddr16子程序返回:RET例:將一批壓縮BCD碼轉(zhuǎn)換成ASCII碼
編寫程序,把以R0所指為起始地址的壓縮BCD碼轉(zhuǎn)換為ASCII碼,存于以R1所指為起始地址的片內(nèi)RAM中,已知BCD數(shù)的字節(jié)數(shù)在R2中
BCD碼與ASCII碼之間是什么關(guān)系呢?
BCD碼ASCII碼
0 30H 1 31H 2 32H 3 33H 4 34H 5 35H 6 36H 7 37H 8 38H 9 39H(A)+30H[]ASCII將其編成子程序,如下所示
ORG 0000HSTART:MOV A, @R0 ACALLGT ;調(diào)用轉(zhuǎn)換子程序
MOV @R1,A ;存轉(zhuǎn)換結(jié)果
INC R1 MOV A, @R0 ;再取原BCD碼字節(jié)
SWAPA ;高4位交換到低4位
ACALLGT ;調(diào)用轉(zhuǎn)換子程序
MOV @R1,A INC R0 INC R1 DJNZ R2, START;未完繼續(xù)
HRER:SJMP HERE GT: ANL A, #0FH ;屏蔽高4位
ADD A, #30H ;求相應(yīng)的ASCII碼
RET END
然后再編寫主程序,調(diào)用下面子程序?qū)崿F(xiàn)本題要求下次課前請預(yù)習(xí)4.3-4.4節(jié),并思考下列問題欲將外部RAM起始地址為DATA的數(shù)據(jù)塊(設(shè)數(shù)據(jù)塊長度為20)傳送到內(nèi)部RAM起始地址為30H的存儲區(qū),應(yīng)如何編程?已知以外部RAM2000H為起始地址的存儲區(qū)有20個有符號數(shù),要求把正數(shù)和正零取出來存放到內(nèi)部RAM以20H為起始地址的存儲區(qū)(負(fù)數(shù)和負(fù)零不作
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 主體水電合同范本
- 參數(shù)設(shè)計合同范本
- 租賃會議室合同范本
- 冬儲保價合同范本
- 轉(zhuǎn)讓精裝修房產(chǎn)合同范本
- 合同范本與格式合同區(qū)別
- 鋁合金分銷合同范本
- 吧臺轉(zhuǎn)讓合同范本
- 廠內(nèi)工程裝修合同范本
- 倉庫燈具回收合同范例
- 解讀國有企業(yè)管理人員處分條例(2024)課件(全文)
- 2024年江蘇省揚州市中考數(shù)學(xué)真題(解析版)
- 創(chuàng)新創(chuàng)業(yè)基礎(chǔ)-理論、案例與訓(xùn)練(大學(xué)生創(chuàng)新創(chuàng)業(yè)教育課程)全套教學(xué)課件
- TD/T 1072-2022 國土調(diào)查坡度分級圖制作技術(shù)規(guī)定(正式版)
- 《火力發(fā)電建設(shè)工程機組調(diào)試技術(shù)規(guī)范》
- 2024年湘潭醫(yī)衛(wèi)職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫及答案解析
- 2024年合肥市高三第二次教學(xué)質(zhì)量(二模)英語試卷(含答案)
- 新能源充電樁創(chuàng)業(yè)計劃書
- 2024屆浙江省初中學(xué)業(yè)水平測試中考科學(xué)測模擬試題(二模)附答案
- 2023年全國統(tǒng)一高考政治試卷(湖南卷)含答案與解析
- 中班語言活動:小老虎的名片
評論
0/150
提交評論