日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

汇编语言常量

發布時間:2025/3/15 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 汇编语言常量 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

常量(constant)是程序中使用的一個確定數值,在匯編階段就可以確定,直接編碼于指令代碼中,不是保存在存儲器中可變的變量,因為是編碼在指令中的量,和指令一起存儲了,所以不用單獨開辟主存空間,所以也就沒法動態改變它了,這也正是高級語言常量無法修改的原因。

?

整數常量

整數常量(integer literal)(又稱為整型常量(integer constant))由一個可選前置符號、一個或多個數字,以及一個指明其基數的可選基數字符構成:

[{+|-}] digits [radix]

提示:本教程使用 Microsoft 語法符號。方括號內的元素是可選的;大括號內的元素用 | 符號分隔,且必須要選擇其中一個元素;斜體字標識的是有明確定義或說明的元素。

由此,比如 26 就是一個有效的整數常量。它沒有基數,所以假設其是十進制形式。如果想要表示十六進制數 26,就將其寫為 26h。同樣,數字 1101 可以被看做是十進制值,除非在其末尾添加“b”,使其成為 1101b (二進制)。下表列出了可能的基數值:

h十六進制r編碼實數
q/o八進制t十進制(備用)
d十進制y二進制(備用)
b二進制???

下面這些整數常量聲明了各種基數。每行都有注釋:

26 ;十進制 26d ;十進制 11010011b ;二進制 42q ;八進制 42o ;八進制 1Ah ;十六進制 0A3h ;十六進制

以字母開頭的十六進制數必須加個前置 0,以防匯編器將其解釋為標識符。

整型常量表達式

整型常量表達式 (constant integer expression) 是一種算術表達式,它包含了整數常量和算術運算符。每個表達式的計算結果必須是一個整數,并可用 32 位 (從 0 到 FFFFFFFFh) 來存放。

下表列出了算術運算符,并按照從高 (1) 到低 (4) 的順序給出了它們的優先級。對整型常量表達式而言很重要的是,要意識到它們只在匯編時計算。這里將它們簡稱為 整數表達式。

運算符名稱優先級
()圓括號1
+,-一元加、減2
*, /乘、除3
MOD取模3
+, –加、減4

運算符優先級 (operator precedence) 是指,當一個表達式包含兩個或多個運算符時,這些操作的執行順序。下面是一些表達式和它們的執行順序:

4 + 5 * 2 ;乘法,加法 12 - 1 MOD 5 ;取模,減法 -5 + 2 ;一元減法,加法 (4 + 2) * 6 ;加法,乘法

下面給出了一些有效表達式和它們的值:

表達式值
16/53
-(3+4) * (6-1 )-35
-3+4*6- 120
25 mod 31

提示:在表達式中使用圓括號來表明操作順序,那么就不用去死記運算符優先級。

實數常量

實數常量(real number literal)(又稱為浮點數常量(floating-point literal))用于表示十進制實數和編碼(十六進制)實數。十進制實數包含一個可選符號,其后跟隨一個整數,一個十進制小數點,一個可選的表示小數部分的整數,和一個可選的指數:

[sign]integer.[integer] [exponent]

符號和指數的格式如下:

sign??????????????? {+,-}
exponent??????? E[{+,-}]integer

下面是一些有效的十進制實數:

2.
+3.0
-44.2E+05
26.E5

至少需要一個數字和一個十進制小數點。

編碼實數(encoded real)表示的是十六進制實數,用 IEEE 浮點數格式表示短實數。比如,十進制數 +1.0 用二進制表示為:

0011 1111 1000 0000 0000 0000 0000 0000

在匯編語言中,同樣的值可以編碼為短實數:

3F800000r

字符常量

字符常量 (character literal) 是指,用單引號或雙引號包含的一個字符。匯編器在內存中保存的是該字符二進制 ASCII 碼的數值。例如:

'A'
"d"

表明字符常量在內部保存為整數,使用的是 ASCII 編碼序列。因此,當編寫字符常量“A”時,它在內存中存放的形式為數字 65 ( 或 41h)。

字符串常量

字符串常量 (string literal) 是用單引號或雙引號包含的一個字符 ( 含空格符 ) 序列:

'ABC'
'X'
"Good night, Gracie"
'40961

嵌套引號也是被允許的,使用方法如下例所示:

"This isn't a test"
'Say "Good night," Gracie'

和字符常量以整數形式存放一樣,字符串常量在內存中的保存形式為整數字節數值序列。例如,字符串常量“ABCD”就包含四個字節 41h、42h、43h、44h。

下一篇:1.11?字符在計算機中是如何表示的
1.12?匯編語言布爾表達式
處理器架構
2.1?CPU處理器架構
2.2?32位x86處理器架構
2.3?x86-64處理器架構
2.4?x86計算機組件
匯編語言基礎
3.1?第一個匯編語言程序
3.2?匯編語言常量
3.3?匯編語言保留字
3.4?匯編語言標識符
3.5?匯編語言偽指令

總結

以上是生活随笔為你收集整理的汇编语言常量的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。