彙編中基本的指令格式

2021-07-24 17:38:48 字數 1216 閱讀 2835

指令中符號解釋:r代表暫存器  m代表記憶體單元 i代表立即數

運算指令:

add r/m , r/m/i    加法指令(減法類似)

xchg r/m ,r    兩數交換指令

inc r/m   自增指令(自減類似)

cmp r/m, r/m/i    比較指令

neg r/m    求補指令

mul r/m    無符號乘法指令

div r/m     無符號除法指令

imul r/m    有符號乘法(有符號除法idiv)

2.邏輯指令

not r/m     取反指令

and r/m,r/m/i    與指令(或指令類似or)

test(類似於and 指令只是沒有存放結果的and指令)

xor r/m,r/m/i    異或指令

3.跳轉指令

jmp r/m/i

跳轉指令分為短跳轉與長跳轉,其中短跳轉分為near 與short, 其中near的跳轉範圍為-32k~32k-1,short跳轉長度為 -128~127

附加

關於跳轉指令中的條件跳轉指令

對於條件跳轉指令首先要弄清幾個關鍵的單詞首字母,其實條件跳轉指令就是按照指令的中文意思執行的。

e (equal 相等)

n(not 不)

用於無符號的兩個常見單詞首字母

a(above 大於)

b (below 小於 )

用於有符號的兩個常見單詞首字母

g(greater 大於)

l(less 小於)

ja/jnbe   比較結果大於時跳轉 (cf=0 且 zf=0)

jae/jnb   大於等於 (cf =0 或 zf =1)

jb/jnae   小於 (cf=1 且 zf=0)

jbe/jna   小於等於 (cf= 1 或 zf = 1)

jg/jnle   比較結果大於時跳轉 (sf=of 且 zf=0)

jge/jnl   大於等於 (sf=of 或 zf =1)

jl/jnge   小於 (sf!=of 且 zf=0)

jle/jng  小於等於 (sf!=of 或 zf = 1)

jc ,jnc,jz/e,jnz/e ,js,jns 等指令都是更具標誌為來進行判斷並進行轉移

基本彙編指令

運算元型別 1.立即數運算元,也就是常數值。立即數的書寫方式是 後面跟乙個整數,比如 0x1f,這個會在後面的具體分析中見到很多。2.暫存器運算元,它表示某個暫存器的內容,用符號ea來表示任意暫存器a,用引用r ea 來表示它的值,這是將暫存器集合看成乙個陣列r,用暫存器表示符作為索引。3.運算元是...

彙編指令及格式

第1 樓 程式流程控制指令 1 無條件轉移指令 長轉移 jmp 無條件轉移指令 call 過程呼叫 ret retf過程返回.2 條件轉移指令 短轉移,128到 127的距離內 當且僅當 sf xor of 1時,op1 ja jnbe 不小於或不等於時轉移.jae jnb 大於或等於轉移.jb j...

彙編(三)組合語言的指令格式

本篇介紹匯程式設計序功能 偽操作及組合語言的指令格式。一 匯程式設計序的主要功能 1.檢查源程式 2.檢測源程式中的語法錯誤,並給出錯誤資訊 3.產生源程式的目標程式,並給出列表檔案 lst檔案,同時給出組合語言和機器語言的檔案 4.展開巨集檔案 二 偽操作 硬指令 使cpu產生動作 並在程式執行時...