freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[工學(xué)]匯編語言語法介紹(參考版)

2024-10-22 00:07本頁面
  

【正文】 2) 模塊命名 語句 功能: 在程序的開始可以用 NAME或 TITLE為模塊取名字 格式: NAME module_name 匯編程序?qū)⒁越o出的 module_name作為模塊的名字 TITLE text TITLE語句可指定每一頁上打印的標(biāo)題 。 舉例: MOV BX, 0FFH MOV BX, 178 與 . RADIX 16 MOV BX, 0FF MOV BX. 178D 等價 注意 : 在用 . RADIX l6 把基數(shù)定為十六進(jìn)制后 , 十進(jìn)制數(shù)后面都應(yīng)跟字母 D。 ORG $十 8 表示跳過 8個字節(jié)的存儲區(qū) 。 格式: EVEN 舉例: DATA_SEG SEGMENT … EVEN WORD_ARRAY DW 100 DUP(?) DATA_SEG ENDS 2) ORG語句 功能: 它指定了段內(nèi)在它以后的程序或數(shù)據(jù)塊存放的起始地址 , 也即以語句中的表達(dá)式的值作為起始地址 , 連續(xù)存放 , 除非遇到一個新的 ORG語句 。 注意: END只是告訴匯編器 , 源程序結(jié)束 , 而不是使匯編器產(chǎn)生一條停機(jī)指令 ! 6. 定位語句 1) EVEN語句 功能: EVEN語句使下一個字節(jié)地址成為偶數(shù) 。 格式: END <表達(dá)式> 其中 , 〈 表達(dá)式 〉 必須產(chǎn)生一個存儲器地址值 , 這個地址是當(dāng)程序執(zhí)行時 , 第一條要執(zhí)行的指令的地址 。 ? 注意: ENDP只是告訴匯編器 , 過程在哪兒結(jié)束 , 但它不會使匯編器自動產(chǎn)生一條 RET指令 。 ? 在一個過程中可以有多于一個的 RET指令 。 這在兩方面幫助了匯編程序:首先 , 當(dāng)匯編到 CALL時知道是什么樣的調(diào)用;其次 ,當(dāng)匯編到 RET時知道是什么樣的返回 。 格式: PROCEURE_NAHE PROC [NEAR] 或 PROCEURE_NAHE PROC FAR … RET … PROCEURE_NAHE ENDP 舉例: 用段內(nèi) CALL指令調(diào)用的過程 , 必須用段內(nèi)的 RET指令返回 , 這樣的過程是 NEAR過程;用段間 CALL指令調(diào)用的過程 , 必須用段間 RET指令返回 , 這樣的過程是 FAR過程 。 過程是程序的一部分 , 可被程序的其它部分甚至是過程自身調(diào)用 。 ASSUME NOTHING可取消前面由 ASSUME所指定的段寄存器 舉例: ASSUME CS: CODE, DS: DATA 這條語句通知匯編程序 , 以 CODE為段名的是代碼段 , 對代碼段尋址約定使用 CS寄存器 , 以 DATA為段名的是數(shù)據(jù)段 , 對數(shù)據(jù)段尋址約定使用 DS寄存器 。 有兩個辦法可以設(shè)置段寄存器的初值 , 設(shè) DATA為數(shù)據(jù)段段名: (a) 使用 SEG運算符求出邏輯段的段基址并賦給段寄存器 , 如: MOV AX, SEG DATA MOV DS, AX (b) 直接把段名賦給段寄存器 , 如: MOV AX, DATA MOV DS, AX 4. 過程定義語句 2) ASSUME語句 功能: 匯編器在把源程序轉(zhuǎn)換為目標(biāo)程序時 , 必須明確邏輯段段和段寄存器的關(guān)系 , 這可用 ASSUME語句來實現(xiàn) 。習(xí)慣上 , 把 ASSUME語句作為代碼段的第一條語句 。 ASSUME NOTHING可取消前面由 ASSUME所指定的段寄存器 舉例: ASSUME CS: CODE, DS: DATA 這條語句通知匯編程序 , 以 CODE為段名的是代碼段 , 對代碼段尋址約定使用 CS寄存器 , 以 DATA為段名的是數(shù)據(jù)段 , 對數(shù)據(jù)段尋址約定使用 DS寄存器 。 2) ASSUME語句 功能: 匯編器在把源程序轉(zhuǎn)換為目標(biāo)程序時 , 必須明確邏輯段段和段寄存器的關(guān)系 , 這可用 ASSUME語句來實現(xiàn) 。 ? 其它的邏輯段 , 三個屬性參數(shù)都選用缺省方式 。 對于單一模塊的程序沒有必要考慮這些問題 。 ? 鏈接程序把分類名相同的同名段組織成一類 , 存放在鄰近的存儲區(qū)中 。AT屬性常和 ORG偽指令配合 , 例如: DATA SEGMENT AT 0040H ORG 0017H KEYFLAG DB ? DATA ENDS 它定義鍵標(biāo)志單元 (變量 KEYFLAG)的物理地址為 00417H, 以便代碼段中可以使用變量名 KEYFLAG訪問這個單元 。 鏈接程序要求: EXE文件的匯編源程序 , 必須有堆棧段 ,否則鏈接時發(fā)出警告信息: Warning no stack segment這行信息僅僅是提醒用戶注意 , 并不表示源程序有什么錯誤 。 鏈接后的堆棧空間是鏈接前各模塊預(yù)留的堆??臻g之和 。 組合之后的邏輯段體積 , 等于鏈接之前具有 COMMON屬性同名段中最大的段體; MEMORY: 指定該段將分配在所有其他連接在一起的段的前面 (在高地址上 ), 如果連接時有幾個指定 MEMORY的段 , 則遇到的第一段作為 MEMORY段 , 其他則作為 COMMON段 。 缺省定位類型參數(shù)為 PARA。 定位類型 (align_type) 定位類型參數(shù)通知鏈接程序 , 邏輯段的目標(biāo)代碼在存儲器中如何存放 。 通常用 DATA做為數(shù)據(jù)段的段名 , 用 STACK做為堆棧段的段名 , CODE為代碼段的段名 。 格式: 段名 SEGMENT 定位類型 組合類型 ‘ 分類名 ’ 段體 段名 ENDS 說明: SEGMENT和 ENDS是一對段定義語句 , 一個邏輯段從 SEGMENT語句開始 , 到 ENDS語句結(jié)束 。 如: ABC DB 0, ?, ?, ?, 0 DFF DW ?, 52, ? 4) 操作數(shù)字段還可以使用 復(fù)制操作符 (duplication operator)來復(fù)制某個 (或某些 )操作數(shù) 。 DT偽指令用來定義十個字節(jié) , 其后的每個操作數(shù)占有十個字節(jié) 。 DW偽指令用來定義字 , 其后的每個操作數(shù)占有一個字 DD偽指令用來定義雙字 , 其后的每個操作數(shù)占有二個字 。 注釋 (Comments)字段用來說明該偽操作的功能 , 它也是可有可無的 。 若要重新定義可以用 PURGE語句來解除 , 用 PURGE語句解除后的符號可以重新定義 格式: PURGE 符號 1, 符號 2, … , 符號 n 應(yīng)用: 用 PURGE語句解除后的符號可以重新定義 舉例: PURGE NEW_VAL NEW_PORT EQU PORT_VAL+10 2. 數(shù)據(jù)定義語句 功能: 分配內(nèi)存并設(shè)置初值 格式: [變量 ] 數(shù)據(jù)定義偽指令 操作數(shù) , … , 操作數(shù) [;注釋 ] 其中: 變量 (Variable)字段是可有可無的 , 它用符號地址表示 , 其作用與指令語句前的標(biāo)號相同 , 但它的后面不跟冒號 。 2. EQU可用于文本中或數(shù)字表達(dá)式中 , 而 = 只可用于數(shù)字表達(dá)式中 。 格式: 符號名 EQU 〈 表達(dá)式 〉 或 符號名 EQU 已定義符號名 應(yīng)用: 使用 EQU對于數(shù)字 、 復(fù)雜地址組合和其他在你程序中反復(fù)輸入的內(nèi)容起名是很方便的 。 舉例: MOV AH, HIGH l234H ; AH= 12H VAL EQU LOW l234H ; VAL= 34H ⑤ HIGH、 LOW運算符 指示性語句 在 8086/8088匯編語言中主要有以下七類指示性語句: 符號定義語句 (Symbol definition) 數(shù)據(jù)定義語句 (Datadefinition) 段定義語句 (Segmentationdefinition) 過程定義語句 (Procedure— definition) 結(jié)束語句 (Terminition) 定位語句 (Alignment) 輔助語句( Auxiliary) 1. 符號定義語句 1) 賦值語句 EQU 功能: EQU語句給符號名定義一個數(shù)值 , 或定義為另一個符號名 , 甚至可定義為一條可執(zhí)行的指令等 。 ④ THIS運算符 格式: HIGH expl6 LOW exp16 exp16 是 l6位的數(shù)值表達(dá)式。 它可為數(shù)據(jù)項定義一個具有改變了類型的另一個名字。 該運算符的應(yīng)用類似于 LABEL命令。 變量或標(biāo)號的段屬性是當(dāng)前正在被匯編的段,它的偏移量是當(dāng)前位置計數(shù)器的值。 例 : JMP FWDLAB ;產(chǎn)生 3字節(jié)指令代碼 JMP SHORT FWDLAB ;只產(chǎn)生 2字節(jié)指令代碼 … FWDLAB: … ③ SHORT運算符 格式: THIS type type 是 BYTE、 WORD、 DWORD、 NEAR或
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1