7.列表偽指令語(yǔ)句
為使源程序的.LST文件滿足用戶的某些要求,宏匯編專門設(shè)置了一組列表偽指令。
(1)格式控制偽指令
格式控制偽指令有PAGE,TITLE和SUBTTL。①PAGE
一般為程序的第一語(yǔ)句,它指定匯編程序所產(chǎn)生的列表文件每頁(yè)的行數(shù)和每行的字符數(shù)。格式:PAGE 參數(shù)1,參數(shù)2
說(shuō)明:參數(shù)1表示每頁(yè)行數(shù),參數(shù)2表示每行字符數(shù)。②TITLE
用來(lái)為程序指定一標(biāo)題,以后的列表文件會(huì)在每頁(yè)第一行打印這個(gè)標(biāo)題。格式:TITLE 正文③SUBTTL
用于為程序指定一個(gè)小標(biāo)題,打印在每一頁(yè)的標(biāo)題之后。格式:SUBTTL 正文
(2)列表控制偽指令
列表控制偽指令很多,主要有:
、.LALL,.SALL和.XALL這是針對(duì)宏指令的偽指令。格式:.LALL/.SALL/.XALL說(shuō)明:
●.LALL 偽指令用于對(duì)所有宏匯編列出完整的文本。
●.SALL 偽指令用于刪除宏指令所產(chǎn)生的所有列表。
●.XALL 只將宏擴(kuò)展中產(chǎn)生目的代碼的源程序列表。
、.LIST和.XLIST格式:.LIST/.XLIST說(shuō)明:
●.LIST 是默認(rèn)偽指令,對(duì)所有源程序進(jìn)行列表直到遇到.XLIST偽指令止。
●.XLST 對(duì)所有源程序不產(chǎn)生列表直到遇到.LIST偽指令為止。上述偽指令只用于匯編產(chǎn)生.LST文件時(shí)起作用。
8.模塊定義偽指令和通信偽指令
在程序設(shè)計(jì)中,可以將一個(gè)復(fù)雜的程序分成若干個(gè)程序模塊,每個(gè)模塊在物理上和邏輯上都是相對(duì)獨(dú)立的,可對(duì)它們分別進(jìn)行編寫(xiě)和調(diào)試。即對(duì)所有模塊匯編完后,再由鏈接裝配程序LINK連接成一個(gè)完整的可執(zhí)行程序。模塊定義和通信指令則是實(shí)現(xiàn)模塊劃分、命名及不同模塊中數(shù)據(jù)共享等的說(shuō)明和記號(hào)。
(1)模塊定義語(yǔ)句
模塊定義使用NAME和ENDD兩條偽指令。語(yǔ)句格式:
NAME 模塊名 (語(yǔ)句)ENDD 表達(dá)式說(shuō)明:
●模塊名是任選的為本次匯編產(chǎn)生的目的模塊所起的名字,是NAME的操作數(shù)。
●ENDD表示源程序到此結(jié)束。同時(shí),在主模塊中ENDD后允許有表達(dá)式,其他它模塊只書(shū)寫(xiě)END。
(2)PUBLIC偽指令
該偽指令定義可供其他模塊引用的符號(hào)。格式:PUBLIC 符號(hào)表
說(shuō)明:符號(hào)表的各項(xiàng)用逗號(hào)隔開(kāi),符號(hào)可以是符號(hào)常量、變量、標(biāo)號(hào)或過(guò)程名。
(3)EXTRN偽指令
EXTRN偽指令的功能是用于聲明當(dāng)前模塊使用的哪些標(biāo)識(shí)符在其他模塊內(nèi)定義。
格式:EXTRN 符號(hào):類型[,符號(hào):類型,……]
說(shuō)明:符號(hào)可以是符號(hào)常量、變量、標(biāo)號(hào)或過(guò)程名;類型可以是BYTE、WORD、DWORD、NEAR、FAR和ABS。各項(xiàng)由逗號(hào)隔開(kāi)。
(二)高級(jí)匯編偽指令語(yǔ)句1.結(jié)構(gòu)和記錄
(1)結(jié)構(gòu)
、俳Y(jié)構(gòu)類型數(shù)據(jù)定義偽指令
80x86宏匯編使用偽指令STRUC和ENDS建立一種結(jié)構(gòu)類型的數(shù)據(jù),然后通過(guò)結(jié)構(gòu)類型數(shù)據(jù)的預(yù)置,便可方便地訪問(wèn)結(jié)構(gòu)中的各數(shù)據(jù)項(xiàng),而不需要對(duì)操作數(shù)地址表達(dá)式進(jìn)行繁鎖的計(jì)算。 結(jié)構(gòu)類型數(shù)據(jù)定義的格式: 結(jié)構(gòu)名 STRUC
┆
字段名 數(shù)據(jù)定義偽指令定義符 表達(dá)式
┆
結(jié)構(gòu)名 ENDS
說(shuō)明:結(jié)構(gòu)類型數(shù)據(jù)是用STRUC和ENDS括起來(lái)的數(shù)據(jù)定義語(yǔ)句序列,這時(shí)數(shù)據(jù)定義語(yǔ)句中的符號(hào)稱為字段名。注意:
●定義結(jié)構(gòu)時(shí),STRUC和ENDS必須成對(duì)出現(xiàn),缺一不可。
●結(jié)構(gòu)名是為結(jié)構(gòu)起的名字,是任意選定的。
●同時(shí)在同一結(jié)構(gòu)定義中,字段名不得重名。
、诮Y(jié)構(gòu)變量說(shuō)明與賦初值
結(jié)構(gòu)類型數(shù)據(jù)的定義只是告訴匯編程序已存在這樣一種形式的變量,還必須對(duì)結(jié)構(gòu)進(jìn)行存儲(chǔ)分配和預(yù)置后才能真正產(chǎn)生結(jié)構(gòu)數(shù)據(jù)的變量。結(jié)構(gòu)類型數(shù)據(jù)預(yù)置的格式:
結(jié)構(gòu)變量名 結(jié)構(gòu)名 <字段值表>說(shuō)明:
●DATAMAX和DATATXN是結(jié)構(gòu)變量名。
●結(jié)構(gòu)變量名是任意的,由程序員自行設(shè)定。
●結(jié)構(gòu)變量名與具體的存儲(chǔ)空間和數(shù)據(jù)相聯(lián)系,在程序中可直接引用。
●字段值表用來(lái)給結(jié)構(gòu)變量賦初值,字段值必須用尖括號(hào)括起來(lái),其排列順序和類型應(yīng)該與結(jié)構(gòu)定義時(shí)的各字段相一致,各字段值之間用逗號(hào)隔開(kāi)。如果采用定義結(jié)構(gòu)時(shí)的初值,則僅寫(xiě)一個(gè)逗號(hào);若所有字段采用定義時(shí)的初值,則僅寫(xiě)一對(duì)尖括號(hào)。
注意:并不是所有的字段都可以重新賦初值,只有一項(xiàng)數(shù)據(jù)的字段可重新賦值。在程序中引用結(jié)構(gòu)變量,可直接寫(xiě)結(jié)構(gòu)變量名:引用結(jié)構(gòu)變量的某一字段時(shí),要采用下述格式:結(jié)構(gòu)變量名.字段名
(2)記錄
記錄是一種處理按位計(jì)算信息的數(shù)據(jù)類型。記錄定義的格式:
記錄名 RECORD 字段名:寬度[=表達(dá)式][,……]說(shuō)明:
●記錄名和字段名必須具有惟一性;
●寬度表示字段所占的位數(shù)(1~16位),如果各字段的寬度和大于8位,那么匯編程序按字處理,否則按字節(jié)處理。若總值數(shù)少于8位或16位,則所有字段都右對(duì)齊到字或字節(jié)的最低有效位置。表達(dá)式賦給相應(yīng)字段的初值,是可選擇的。
●記錄的各字段寬度之和不得大于16位。記錄也必須經(jīng)過(guò)預(yù)置才能產(chǎn)生記錄類型數(shù)據(jù)變量,才能真正占有內(nèi)存。記錄預(yù)置的格式:
相關(guān)推薦:2010年9月計(jì)算機(jī)等級(jí)考試成績(jī)查詢時(shí)間匯總北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |