第八節 80x86宏匯編語言的數據和表達式
(一)常數
在宏匯編中,允許使用的常數有:
● 二進制常數
● 十進制常數
● 八進制常數
● 十六進制常數
● 十進制科學記數法
● 串常數
(二)變量
變量用于定義存儲器中的數據,這些數據在程序運行過程中可隨機修改。為了便于對變量的訪問,變量常常以變量名的形式出現在程序中。變量名可以認為是存放數據的存儲單元號地址。變量的三個屬性是:
(1)段屬性
指變量所在段的段基址。
(2)偏移地址屬性
指變量所在段中的偏移量,即變量所在地址與段基址之間的字節距離。
(3)類型屬性
指變量占用存儲單元的字節數。占用1個字節的稱為字節變量,其類型BYTE;占用2個字節的稱為字變量,其類型為WORD;占用4個字節的稱為雙字變量,其類型為DWORD。此外,還有8字節(即4個字)變量和10字節變量,它們分別占用8個字節存儲單元和10個字節存儲單元,其類型為QWORD和TBYTE。
變量可以用偽指令DB、DW、DD、DZ、DT進行定義。
(三)標號
標號是給指令性語句所在地址取的名字,和變量一樣,標號有三個屬性:
(1)段屬性
(2)偏移地址屬性
(3)類型屬性
(四)表達式和運算符
宏匯編中有三種運算符:算術運算符、邏輯運算和關系運算符。
1.算術運算符
算術運算符包括加(+)、減(-)、乘(*)、除(/)、模除(MOD)、左移(SHL)和右移(SHR)七種。+、-、*、/是常用的運算符,參加運算的數和運算結果均為整數。除法運算的結果取商的整數部分,而模除的運算結果只取它的余數。左移或右移運算符可使二進制數左移或右移若干位,相當于二進制數進行乘法或除法運算,因此也把它們作為算術運算符。
2.邏輯運算符
邏輯運算符包括AND(與)、OR(或)、XOR(異或)、NOT(非)四種。它們只適用于對常量進行邏輯運算。注意,表達式中的邏輯運算符只能出現在語言的操作數部分并且是在匯編時完成運算的。
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |