(3)組定義偽指令 GROUP
格式:組名GROUP 段名[,段名,……]
功能:將GROUP定義符后指定的所有段分配在一個64KB的物理存儲器段中,并賦予該段一個名字———組名。說明:
●組名是用戶自己定義的名字,是指出組的起始地址的一種符號。這個符號必須是惟一的,不能與任何標號、段名及變量名等同名。
●段名是用SEGMENT語句定義的或者由SEG運算符得到的段名。
●組定義語句不影響各段的次序,因此組內(nèi)各段不一定要連續(xù)存放,但它們都必須包含在64KB物理存儲器段中。
●當源程序結(jié)構(gòu)需要多個邏輯段時,使用該語句可節(jié)省段寄存器。
●實際應(yīng)用中最好是讓代碼段為一組,堆棧段為一組,數(shù)據(jù)段為一組或兩組,但組中各段所占用的內(nèi)存儲器的總量不超過64KB。
(4)指定地址偽指令 ORG格式:ORG 表達式
ORG $+偏移地址
功能:指定該語句之后程序段或數(shù)據(jù)塊的起始地址的偏移量,即語句表達式的值作為起始地址,連續(xù)存放程序和數(shù)據(jù),直到下一個ORG語句為止。
5.過程定義偽指令
在程序設(shè)計中,常把具有一定功能的程序段設(shè)計成為一個過程。過程是程序的一部分,它可以被程序調(diào)用。每次可調(diào)用一個過程,當過程中的指令執(zhí)行完后,控制返回調(diào)用它的地方。過程定義語句的格式:
過程名 PROC [NEAR或FAR]
┇
(語句)
┇ RET
過程名 ENDP說明:
●過程名是給過程起的名字,調(diào)用過程時,過程名起標號的作用。
●偽指令PROC和ENDP必須成對出現(xiàn),限定一個過程,并說明該過程是NEAR過程還是FAR過程。
●在宏匯編中,過程調(diào)用和從過程返回使用CALL和RET。
●有兩種調(diào)用方式:段內(nèi)調(diào)用和交*調(diào)用。如果以用段內(nèi)CALL指令調(diào)用過程則必須用段內(nèi)RET指令返回,這樣的過程是NEAR過程,用段交*CALL指令調(diào)用過程,則必須做段交*RET指令返回,這樣的過程是FAR過程。
●在一個過程中可以有多于一個的RET指令,并且過程中最后一條指令可以不是RET,但必須是一條轉(zhuǎn)移過程中某處的轉(zhuǎn)移指令。
●主程序和子程序都可以作為一個過程。
6.結(jié)束語句
格式:END 表達式
功能:結(jié)束整個源程序。
說明:表達式必須產(chǎn)生一個存儲器地址。這個地址是當程序執(zhí)行時,程序第一條要執(zhí)行指令的地址。
相關(guān)推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |