




已閱讀5頁,還剩30頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
宏結(jié)構(gòu)程序設(shè)計(jì),宏匯編 重復(fù)匯編 條件匯編 統(tǒng)稱宏結(jié)構(gòu),宏(Macro)是匯編語言的一個(gè)特點(diǎn),它是與子程序類似又獨(dú)具特色的另一種簡化源程序的方法,第一章 基礎(chǔ)知識(shí),第七章 高級(jí)匯編語言技術(shù),宏具有宏名的一段匯編語句序列 宏定義時(shí)書寫 宏指令這段匯編語句序列的縮寫 宏調(diào)用時(shí)書寫 宏展開宏指令處用這段宏代替的過程 宏匯編時(shí)實(shí)現(xiàn) 宏的參數(shù)功能強(qiáng)大,頗具特色 配合宏,還有宏操作符和有關(guān)偽指令,宏匯編,第一章 基礎(chǔ)知識(shí),第七章 高級(jí)匯編語言技術(shù),其中啞元表給出了宏定義中所用到的形式參數(shù)(或稱虛參),每個(gè)啞元之間用逗號(hào)隔開,第一章 基礎(chǔ)知識(shí),第七章 高級(jí)匯編語言技術(shù),第一章 基礎(chǔ)知識(shí),第七章 高級(jí)匯編語言技術(shù),第一章 基礎(chǔ)知識(shí),第七章 高級(jí)匯編語言技術(shù),第一章 基礎(chǔ)知識(shí),第七章 高級(jí)匯編語言技術(shù),第一章 基礎(chǔ)知識(shí),第七章 高級(jí)匯編語言技術(shù),變?cè)遣僮鞔a的一部分,必須用&符號(hào)作為分隔符,第一章 基礎(chǔ)知識(shí),第七章 高級(jí)匯編語言技術(shù),第一章 基礎(chǔ)知識(shí),第七章 高級(jí)匯編語言技術(shù),第一章 基礎(chǔ)知識(shí),第七章 高級(jí)匯編語言技術(shù),第一章 基礎(chǔ)知識(shí),第七章 高級(jí)匯編語言技術(shù),注意: 如果程序中多次調(diào)用該宏定義時(shí),展開后臺(tái)出現(xiàn)標(biāo)號(hào)的多重定義,這是不能允許的。匯編程序?qū)OCAL偽操作的局部標(biāo)號(hào)表中的每一個(gè)局部標(biāo)號(hào)建立唯一的符號(hào)(用?0000一?FFFF)以代替在展開中存在的每個(gè)局部標(biāo)號(hào)。必需注意,LOCAL偽操作只能用在宏定義體內(nèi),而且必須是MACRO偽操作后的第一語句,在MACRO和LOCAL之間不允許有注釋和分號(hào)標(biāo)志。,第一章 基礎(chǔ)知識(shí),第七章 高級(jí)匯編語言技術(shù),第一章 基礎(chǔ)知識(shí),第七章 高級(jí)匯編語言技術(shù),第一章 基礎(chǔ)知識(shí),第七章 高級(jí)匯編語言技術(shù),第一章 基礎(chǔ)知識(shí),第七章 高級(jí)匯編語言技術(shù),匯編程序把跟在之后的表達(dá)式的值轉(zhuǎn)換成當(dāng)前基數(shù)下的數(shù),在展開期間,用這個(gè)數(shù)來取代啞元。,宏操作符總結(jié),;宏注釋符,用于表示在宏定義中的注釋。采用這個(gè)符號(hào)的注釋,在宏展開時(shí)不出現(xiàn) &替換操作符,用于將參數(shù)與其他字符分開。如果參數(shù)緊接在其他字符之前或之后,或者參數(shù)出現(xiàn)在帶引號(hào)的字符串中,就必須使用該偽操作符,字符串傳遞操作符,用于括起字符串。在宏調(diào)用中,如果傳遞的字符串實(shí)參數(shù)含有逗號(hào)、空格等間隔符號(hào),則必須用這對(duì)操作符,以保證字符串的完整 !轉(zhuǎn)義操作符,用于指示其后的一個(gè)字符作為一般字符,不含特殊意義 %表達(dá)式操作符,用在宏調(diào)用中,表示將后跟的一個(gè)表達(dá)式的值作為實(shí)參,而不是將表達(dá)式本身作為參數(shù),;宏定義 dstring macro string db &string&,0dh,0ah,$ endm ;宏調(diào)用 dstring dstring ;宏展開 1 db This is a example., 0dh,0ah,$ 1 db 0 Number 10, 0dh,0ah, $,轉(zhuǎn)義注釋符,傳遞注釋符,與宏有關(guān) 的偽指令,局部標(biāo)號(hào)偽指令 LOCAL 標(biāo)號(hào)列表 宏定義體采用了標(biāo)號(hào),應(yīng)使用LOCAL加以說明 它必須是宏定義MACRO語句之后的第一條語句 宏定義刪除偽指令 PURGE 宏名表 不需要某個(gè)宏定義時(shí),可以把它刪除 宏定義退出偽指令 EXITM 偽指令EXITM表示結(jié)束當(dāng)前宏調(diào)用的展開,第一章 基礎(chǔ)知識(shí),第七章 高級(jí)匯編語言技術(shù),第一章 基礎(chǔ)知識(shí),第七章 高級(jí)匯編語言技術(shù),第一章 基礎(chǔ)知識(shí),第七章 高級(jí)匯編語言技術(shù),第一章 基礎(chǔ)知識(shí),第七章 高級(jí)匯編語言技術(shù),例 要求建立一個(gè)100D字的數(shù)組,其中每個(gè)字的內(nèi)容是下一個(gè)字的地址,而最后一個(gè)字的內(nèi)容是第一個(gè)字的地址。 ARRAY LABEL WORD REPT 99 DW $+2 ENDM DW ARRAY,第一章 基礎(chǔ)知識(shí),第七章 高級(jí)匯編語言技術(shù),重復(fù)次數(shù)由自變量表中的自變量個(gè)數(shù)來確定。自變量表必須用尖括號(hào)括起,它可以是常數(shù)、符號(hào)、字符串等,第一章 基礎(chǔ)知識(shí),第七章 高級(jí)匯編語言技術(shù),第一章 基礎(chǔ)知識(shí),第七章 高級(jí)匯編語言技術(shù),第一章 基礎(chǔ)知識(shí),第七章 高級(jí)匯編語言技術(shù),第一章 基礎(chǔ)知識(shí),第七章 高級(jí)匯編語言技術(shù),第一章 基礎(chǔ)知識(shí),第七章 高級(jí)匯編語言技術(shù),例 宏指令GOTO L,X,REL,Y(其中REL可以是Z,NZ,L,NL等)可以根據(jù)不同情況產(chǎn)生無條件轉(zhuǎn)移指令或比較和條件轉(zhuǎn)移指令。 宏定義:,第一章 基礎(chǔ)知識(shí),第七章 高級(jí)匯編語言技術(shù),例 宏定義可允許遞歸調(diào)用,此時(shí)條件偽操作可用來結(jié)束宏遞歸。 宏指令POWER可以用來實(shí)現(xiàn)X和2N相乘。這只需對(duì)X左移N次即可實(shí)現(xiàn),可以設(shè)COUNT為遞歸次數(shù)的計(jì)數(shù)值,當(dāng)該數(shù)與N相等時(shí)就可結(jié)束遇歸調(diào)用。 宏定義:,宏結(jié)構(gòu)的作用,宏匯編、重復(fù)匯編和條件匯編 為源程序的編寫提供了很多方便, 靈活運(yùn)用它們可以編寫出非常 良好的源程序來 匯編系統(tǒng)中有些以圓點(diǎn)起始的 偽指令(如.startup、.exit等) 實(shí)際上是一種宏結(jié)構(gòu),dstring MACRO string ;定義字符串 db 設(shè)置數(shù)據(jù)段地址 mov ax,dsseg mov ds,ax ENDM dispmsg MACRO message mov dx,offset message mov ah,09h int 21h ENDM,例題,mainend MACRO retnum ;返回DOS,可不帶參數(shù) ifb mov ah,4ch ;沒有參數(shù) else mov ax,4c00h+(retnum AND 0ffh) ; 有參數(shù) endif int 21h ENDM,例題,.model small .stack 256 .data msg1 equ this byte dstring msg2 equ this by
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 績效考核與離職協(xié)議
- 《課件制作與教學(xué)應(yīng)用探究》課件
- 消化道潰瘍病例分析 治療方案選擇與效果評(píng)估
- 辦公室安全醫(yī)療信息保護(hù)的必要措施
- 汽車安全常識(shí)與技巧
- 人教版必修二第八單元世界經(jīng)濟(jì)的全球化趨勢(shì)知識(shí)點(diǎn)總結(jié)模版
- 高血壓病例研究 診斷流程與治療方案分享
- 醫(yī)學(xué)人文在醫(yī)療安全中的角色
- 《電磁特性解析與應(yīng)用》課件
- 2025年金屬非金屬礦山(小型露天采石場(chǎng))安全管理人員安全生產(chǎn)模擬考試100題及答案
- 2024華能四川能源開發(fā)有限公司下屬單位招聘筆試參考題庫附帶答案詳解
- 歷年貴州特崗試題及答案
- 2025怎樣正確理解全過程人民民主的歷史邏輯、實(shí)踐邏輯與理論邏輯?(答案3份)
- 鋼結(jié)構(gòu)高處作業(yè)安全管理
- JJF 2221-2025導(dǎo)熱系數(shù)瞬態(tài)測(cè)定儀校準(zhǔn)規(guī)范
- 華為手機(jī)協(xié)議合同
- 甘肅省隴南市禮縣第六中學(xué)2024-2025學(xué)年八年級(jí)下學(xué)期第一次月考數(shù)學(xué)試卷(無答案)
- 完整版高中古詩文必背72篇【原文+注音+翻譯】
- 財(cái)務(wù)英文詞匯大全
- 實(shí)際控制人股東會(huì)決議
- 混凝土攪拌機(jī)設(shè)計(jì)論文
評(píng)論
0/150
提交評(píng)論