怎麼理解彙編中的立即數,組合語言中 立即數 究竟是個什麼東東,時而可以代表

時間 2021-09-02 20:57:46

1樓:海獅

一樓的第一句是正確

cpu要找的資料就在命令中,是指令的一部分,比如mov al,0fh下面的措辭不當:

它與**一起存於**段,這樣的資料稱為立即數,或者直接運算元。

應當改為:

立即數本身是**的一部分,在**段中可以找到。

立即數的限制很多,而且速度很慢,不是很推薦。

例如:mov ax,0

往往寫成

xor ax,ax

後者所佔空間,速度都有很大提升。

反正個人認為,組合語言學習一下,瞭解一下硬體原理。

一般的人(少於10年彙編經驗)基本上寫出的彙編**不如用c語言。

彙編往往的意義就是比c語言更快,更小。但是絕大多數人做不到。

比如說,eax=eax*25

這個用lea指令會比乘法快很多,但是究竟有多少人懂呢?

2樓:匿名使用者

立即數---跟在指令後面的數值運算元,故放於**段中,cpu不需要訪問資料段就可以取到該數值。

3樓:匿名使用者

可以這樣理解,

cpu要找的資料就在命令中,是指令的一部分,比如mov al,0fh。它與**一起存於**段,這樣的資料稱為立即數,或者直接運算元。

立即數使用注意的兩點:立即數的位數不確定,不能用於但操作指令。

不能作為目的運算元,

4樓:納蘭旖兒

add al,1

這個1就是立即數- -

add al,bl

這個al,bl是運算元- -!

5樓:匿名使用者

說簡單了就是編寫時直接寫出的數叫作立即數

組合語言中 立即數 究竟是個什麼東東,時而可以代表

6樓:永恆

立即數就是常數,彙編時嵌入到**段中,不佔用資料段的空間。

組合語言中什麼是立即數,彙編立即運算元有哪些

立即數 一個立即數是一塊資料儲存作為指令本身,而不是在一箇中的一部分內容儲存器位置或寄存。器。立即值通常用於載入值或對常量執行算術或邏輯運算的指令。概述 在大多數指令集架構下,各種指令也可以對常量值執行操作。例如,考慮一個可以新增兩個寄。存器並將結果儲存在第三個暫存器中的isa 新增 r3,r2,r...

組合語言和反彙編的區別,學習組合語言有什麼好處

反彙編是分析已經有的程式的過程。就是看這些程式的彙編 看看這些程式是怎麼執行的。因為是逆向過程,所以加了反字。學習組合語言有什麼好處 組合語言更解決計算機的底層,彙編源程式執行效率高。一些高階語言都是先轉成彙編然後再轉成機器語言的。瞭解彙編可以幫組更好的瞭解高階語言,設計演算法啥的。如果你要是搞硬體...

組合語言的ADC和ADD怎麼理解

add是正常的加 adc是正常加,但是要帶近位的,比如你現在要加4位的16進位制,而且加的是前兩位的值,但是後兩位相加的值有進位,所以你就要把進位也加上去 crackme資源 add oprd1,oprd2 加法運算.oprd1 oprd2 adc oprd1,oprd2 帶進位加法運算.oprd1...