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