首頁 考試吧論壇 Exam8視線 考試商城 網絡課程 模擬考試 考友錄 實用文檔 求職招聘 論文下載 | ||
![]() |
2011中考 | 2011高考 | 2012考研 | 考研培訓 | 在職研 | 自學考試 | 成人高考 | 法律碩士 | MBA考試 MPA考試 | 中科院 |
|
![]() |
四六級 | 職稱英語 | 商務英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT 新概念英語 | 成人英語三級 | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學習 | 法語 | 德語 | 韓語 |
|
![]() |
計算機等級考試 | 軟件水平考試 | 職稱計算機 | 微軟認證 | 思科認證 | Oracle認證 | Linux認證 華為認證 | Java認證 |
|
![]() |
公務員 | 報關員 | 銀行從業資格 | 證券從業資格 | 期貨從業資格 | 司法考試 | 法律顧問 | 導游資格 報檢員 | 教師資格 | 社會工作者 | 外銷員 | 國際商務師 | 跟單員 | 單證員 | 物流師 | 價格鑒證師 人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業資格 | 廣告師職業水平 駕駛員 | 網絡編輯 |
|
![]() |
衛生資格 | 執業醫師 | 執業藥師 | 執業護士 | |
![]() |
會計從業資格考試(會計證) | 經濟師 | 會計職稱 | 注冊會計師 | 審計師 | 注冊稅務師 注冊資產評估師 | 高級會計師 | ACCA | 統計師 | 精算師 | 理財規劃師 | 國際內審師 |
|
![]() |
一級建造師 | 二級建造師 | 造價工程師 | 造價員 | 咨詢工程師 | 監理工程師 | 安全工程師 質量工程師 | 物業管理師 | 招標師 | 結構工程師 | 建筑師 | 房地產估價師 | 土地估價師 | 巖土師 設備監理師 | 房地產經紀人 | 投資項目管理師 | 土地登記代理人 | 環境影響評價師 | 環保工程師 城市規劃師 | 公路監理師 | 公路造價師 | 安全評價師 | 電氣工程師 | 注冊測繪師 | 注冊計量師 |
|
![]() |
繽紛校園 | 實用文檔 | 英語學習 | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲 |
①定位類型
用于指定該段地址中的5種可供選擇段起點的邊界類型,如下表所示。
定位類型
定位類型 含 義
BYTE(字節) 段的起始地址可以任意
WORD(字)
段的起始地址必須為偶數,即該地址的最低二進制位應為0
DWORD(雙字) 段的起始地址必須為4的倍數,即該地址的最后2位二進制位應為0,通常總是把DWORD用于80386的32位段中
PARA(節) 段的起始地址必須為16的倍數,即該地址的最后4位二進制位應為0
PAGE(頁) 段的起始地址必須為256的倍數,即該地址的最后8位二進制位應為0
這個類型可以為標號或變量賦予絕對地址,以便程序以標號或變量的形式存取這些存儲器單元的內容。通常情況下,在AT類型的段中不定義指令或數據,只是說明一個地址結構。②組合類型
用來告訴連接程序LINK,本段與其他模塊中同名段的組合連接關系。共有下表所示的5種可供選擇的組合類型。如果此屬性缺省,則表示該段是獨立的,不與其他同名段發生聯系,并有自己的段起始地址。
組合類型
組合類型 含 義
PUBLIC 鏈接程序LINK將不同模塊中具有該類型且段名相同的段連接到同一個物理存儲段中,使它們公用一個段地址
STACK 與PUBLIC的處理方式一樣,只是連接后的段為堆棧段,鏈接程序LINK在鏈接過程中自動將新段的段地址送到堆棧段寄存器SS,將新段的長度送到堆棧指針寄存器SP。如果在定義堆棧時沒有將其說明為STACK類型,在這種情況下就需要在程序中用指令給堆棧段寄存器SS、堆棧指針寄存器SP置值,這時鏈接程序LINK會給出一個警告信息
COMMON 產生一個覆蓋段。鏈接程序LINK為該類型的同名段指定相同的段地址。段的長度取決于最長的COMMON段的長度。段的內容為所連接的最后一個模塊中COMMON段的內容及其沒有被覆蓋到的前面COMMON段的部分內容
MEMORY 鏈接程序LINK不單獨區分MEMORY類型,它把MEMORY與PUBLIC類型同等對特。MASM程序允許使用它,主要是為了與其他支持Intel MEMOˉRY類型的連接程序兼容
AT表達式 鏈接程序LINK將具有AT類型的段裝在表達式值所指定的段地址邊界上
③類別
用于控制段的存放次序。它可以是任何合法的名稱,但必須用單引號括起來。連接程序LINK只使同類別的段發生關系,并將它們存放在連續的存儲空間中。若“類別”選擇項缺省,則表明該段類別為空。
(2)ASSUME語句
格式:ASSUME 段寄存器:段名[,段寄存器:段名,]
功能:告訴匯編程序,程序的段結構和在各種指令執行時訪問哪一段。段寄存器只能是CS、SS、DS、ES中的一個,段名是由偽指令SEGMENT/ENDS語句中定義的段名。注意:
●代碼段寄存器CS只能用于有程序的段。代碼段寄存器CS所對應的段名必須在該語句之前有定義,因此,ASSUME語句一般都設置于代碼段內,放在段定義語句之后。
●堆棧段寄存器SS只能與堆棧段相對應。
●ASSUME語句是說明性語句,除主程序的代碼段及最后一個椎棧段外,其余段寄存器的初值均由用戶在程序中設置。
(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 表達式
功能:結束整個源程序。
說明:表達式必須產生一個存儲器地址。這個地址是當程序執行時,程序第一條要執行指令的地址。
相關推薦:2010年9月計算機等級考試成績查詢時間匯總北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |