常用匯程式設計序轉移指令

2021-07-28 08:08:43 字數 1089 閱讀 6789

1,無條件轉移指令(長轉移)

jmp無條件轉移指令

call過程呼叫

ret/retf過程返回

2,條件轉移指令(短轉移,-128到+127的距離內)(當且僅當(sf xor of)=1時,op1

ja/jnbe不小於或不等於時轉移.(意思就是大於則就跳)

jae/jnb大於或等於轉移.

jb/jnae小於轉移. 

jbe/jna 小於或等於轉移. 

以上四條,測試無符號整數運算的結果(標誌c和z). 

jg/jnle大於轉移. 

jge/jnl大於或等於轉移.

jl/jnge小於轉移. 

jle/jng小於或等於轉移. 

以上四條,測試帶符號整數運算的結果(標誌s,o和z). 

je/jz等於轉移.

jne/jnz不等於時轉移.

jc有進製時轉移.

jnc無進製時轉移.

jno不溢位時轉移. 

jnp/jpo奇偶性為奇數時轉移.

jns符號位為"0"時轉移.

jo溢位轉移.

jp/jpe奇偶性為偶數時轉移.

js符號位為"1"時轉移.

3,,迴圈控制指令(短轉移)

loopcx不為零時迴圈.

loope/loopzcx 不為零且標誌z=1時迴圈.

loopne/loopnzcx 不為零且標誌z=0時迴圈.

jcxzcx為零時轉移.

jecxzecx為零時轉移.

4,中斷指令 

int中斷指令

into溢位中斷

iret中斷返回

5,處理器控制指令 

hlt處理器暫停,直到出現中斷或復位訊號才繼續.

wait當晶元引線test為高電平時使cpu進入等待狀態.

esc轉換到外處理器.

lock封鎖匯流排.

nop空操作.

stc置進製標誌位.

clc清進製標誌位.

cmc進製標誌取反.

std置方向標誌位.

cld清方向標誌位.

sti置中斷允許位.

cli清中斷允許位

ARM彙編程式設計之C程式呼叫匯程式設計序

編寫乙個彙編子程式,實現兩個字資料的加法運算,編寫乙個c程式來呼叫該彙編子程式,並將運算結果使用printf 函式顯示出來。示例如下 為解決這個問題,分別編寫滿足需求的c程式和匯程式設計序。c程式源 define uint32 unsigned int extern uint32 add uint3...

常用彙編指令

1 加減指令 2 adr指令 adr是小範圍的位址讀取偽指令,ldr是大範圍的讀取位址偽指令。可實際上adr是將基於pc相對偏移的位址值或基於暫存器相對位址值讀取的為指令,而ldr用於載入32為立即數或乙個位址到指定的暫存器中。到這兒就會看到其中的區別了。如果在程式中想載入某個函式或者某個在聯接時候...

常用彙編指令

一 資料傳輸指令 它們在存貯器和 暫存器 寄存 器和輸入輸出埠之間傳送資料.1.通用資料傳送指令.mov 傳送字或位元組.movsx 先符號擴充套件,再傳送.movzx 先零擴充套件,再傳送.push 把字壓入堆疊.pop 把字彈出堆疊.pusha 把ax,cx,dx,bx,sp,bp,si,di依...