、俣ㄎ活愋
用于指定該段地址中的5種可供選擇段起點(diǎn)的邊界類型,如下表所示。
定位類型
定位類型 含 義
BYTE(字節(jié)) 段的起始地址可以任意
WORD(字)
段的起始地址必須為偶數(shù),即該地址的最低二進(jìn)制位應(yīng)為0
DWORD(雙字) 段的起始地址必須為4的倍數(shù),即該地址的最后2位二進(jìn)制位應(yīng)為0,通?偸前袲WORD用于80386的32位段中
PARA(節(jié)) 段的起始地址必須為16的倍數(shù),即該地址的最后4位二進(jìn)制位應(yīng)為0
PAGE(頁) 段的起始地址必須為256的倍數(shù),即該地址的最后8位二進(jìn)制位應(yīng)為0
這個(gè)類型可以為標(biāo)號或變量賦予絕對地址,以便程序以標(biāo)號或變量的形式存取這些存儲(chǔ)器單元的內(nèi)容。通常情況下,在AT類型的段中不定義指令或數(shù)據(jù),只是說明一個(gè)地址結(jié)構(gòu)。②組合類型
用來告訴連接程序LINK,本段與其他模塊中同名段的組合連接關(guān)系。共有下表所示的5種可供選擇的組合類型。如果此屬性缺省,則表示該段是獨(dú)立的,不與其他同名段發(fā)生聯(lián)系,并有自己的段起始地址。
組合類型
組合類型 含 義
PUBLIC 鏈接程序LINK將不同模塊中具有該類型且段名相同的段連接到同一個(gè)物理存儲(chǔ)段中,使它們公用一個(gè)段地址
STACK 與PUBLIC的處理方式一樣,只是連接后的段為堆棧段,鏈接程序LINK在鏈接過程中自動(dòng)將新段的段地址送到堆棧段寄存器SS,將新段的長度送到堆棧指針寄存器SP。如果在定義堆棧時(shí)沒有將其說明為STACK類型,在這種情況下就需要在程序中用指令給堆棧段寄存器SS、堆棧指針寄存器SP置值,這時(shí)鏈接程序LINK會(huì)給出一個(gè)警告信息
COMMON 產(chǎn)生一個(gè)覆蓋段。鏈接程序LINK為該類型的同名段指定相同的段地址。段的長度取決于最長的COMMON段的長度。段的內(nèi)容為所連接的最后一個(gè)模塊中COMMON段的內(nèi)容及其沒有被覆蓋到的前面COMMON段的部分內(nèi)容
MEMORY 鏈接程序LINK不單獨(dú)區(qū)分MEMORY類型,它把MEMORY與PUBLIC類型同等對特。MASM程序允許使用它,主要是為了與其他支持Intel MEMOˉRY類型的連接程序兼容
AT表達(dá)式 鏈接程序LINK將具有AT類型的段裝在表達(dá)式值所指定的段地址邊界上
、垲悇e
用于控制段的存放次序。它可以是任何合法的名稱,但必須用單引號括起來。連接程序LINK只使同類別的段發(fā)生關(guān)系,并將它們存放在連續(xù)的存儲(chǔ)空間中。若“類別”選擇項(xiàng)缺省,則表明該段類別為空。
(2)ASSUME語句
格式:ASSUME 段寄存器:段名[,段寄存器:段名,]
功能:告訴匯編程序,程序的段結(jié)構(gòu)和在各種指令執(zhí)行時(shí)訪問哪一段。段寄存器只能是CS、SS、DS、ES中的一個(gè),段名是由偽指令SEGMENT/ENDS語句中定義的段名。注意:
●代碼段寄存器CS只能用于有程序的段。代碼段寄存器CS所對應(yīng)的段名必須在該語句之前有定義,因此,ASSUME語句一般都設(shè)置于代碼段內(nèi),放在段定義語句之后。
●堆棧段寄存器SS只能與堆棧段相對應(yīng)。
●ASSUME語句是說明性語句,除主程序的代碼段及最后一個(gè)椎棧段外,其余段寄存器的初值均由用戶在程序中設(shè)置。
相關(guān)推薦:
2014年計(jì)算機(jī)等級考試過關(guān)技巧
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |