指令性語句和指示性語句 名字 變數 標號

2021-08-28 15:07:00 字數 2718 閱讀 5631

2. **變數**

3. 指令性語句

4. **標號**

5. 變數和標號的型別的重新定義

8086/8088 的程式最多可由為 4 段組成,並分別由段暫存器 cs、ds、es、ss 的內容作為段基值,每段所佔記憶體容量最大可達 64kb。

各段由命令 segment 開始,並由命令 ends 結束。

如:資料段:

data sengment at 2000h

data ends

堆疊段:

stack sengment

stack ends

**段:

code sengment

code ends

指令性語句。指令性語句是主要由指令構成的語句。

格式為:

【標號:】 操作碼 【運算元】【,運算元】【;注釋】

其中 操作碼 和 運算元 是用助記符表示的指令的兩個部分。

標號:標號具有該語句指令所在記憶體位址的屬性,通常在轉移指令中用作目的位址。用冒號 「 : 」 結尾。

指示性語句。指示性語句是主要由命令(亦稱 偽指令)構成的語句。是用來指示匯程式設計序進行彙編操作的。

格式為:

【名字/變數】 命令 【引數】【;注釋】

命令:命令指示匯程式設計序進行某種彙編操作,引數是有關資料。

如:data sengment at 2000h

data ends

其中命令 sengment 指出這是乙個段的開始,引數 at 2000h 指定該段的段基值為 2000h ,而 data 則是該段的名字,命令 ends 表明了段名為 data 的段的結束。

名字有檔名、標題名、段名、過程名、符號常量等,它們都是程式設計師程式設計時按識別符號規定來命名的,其中有些名字可在程式設計時引用,以方便程式設計

源程式在進行彙編連線時,系統分配給該段乙個段基值,設為 2000h 。這時,段名就可以作為段基值 2000h 被引用

定義語句:

data segment

彙編連線時源程式時,系統分配給過程乙個位址,即該過程第一條指令所在記憶體單元的位址,亦即該過程的入口位址,這也就是呼叫該過程的 call 指令中的目的位址

定義語句:

sort proc near

過程名在組合語言程式中可作為呼叫指令的目的位址使用,

count equ 20

變數是資料定義語句中的一項,它是由程式設計師在程式設計是按照識別符號規定取定的

當在資料定義語句的第一項對變數命名後,該變數就是已定義了的,已定義的變數具有下列五種屬性

表示格式:seg 變數

它表示變數所在的段基值

表示格式:type 變數

它表示變數所在記憶體資料的型別(用 db、dw、dd、dq、dt 予以定義)

位元組資料時(db): type = 1

字資料時(dw): type = 2

雙字資料時(dd): type = 4

8 位元組資料時(dq): type = 8

10 位元組資料時(dt):type = 10

表示格式:length 變數

它表示變數所在陣列的資料元素個數。只有當資料用複製符 dup 定義時,length 才等於陣列的元素個數,否則 length 就等於 1 。

表示格式:size 變數

它表示變數所在陣列的位元組總數。

size = length x type

同以上 length 的情況,只有當資料用複製符 dup 定義時,length 才等於陣列的元素個數,否則 length 就等於 1 。

指令性語句:由指令組成,是構成**段的基礎,只在**段中才有,在資料段、附加段、堆疊段中是沒有指令性語句的。

程式執行時,cpu 執行指令性語句中的指令,而指示性語句在程式執行時,是不由 cpu 執行的,指示性語句是用來指示匯程式設計序進行彙編操作的

指令性語句的格式為:

【 標號: 】 操作碼 【 運算元 】 【 ; 注釋】

其中操作碼和運算元就是指令

標號是程式設計師程式設計時按識別符號規定取定的,並常常具有它在程式中的作用的含義,如 next 、again 等,並且標號一定要用冒號(:)結尾

標號的三種屬性:

表示格式: seg 標號

它表示標號所在段的段基值

表示格式:type 標號

標號通常用作轉移指令對的目的運算元(即轉移去的目的)位址

型別有兩種:

near 時,type = -1

far 時, type = -2

格式:型別 ptr exp

如:重新指定變數型別

bufw dw 1234h ,5678h

下列指令均為合法的

mov ax , bufw ; ax <-- 1234h

mov al , byte ptr bufw ; al <-- 34h

格式: this 型別

this 和 equ 一起用來定義乙個新變數,它與原變數具有相同的段屬性和偏移位址屬性,但型別屬性不同

如:bufb equ this byte

bufw dw 1234h , 5678h

這樣,bufb 和 bufw 具有相同的段屬性和偏移位址屬性,但 bufb 的型別屬性是位元組,

注意:bufb 語句和 bufw 語句必須是緊鄰的且 bufb 語句在 bufw 語句的前面

格式: 變數/ 標號 lable 型別

SQL Server功能性語句

1 注釋符 注釋是指程式 中不執行的文字字串,是對程式的說明,可以提高程式的可讀性,使程式 更易於維護,一般嵌入在程式中並以特殊的標記顯示出來。在transact sql中,注釋可以包含在批處理 儲存過程 觸發器中,有兩種型別的注釋符 這是ansi標準的兩個連字元組成的注釋符,用於單行注釋。這是與c...

Option Explicit語句的重要性

儘管這三個變數都沒有顯式的生命,但vbscript並不在意。這段 能正常的執行,最終會出現乙個對話方塊並顯示數字3。這似乎很方便。但是,這種方便的代價是高昂的。看下乙個例子 lngfirst 1 lngsecond 2 lngthird lngfirst lgnsecond msgbox lngth...

using 指令 和 using 語句 C

using 指令 c 參考 visual studio 2010 using 指令有兩個用途 允許在命名空間中使用型別,這樣,您就不必在該命名空間中限定某個型別的使用 using system.text 為命名空間或型別建立別名。這稱為 using 別名指令 using project pc.myc...