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依...