1. 程式人生 > >彙編指令的英文全稱(中英文對照)

彙編指令的英文全稱(中英文對照)

資料傳輸指令
───────────────────────────────────────
它們在存貯器和暫存器、暫存器和輸入輸出埠之間傳送資料.
1.
通用資料傳送指令.
MOV
傳送字或位元組.
MOVSX
先符號擴充套件,再傳送.
MOVZX
先零擴充套件,再傳送.
PUSH
把字壓入堆疊.
POP
把字彈出堆疊.
PUSHA
AX,CX,DX,BX,SP,BP,SI,DI依次壓入堆疊.
POPA
DI,SI,BP,SP,BX,DX,CX,AX依次彈出堆疊.
PUSHAD
EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI依次壓入堆疊.
POPAD
EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX
依次彈出堆疊.
BSWAP
交換32位暫存器裡位元組的順序
XCHG
交換字或位元組.( 至少有一個運算元為暫存器,段暫存器不可作為運算元)
CMPXCHG
比較並交換運算元.( 第二個運算元必須為累加器AL/AX/EAX )
XADD
先交換再累加.( 結果在第一個運算元裡 )
XLAT
位元組查錶轉換.
── BX
指向一張 256 位元組的表的起點, AL 為表的索引值 (0-255,
0-FFH);
返回 AL 為查表結果. ( [BX+AL]->AL )
2.
輸入輸出埠傳送指令.
IN I/O
埠輸入. ( 語法: IN 累加器, {埠號│DX} )
OUT I/O
埠輸出. ( 語法: OUT {
埠號│DX},累加器 )
輸入輸出埠由立即方式指定時, 其範圍是 0-255; 由暫存器 DX 指定時,
其範圍是 0-65535.
3.
目的地址傳送指令.
LEA
裝入有效地址.
: LEA DX,string ;把偏移地址存到DX.
LDS
傳送目標指標,把指標內容裝入DS.
: LDS SI,string ;把段地址:偏移地址存到DS:SI.
LES
傳送目標指標,把指標內容裝入ES.
: LES DI,string ;把段地址:偏移地址存到ES:DI.
LFS
傳送目標指標,把指標內容裝入FS.
: LFS DI,string ;把段地址:偏移地址存到FS:DI.
LGS
傳送目標指標,把指標內容裝入
GS.
: LGS DI,string ;把段地址:偏移地址存到GS:DI.
LSS
傳送目標指標,把指標內容裝入SS.
: LSS DI,string ;把段地址:偏移地址存到SS:DI.
4.
標誌傳送指令.
LAHF
標誌暫存器傳送,把標誌裝入AH.
SAHF
標誌暫存器傳送,AH內容裝入標誌暫存器.
PUSHF
標誌入棧.
POPF
標誌出棧.
PUSHD 32
位標誌入棧.
POPD 32
位標誌出棧.

二、算術運算指令
───────────────────────────────────────
ADD
加法.
ADC
帶進位加法.
INC
1.
AAA
加法的ASCII碼調整.
DAA
加法的十進位制調整.
SUB
減法.
SBB
帶借位減法.
DEC
1.
NEC
求反( 0 減之).
CMP
比較.(兩運算元作減法,僅修改標誌位,不回送結果).
AAS
減法的ASCII碼調整.
DAS
減法的十進位制調整.
MUL
無符號乘法.
IMUL
整數乘法.
以上兩條,結果回送AHAL(位元組運算),DXAX(字運算),
AAM
乘法的ASCII碼調整.
DIV
無符號除法.
IDIV
整數除法.
以上兩條,結果回送:
商回送AL,餘數回送AH, (位元組運算);
商回送AX,餘數回送DX, (字運算).
AAD
除法的ASCII碼調整.
CBW
位元組轉換為字. (AL中位元組的符號擴充套件到AH中去)
CWD
字轉換為雙字. (AX中的字的符號擴充套件到DX中去)
CWDE
字轉換為雙字. (AX中的字元號擴充套件到EAX中去)
CDQ
雙字擴充套件. (EAX中的字的符號擴充套件到EDX中去)

三、邏輯運算指令
───────────────────────────────────────
AND
與運算.
or
或運算.
XOR
異或運算.
NOT
取反.
TEST
測試.(兩運算元作與運算,僅修改標誌位,不回送結果).
SHL
邏輯左移.
SAL
算術左移.(=SHL)
SHR
邏輯右移.
SAR 算術右移.(=SHR)當值為負時,高位補 1 ;當值為正時,高位補
ROL
迴圈左移.
ROR
迴圈右移.
RCL
通過進位的迴圈左移.
RCR
通過進位的迴圈右移.
以上八種移位指令,其移位次數可達255.
移位一次時, 可直接用操作碼. SHL AX,1.
移位>1次時, 則由暫存器CL給出移位次數.
MOV CL,04
SHL AX,CL

四、串指令
───────────────────────────────────────
DS:SI
源串段暫存器 :源串變址.
ES:DI
目標串段暫存器:目標串變址.
CX
重複次數計數器.
AL/AX
掃描值.
D
標誌 0表示重複操作中SIDI應自動增量; 1表示應自動減量.
Z
標誌用來控制掃描或比較操作的結束.
MOVS
串傳送.
( MOVSB
傳送字元. MOVSW 傳送字. MOVSD 傳送雙字. )
CMPS
串比較.
( CMPSB
比較字元. CMPSW 比較字. )
SCAS
串掃描.
ALAX的內容與目標串作比較,比較結果反映在標誌位.
LODS
裝入串.
把源串中的元素(字或位元組)逐一裝入ALAX.
( LODSB
傳送字元. LODSW 傳送字. LODSD 傳送雙字. )
STOS
儲存串.
LODS的逆過程.
REP
CX/ECX<>0時重複.
REPE/REPZ
ZF=1或比較結果相等,CX/ECX<>0時重複.
REPNE/REPNZ
ZF=0或比較結果不相等,CX/ECX<>0時重複.
REPC
CF=1CX/ECX<>0時重複.
REPNC
CF=0CX/ECX<>0時重複.

五、程式轉移指令
───────────────────────────────────────
1>
無條件轉移指令 (長轉移)
JMP
無條件轉移指令
CALL
過程呼叫
RET/RETF
過程返回.
2>
條件轉移指令 (短轉移,-128+127的距離內)
(
當且僅當(SF XOR OF)=1,OP1 JA/JNBE 不小於或不等於時轉移.
JAE/JNB
大於或等於轉移.
JB/JNAE
小於轉移.
JBE/JNA
小於或等於轉移.
以上四條,測試無符號整數運算的結果(標誌CZ).
JG/JNLE
大於轉移.
JGE/JNL
大於或等於轉移.
JL/JNGE
小於轉移.
JLE/JNG
小於或等於轉移.
以上四條,測試帶符號整數運算的結果(標誌S,OZ).
JE/JZ
等於轉移.
JNE/JNZ
不等於時轉移.
JC
有進位時轉移.
JNC
無進位時轉移.
JNO
不溢位時轉移.
JNP/JPO
奇偶性為奇數時轉移.
JNS
符號位為 "0" 時轉移.
JO
溢位轉移.
JP/JPE
奇偶性為偶數時轉移.
JS
符號位為 "1" 時轉移.
3>
迴圈控制指令(短轉移)
LOOP CX
不為零時迴圈.
LOOPE/LOOPZ CX
不為零且標誌Z=1時迴圈.
LOOPNE/LOOPNZ CX
不為零且標誌Z=0時迴圈.
JCXZ CX
為零時轉移.
JECXZ ECX
為零時轉移.
4>
中斷指令
INT
中斷指令
INTO
溢位中斷
IRET
中斷返回
5>
處理器控制指令
HLT
處理器暫停, 直到出現中斷或復位訊號才繼續.
WAIT
當晶片引線TEST為高電平時使CPU進入等待狀態.
ESC
轉換到外處理器.
LOCK
封鎖匯流排.
NOP
空操作.
STC
置進位標誌位.
CLC
清進位標誌位.
CMC
進位標誌取反.
STD
置方向標誌位.
CLD
清方向標誌位.
STI
置中斷允許位.
CLI
清中斷允許位.

六、偽指令
─────────────────────────────────────
DW
定義字(2位元組).
PROC
定義過程.
ENDP
過程結束.
SEGMENT
定義段.
ASSUME
建立段暫存器定址.
ENDS
段結束.
END
程式結束.