批量修改字體宏_第1頁
批量修改字體宏_第2頁
批量修改字體宏_第3頁
批量修改字體宏_第4頁
批量修改字體宏_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、 宏指令的 宏指令的格式為: MACRO 形參表 ENDM 上面宏定義中,X、Y、Z是形式參數(shù)。 調(diào)用宏DADD時可寫為: DADD DATA1,DATA2,SUM 上面宏調(diào)用中,DATA1,DATA2,SUM是實(shí)際參數(shù),由它們替換定義中的X、Y、Z,即形實(shí)結(jié)合。CALL RETCALL CALL 相同=或主程序+過程(子程序)主程序+宏定義宏擴(kuò)展宏調(diào)用 與 過程(子程序)調(diào)用 異同點(diǎn)示意圖 宏調(diào)用 與 過程(子程序)調(diào)用 異同點(diǎn)相同點(diǎn): 都是一次定義,多次調(diào)用。不同點(diǎn): 執(zhí)行形式:宏命令偽指令由宏匯編程序在匯編過理中進(jìn)行處理;而CALL、RET則是由CPU執(zhí)行的指令。 匯編結(jié)果:宏命令偽指令

2、匯編后被展開。 執(zhí)行速度:宏命令執(zhí)行速度較快(因無調(diào)用轉(zhuǎn)移) 占用內(nèi)存:宏指令簡化了源程序,但不能簡化目標(biāo)程序,并不節(jié)省內(nèi)存單元; 使用過程可以節(jié)省代碼(源程序和目標(biāo)程序)占用的內(nèi)存空間。 匯編語言的一個實(shí)例: EXAM.ASM 列表為指令 TITLE SUBTTL PAGE連接偽指令 PUBLIC EXTRN INCLUDE GROUP等等其它偽指令: DOS系統(tǒng)功能調(diào)用都是用軟中斷指令I(lǐng)NT 21H來實(shí)現(xiàn)的。它具有90多個子功能的中斷服務(wù)程序,它們通過功能號AH來區(qū)分。它不依賴于具體的硬件系統(tǒng)。內(nèi)存管理、存取時間、存取終端矢量、終止程序等。(預(yù)留的N1個字節(jié)的存儲單元) 0DHN2N1 N

3、1: 緩沖區(qū)長度(最大鍵入字符數(shù)) N2: 實(shí)際鍵入的字符數(shù)(不包括回車符) 用戶定義的輸入字符串的緩沖區(qū)格式 定義:基本輸入輸出系統(tǒng),是固化在EPROM中的一組實(shí)現(xiàn)基本輸入輸出功能的子程序。功能: 系統(tǒng)測試程序、初始化引導(dǎo)程序、一部分中斷矢量裝入程序及外部設(shè)備的服務(wù)程序等。BIOS與系統(tǒng)硬件有直接的依賴關(guān)系。調(diào)用方法:BIOS調(diào)用通過多個軟中斷提供,具體的調(diào)用方法為: BIOS中的幾個主要中斷類型如下:INT 10H屏幕顯示INT 13H磁盤操作INT 14H串行口操作INT 16H鍵盤操作INT 17H打印機(jī)操作 每類中斷由包含許多子功能,調(diào)用時通過功能號指定。BIOS功能調(diào)用說明見p41

4、6附錄D。 BIOS中斷程序處于DOS功能調(diào)用和硬件環(huán)境之間,和DOS功能調(diào)用相比其優(yōu)點(diǎn)是效率高,缺點(diǎn)是編程相對復(fù)雜;和直接對硬件編程相比,優(yōu)點(diǎn)是實(shí)現(xiàn)相對容易,缺點(diǎn)是效率相對較低。 在一些情況下既能選擇DOS中斷也能選擇BIOS中斷來執(zhí)行同樣的功能。例如,打印機(jī)輸出一個字符的功能,可用DOS中斷21H的功能5,也可用BIOS中斷17H的功能0。因?yàn)锽IOS比DOS更靠近硬件。一般情況下,盡可能地使用DOS功能,但在少數(shù)情況下必須使用BIOS功能。例如,BIOS中斷17H的功能2為讀打印機(jī)狀態(tài),DOS就沒有等效的功能。 因此,對BIOS和DOS調(diào)用的選擇原則是,無法使用DOS功能調(diào)用或DOS沒有

5、提供而BIOS提供了功能的情況下可以考慮使用BIOS中斷。BIOS中斷調(diào)用與DOS功能調(diào)用的比較 如何繪制程序框圖(流程圖)?NY?框中標(biāo)明子程序名字(入口參數(shù)等) 。 流程圖的例子FlowChart.docYYYNNN有錯 ?有錯 ?有錯 ?結(jié)束匯 編輸入(修改)源程序連 接運(yùn) 行查 錯開始用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)號:條 件 滿足?

6、處理NYIFTHEN結(jié)構(gòu)程序結(jié)構(gòu): 測試/比較指令 (TEST/CMP) 條件轉(zhuǎn)移指令 (Jx 標(biāo)號) 處理體 標(biāo)號: 其他指令 程序結(jié)構(gòu): TEST/CMP指令 Jx 標(biāo)號1 處理體P1 JMP 標(biāo)號2標(biāo)號1: 處理體P2標(biāo)號2:其他指令 條 件 滿足?處理P1處理P2標(biāo)號1:標(biāo)號2:條件1條件2IFTHENELSE結(jié)構(gòu)標(biāo)號1:條 件 1成立?P1NYCASE結(jié)構(gòu)程序結(jié)構(gòu): TEST/CMP指令(測試條件1) Jx 標(biāo)號1 ;不滿足轉(zhuǎn)標(biāo)號1 處理體P1 JMP 標(biāo)號n+1標(biāo)號1:TEST/CMP指令(測試條件2) Jx 標(biāo)號2 ;不滿足轉(zhuǎn)標(biāo)號2 處理體P2 JMP 標(biāo)號n+1標(biāo)號2:TEST

7、/CMP指令(測試條件3) Jx 標(biāo)號3 ;不滿足轉(zhuǎn)標(biāo)號3 處理體P3 JMP 標(biāo)號n+1標(biāo)號3:TEST/CMP指令(測試條件4) 標(biāo)號n+1:(公共出口)條 件 2成立?條 件 n成立?Pn+1標(biāo)號2:標(biāo)號n:標(biāo)號n+1:P2PnNNYY例:P178,例4-14,統(tǒng)計(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)場),退出子程序前要恢復(fù)現(xiàn)場。 調(diào)用前要預(yù)先確定子程序中要使用哪些寄存器,并定義入口參數(shù)和出口參數(shù)。參數(shù)傳遞可利用寄存器、存儲單元或堆棧(要用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. 本站所有資源如無特殊說明,都需要本地電腦安裝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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論