資源描述:
《常用匯編指令_大全》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫(kù)。
1、常用匯編指令查看文章???匯編常用指令查詢2009-05-2016:50匯編常用指令查詢一、數(shù)據(jù)傳輸指令它們?cè)诖尜A器和寄存器、寄存器和輸入輸出端口之間傳送數(shù)據(jù).1.通用數(shù)據(jù)傳送指令.MOV 雙操作數(shù)指令,兩個(gè)操作數(shù)中必須有一個(gè)是寄存器.MOVSX 先符號(hào)擴(kuò)展,再傳送.MOVZX 先零擴(kuò)展,再傳送.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,ES
2、P,EBP,ESI,EDI依次壓入堆棧.POPAD 把EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX依次彈出堆棧.BSWAP 交換32位寄存器里字節(jié)的順序XCHG 兩操作數(shù)值交換.(至少有一個(gè)操作數(shù)為寄存器,段寄存器不可作為操作數(shù))CMPXCHG比較并交換操作數(shù).(第二個(gè)操作數(shù)必須為累加器AL/AX/EAX)XADD 先交換再累加.(結(jié)果在第一個(gè)操作數(shù)里)XLAT 字節(jié)查表轉(zhuǎn)換.──BX指向一張256字節(jié)的表的起點(diǎn),AL為表的索引值(0-255,即0-FFH);返回AL為查表結(jié)果.([BX+AL]->AL)2.輸入輸出端口
3、傳送指令.IN I/O端口輸入.(語法:IN累加器,{端口號(hào)│DX})OUT I/O端口輸出.(語法:OUT{端口號(hào)│DX},累加器)輸入輸出端口由立即方式指定時(shí),其范圍是0-255;由寄存器DX指定時(shí),其范圍是0-65535.3.目的地址傳送指令.LEA 裝入有效地址.例:LEADX,string ;把偏移地址存到DX.LDS 傳送目標(biāo)指針,把指針內(nèi)容裝入DS.例:LDSSI,string ;把段地址:偏移地址存到DS:SI.LES 傳送目標(biāo)指針,把指針內(nèi)容裝入ES.例:LESDI,string ;把段地址:偏移地址存到ES:DI
4、.LFS 傳送目標(biāo)指針,把指針內(nèi)容裝入FS.例:LFSDI,string ;把段地址:偏移地址存到FS:DI.LGS 傳送目標(biāo)指針,把指針內(nèi)容裝入GS.例:LGSDI,string ;把段地址:偏移地址存到GS:DI.LSS 傳送目標(biāo)指針,把指針內(nèi)容裝入SS.例:LSSDI,string ;把段地址:偏移地址存到SS:DI.4.標(biāo)志傳送指令.LAHF 標(biāo)志寄存器傳送,把標(biāo)志裝入AH.SAHF 標(biāo)志寄存器傳送,把AH內(nèi)容裝入標(biāo)志寄存器.PUSHF 標(biāo)志入棧.POPF 標(biāo)志出棧.PUSHD 32位標(biāo)志入棧.POPD 32位標(biāo)志出棧.二
5、、算術(shù)運(yùn)算指令1.加法指令A(yù)DD 加法.ADC 帶進(jìn)位加法.INC 加1.XADD??交換并相加AAA 加法的ASCII碼調(diào)整.DAA 加法的十進(jìn)制調(diào)整.2.減法指令SUB 減法.SBB 帶借位減法.DEC 減1.NEC 求反(以0減之).NEG???求補(bǔ)CMP 比較.(兩操作數(shù)作減法,僅修改標(biāo)志位,不回送結(jié)果).AAS 減法的ASCII碼調(diào)整.DAS 減法的十進(jìn)制調(diào)整.3.乘法指令MUL 無符號(hào)乘法.IMUL 整數(shù)乘法.以上兩條乘數(shù)在AL(8位)或AX(16位)中結(jié)果回送AH和AL(字節(jié)運(yùn)算),或DX和AX(字運(yùn)算
6、),AAM 乘法的ASCII碼調(diào)整.4.除法指令DIV 無符號(hào)除法.IDIV 整數(shù)除法.以上兩條被除數(shù)放在(AX)(16位操作數(shù))或(DX,AX)(32位)結(jié)果回送商回送AL,余數(shù)回送AH,(字節(jié)運(yùn)算);或 商回送AX,余數(shù)回送DX,(字運(yùn)算).AAD 除法的ASCII碼調(diào)整.CBW 字節(jié)轉(zhuǎn)換為字.(把AL中字節(jié)的符號(hào)擴(kuò)展到AH中去)CWD 字轉(zhuǎn)換為雙字.(把AX中的字的符號(hào)擴(kuò)展到DX中去)CWDE 字轉(zhuǎn)換為雙字.(把AX中的字符號(hào)擴(kuò)展到EAX中去)CDQ 雙字?jǐn)U展. (把EAX中的字的符號(hào)擴(kuò)展到EDX中去)三、邏輯運(yùn)算指令A(yù)
7、ND 與運(yùn)算.OR 或運(yùn)算.XOR 異或運(yùn)算.NOT(CPL) 取反.TEST 測(cè)試.(兩操作數(shù)作與運(yùn)算,僅修改標(biāo)志位,不回送結(jié)果).SHL 邏輯左移.SAL 算術(shù)左移.(=SHL)SHR 邏輯右移.SAR 算術(shù)右移.(=SHR)ROL 循環(huán)左移.ROR 循環(huán)右移.RCL 通過進(jìn)位的循環(huán)左移.RCR 通過進(jìn)位的循環(huán)右移.以上八種移位指令,其移位次數(shù)可達(dá)255次.移位一次時(shí),可直接用操作碼. 如SHLAX,1.移位>1次時(shí),則由寄存器CL給出移位次數(shù).如 MOVCL,04SHLAX,CL四、串指令DS:SI 源串段寄存
8、器 :源串變址.ES:DI 目標(biāo)串段寄存器:目標(biāo)串變址.CX 重復(fù)次數(shù)計(jì)數(shù)器.AL/AX 掃描值.D標(biāo)志 0表示重復(fù)操作中SI和DI應(yīng)自動(dòng)增量;1