匯編語言特殊的數據結構形式
數據是指令中操作數的基本組成部分,數據的形式對語句格式有很大的影響。匯編程序能識別的數據項有常數,變量和標號。
MASM匯編語言還有兩種特殊的數據結構形式:結構和記錄。
1.常數
常數是沒有任何屬性的純數值。在匯編時常數的值已確定,并且在程序運行過程中,常數的值不會改變。常數分為兩種類型:數值型常數和字符串型常數。
1)數值型常數
(1)二進制數:以字母B結尾,如01011101B。
(2)八進制數:以字母Q或O結尾,如723Q,21O。
(3)十進制數:以字母D(或省略)結尾,如1995D,3508。
(4)十六進制數:以字母H結尾,例如:3A40H,5BH。
2)字符串型常數
用單引號括起來的字符串,如‘ABCD’,‘S|123456’等。每個字符在機內以ASCII碼存放,例如‘A’在內存中為41H。
2.變量
變量用來定義存放在存儲器單元中的數據。
當存儲單元中的數據在程序運行中隨時可以修改時,這個存儲單元中的數據可以用變量來定義。為了便于對變量的訪問,要給變量取一個名字稱為變量名。變量名應符合標識符的規定,它是存放數據存儲單元的符號地址。
定義變量可用變量定義偽指令(后面將介紹)。
經過定義的變量,有三重屬性。
1)段屬性(SEG)
表示變量存放在某個邏輯段中(通常指變量所在段的段基址)。如上例中,變量DATA1、DATA2、DATA3放在邏輯段DATA中。當指令中要對這些變量進行存取操作時,需將段基址送至段寄存器中。
2)偏移地址屬性(OFFSET)
表示變量在所在段的偏移地址,以字節數表示。例如,上面例子中DATA1的偏移地址為0,DATA2的偏移地址為1,DATA3的偏移地址為2。段基址和偏移地址組成變量的邏輯地址。
3)類型屬性(TYPE)
表示變量占用存儲單元的字節數,這一屬性是由數據定義偽指令來規定的。變量可分別定義為8位,16位,32位,48位,64位和80位數據。
3.標號
標號是指令語句所在地址的符號表示。標號表明該指令在內存中的位置,常作為轉移指令的操作數,確定程序轉移的目標地址。
與變量類似,每個標號也有三重屬性,如下所述。
(1)段屬性(SEG):該標號所在段的段基址。
(2)偏移地址屬性(OFFSET):該標號所在段的偏移地址。
(3)距離屬性(DISTANCE):當標號作為轉移類指令的操作數時,可在段內或段間轉移,這時它們的距離屬性不同。
NEAR:只允許在本段內轉移;
FAR:允許在段間轉移。
設置標號距離可用隱含方式或偽指令LABEL定義其距離屬性兩種方式。
(1)隱含方式:標號后面跟“”隱含其距離屬性為NEAR,只能在本段中轉移。
(2)用LABEL偽指令定義距離屬性。
4.表達式
表達式是操作數的常見形式,表達式由常數、變量、標號及連接它們的運算符組成。表達式的運算不由CPU完成,而是在程序匯編過程中進行計算確定,并將表達式的結果作為操作數參加指令所規定的操作。MASM允許使用的表達式分為以下兩類。
1)數字表達式
數字表達式的結果是數字。
例如:MOV DX,(6*A-B)/2
指令的源操作數(6*A-B)/2是一個表達式。若設變量A的值為1,變量B的值為2,則此表達式的值為(6*1-2)/22,是一個數字結果,此表達式是數字表達式。
2)地址表達式
地址表達式的結果是一個存儲單元的地址。當這個地址中存放的是數據時,稱為變量;當這個地址中存放的是指令時,則稱為標號。
當在指令的操作數部分用到地址表達式時,應當注意其物理意義。例如,兩個地址相乘或相除是無意義的,兩個不同段的地址相加減也是無意義的。經常使用的是地址±(加減號)數字量。如SUM+l是指向SUM字節單元的下一個單元的地址。
例如:MOV AX, ES:[BX+SI+1000H]
BX+SI+1000H為地址表達式,結果是一個存儲單元的地址。
- 面對面學習總是比在線學習好嗎
- 最近關于重新開放學校的激烈爭論主要取決于在線教學的質量。這是可以理解的。但是,關于在線指導的許多內容仍然被誤解。現在該改變這種
- 06-09 關注:73
- 在線學習的4條建議
- 印第安納大學(IU)的新資源介紹了使在線學習成功的一些最重要因素。
當IU關閉體育課并轉向在線教學時,電子學習研究與實踐實驗室開始
- 06-09 關注:65
- 激光視盤 可以自由放置和使用
- 激光視盤采用丙烯酸塑料制成,大多數光盤直徑為30厘米(C12英寸),也有13厘 米(5英寸)的小型盤,盤的轉速為1500轉/分,但應指出,為
- 09-18 關注:133
- 數字技術用于語音信號高效多路傳輸
- 欣賞聲音、喜愛音樂,這是音響的源點。為了滿足這一需要,音響系統需由兩個系統組成。其一是對音樂與人聲加以收音并加以調整,記錄在唱
- 09-18 關注:122
- 電腦正在進入有線電視網
- 當前,隨著數字計算機和多媒體技術的發展,許多大的計算機制造公司都提出,在微型計算機上實現電視的功能,即利用計算機網絡來接收數字
- 09-18 關注:128
- 電視信號的傳輸過程
- 當前,像高保真音響、高清晰度電視、VCD、數碼錄音等新詞匯大量充斥在我們身邊,它們一方面代表這新技術的涌現,另一方面也體現了這些
- 09-18 關注:196
- 計算機6.2.180x86中斷結構及類型
- 從Intel 8086/8088、286、386、486直到Pentium系列微處理器,它們中斷系統的結構基本相同,不同之處主要有兩點:一是 因CPU的工作模式
- 09-18 關注:132
- 中斷技術引入計算機系統
- 中斷技術是現代計算機系統中很重要的功能。最初,中斷技術引入計算機系統,只是為了解決快速的CPU與慢速的外部設備之間傳送數據的矛盾
- 09-18 關注:261