




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 宏指令的 宏指令的格式為: MACRO 形參表 ENDM 上面宏定義中,X、Y、Z是形式參數(shù)。 調(diào)用宏DADD時(shí)可寫(xiě)為: DADD DATA1,DATA2,SUM 上面宏調(diào)用中,DATA1,DATA2,SUM是實(shí)際參數(shù),由它們替換定義中的X、Y、Z,即形實(shí)結(jié)合。CALL RETCALL CALL 相同=或主程序+過(guò)程(子程序)主程序+宏定義宏擴(kuò)展宏調(diào)用 與 過(guò)程(子程序)調(diào)用 異同點(diǎn)示意圖 宏調(diào)用 與 過(guò)程(子程序)調(diào)用 異同點(diǎn)相同點(diǎn): 都是一次定義,多次調(diào)用。不同點(diǎn): 執(zhí)行形式:宏命令偽指令由宏匯編程序在匯編過(guò)理中進(jìn)行處理;而CALL、RET則是由CPU執(zhí)行的指令。 匯編結(jié)果:宏命令偽指令
2、匯編后被展開(kāi)。 執(zhí)行速度:宏命令執(zhí)行速度較快(因無(wú)調(diào)用轉(zhuǎn)移) 占用內(nèi)存:宏指令簡(jiǎn)化了源程序,但不能簡(jiǎn)化目標(biāo)程序,并不節(jié)省內(nèi)存單元; 使用過(guò)程可以節(jié)省代碼(源程序和目標(biāo)程序)占用的內(nèi)存空間。 匯編語(yǔ)言的一個(gè)實(shí)例: EXAM.ASM 列表為指令 TITLE SUBTTL PAGE連接偽指令 PUBLIC EXTRN INCLUDE GROUP等等其它偽指令: DOS系統(tǒng)功能調(diào)用都是用軟中斷指令I(lǐng)NT 21H來(lái)實(shí)現(xiàn)的。它具有90多個(gè)子功能的中斷服務(wù)程序,它們通過(guò)功能號(hào)AH來(lái)區(qū)分。它不依賴于具體的硬件系統(tǒng)。內(nèi)存管理、存取時(shí)間、存取終端矢量、終止程序等。(預(yù)留的N1個(gè)字節(jié)的存儲(chǔ)單元) 0DHN2N1 N
3、1: 緩沖區(qū)長(zhǎng)度(最大鍵入字符數(shù)) N2: 實(shí)際鍵入的字符數(shù)(不包括回車符) 用戶定義的輸入字符串的緩沖區(qū)格式 定義:基本輸入輸出系統(tǒng),是固化在EPROM中的一組實(shí)現(xiàn)基本輸入輸出功能的子程序。功能: 系統(tǒng)測(cè)試程序、初始化引導(dǎo)程序、一部分中斷矢量裝入程序及外部設(shè)備的服務(wù)程序等。BIOS與系統(tǒng)硬件有直接的依賴關(guān)系。調(diào)用方法:BIOS調(diào)用通過(guò)多個(gè)軟中斷提供,具體的調(diào)用方法為: BIOS中的幾個(gè)主要中斷類型如下:INT 10H屏幕顯示INT 13H磁盤(pán)操作INT 14H串行口操作INT 16H鍵盤(pán)操作INT 17H打印機(jī)操作 每類中斷由包含許多子功能,調(diào)用時(shí)通過(guò)功能號(hào)指定。BIOS功能調(diào)用說(shuō)明見(jiàn)p41
4、6附錄D。 BIOS中斷程序處于DOS功能調(diào)用和硬件環(huán)境之間,和DOS功能調(diào)用相比其優(yōu)點(diǎn)是效率高,缺點(diǎn)是編程相對(duì)復(fù)雜;和直接對(duì)硬件編程相比,優(yōu)點(diǎn)是實(shí)現(xiàn)相對(duì)容易,缺點(diǎn)是效率相對(duì)較低。 在一些情況下既能選擇DOS中斷也能選擇BIOS中斷來(lái)執(zhí)行同樣的功能。例如,打印機(jī)輸出一個(gè)字符的功能,可用DOS中斷21H的功能5,也可用BIOS中斷17H的功能0。因?yàn)锽IOS比DOS更靠近硬件。一般情況下,盡可能地使用DOS功能,但在少數(shù)情況下必須使用BIOS功能。例如,BIOS中斷17H的功能2為讀打印機(jī)狀態(tài),DOS就沒(méi)有等效的功能。 因此,對(duì)BIOS和DOS調(diào)用的選擇原則是,無(wú)法使用DOS功能調(diào)用或DOS沒(méi)有
5、提供而B(niǎo)IOS提供了功能的情況下可以考慮使用BIOS中斷。BIOS中斷調(diào)用與DOS功能調(diào)用的比較 如何繪制程序框圖(流程圖)?NY?框中標(biāo)明子程序名字(入口參數(shù)等) 。 流程圖的例子FlowChart.docYYYNNN有錯(cuò) ?有錯(cuò) ?有錯(cuò) ?結(jié)束匯 編輸入(修改)源程序連 接運(yùn) 行查 錯(cuò)開(kāi)始用EDIT,NOTEPAD等任何文本編輯器。源程序存為.ASM文件 用MASM宏匯編程序進(jìn)行匯編。匯編后生成.OBJ目標(biāo)文件。命令格式:MASM ; 用LINK連接程序進(jìn)行連接。連接后生成.EXE可執(zhí)行文件。命令格式:LINK ; 用TD、DEBUG等調(diào)試程序進(jìn)行調(diào)試。命令格式:TD 標(biāo)號(hào):條 件 滿足?
6、處理NYIFTHEN結(jié)構(gòu)程序結(jié)構(gòu): 測(cè)試/比較指令 (TEST/CMP) 條件轉(zhuǎn)移指令 (Jx 標(biāo)號(hào)) 處理體 標(biāo)號(hào): 其他指令 程序結(jié)構(gòu): TEST/CMP指令 Jx 標(biāo)號(hào)1 處理體P1 JMP 標(biāo)號(hào)2標(biāo)號(hào)1: 處理體P2標(biāo)號(hào)2:其他指令 條 件 滿足?處理P1處理P2標(biāo)號(hào)1:標(biāo)號(hào)2:條件1條件2IFTHENELSE結(jié)構(gòu)標(biāo)號(hào)1:條 件 1成立?P1NYCASE結(jié)構(gòu)程序結(jié)構(gòu): TEST/CMP指令(測(cè)試條件1) Jx 標(biāo)號(hào)1 ;不滿足轉(zhuǎn)標(biāo)號(hào)1 處理體P1 JMP 標(biāo)號(hào)n+1標(biāo)號(hào)1:TEST/CMP指令(測(cè)試條件2) Jx 標(biāo)號(hào)2 ;不滿足轉(zhuǎn)標(biāo)號(hào)2 處理體P2 JMP 標(biāo)號(hào)n+1標(biāo)號(hào)2:TEST
7、/CMP指令(測(cè)試條件3) Jx 標(biāo)號(hào)3 ;不滿足轉(zhuǎn)標(biāo)號(hào)3 處理體P3 JMP 標(biāo)號(hào)n+1標(biāo)號(hào)3:TEST/CMP指令(測(cè)試條件4) 標(biāo)號(hào)n+1:(公共出口)條 件 2成立?條 件 n成立?Pn+1標(biāo)號(hào)2:標(biāo)號(hào)n:標(biāo)號(hào)n+1:P2PnNNYY例:P178,例4-14,統(tǒng)計(jì)成績(jī)。流程圖中虛線框內(nèi)初始化循環(huán)體循環(huán)控制繼續(xù)循環(huán)?YN初始化循環(huán)體循環(huán)控制繼續(xù)循環(huán)?YNBSORT.ASM掌握以下幾點(diǎn): 調(diào)用子程序用CALL指令,返回調(diào)用程序用RET指令。 子程序允許嵌套調(diào)用。 進(jìn)入子程序后首先要保護(hù)主程序的運(yùn)行狀態(tài)(標(biāo)志位)和使用的寄存器內(nèi)容(稱為保護(hù)現(xiàn)場(chǎng)),退出子程序前要恢復(fù)現(xiàn)場(chǎng)。 調(diào)用前要預(yù)先確定子程序中要使用哪些寄存器,并定義入口參數(shù)和出口參數(shù)。參數(shù)傳遞可利用寄存器、存儲(chǔ)單元或堆棧(要用BP尋址)。例1: 二進(jìn)制數(shù)(0-F)轉(zhuǎn)換成ASCII(0-F)的子程序。BIN2ASC PROC ;要轉(zhuǎn)換的數(shù)在AL的低四位 ;轉(zhuǎn)換結(jié)果仍在AL中 CMP AL, 9 JA A2F ADD AL, 30H; 9, +37H DONE: RETBIN2ASC ENDP調(diào)用方法:(在主程序中) MOV AL
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司茶葉訂購(gòu)合同范例
- 2025年淄博往年化學(xué)考試題及答案
- 2025年賽普理論考試試題及答案
- 農(nóng)村私房協(xié)議合同范例
- 個(gè)人見(jiàn)證合同范例
- 買(mǎi)房全部合同范例
- 上海店面裝修合同范例
- 買(mǎi)房后貸款合同范例
- 保安聘用勞務(wù)合同范例
- 個(gè)人草魚(yú)養(yǎng)殖合同范例
- 高等教育數(shù)字化轉(zhuǎn)型心得體會(huì)
- 2025年安徽財(cái)貿(mào)職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)及答案1套
- 2025年安徽職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)及答案1套
- 日式保潔培訓(xùn)課件大全
- 2025年廣東省深圳市高考語(yǔ)文一模試卷
- 2025年陜西工商職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)學(xué)生專用
- 2025年福建省高職單招職業(yè)適應(yīng)性測(cè)試題庫(kù)及答案解析
- 自媒體運(yùn)營(yíng)實(shí)戰(zhàn)教程(抖音版) 課件 第7章 短視頻運(yùn)營(yíng)-自媒體中級(jí)
- 2025時(shí)事政治必考題庫(kù)含參考答案
- 保潔管理安全培訓(xùn)課件
- 小學(xué)生藥品安全課件視頻
評(píng)論
0/150
提交評(píng)論