匯編指令手冊(cè)_第1頁(yè)
匯編指令手冊(cè)_第2頁(yè)
匯編指令手冊(cè)_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、匯編指令手冊(cè)一、數(shù)據(jù)傳輸指令它們?cè)诖尜A器和寄存器、寄存器和輸入輸出端口之間傳送數(shù)據(jù). 1. 通用數(shù)據(jù)傳送指令 . mov 傳送字或字節(jié) . 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,esp,ebp,esi,edi 依次壓入堆棧 . popad 把 edi,esi,ebp,esp,ebx,edx,e

2、cx,eax 依次彈出堆棧 . bswap 交換 32位寄存器里字節(jié)的順序xchg 交換字或字節(jié) .( 至少有一個(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. 輸入輸出端口傳送指令 . in i/o 端口輸入 . ( 語(yǔ)法: in 累加器 , 端口號(hào) dx )out i/

3、o 端口輸出 . ( 語(yǔ)法: out 端口號(hào) dx,累加器 ) 輸入輸出端口由立即方式指定時(shí), 其范圍是 0-255; 由寄存器 dx 指定時(shí) , 其范圍是 0-65535. 3. 目的地址傳送指令 . lea 裝入有效地址 . 例: lea dx,string ; 把偏移地址存到dx. lds 傳送目標(biāo)指針 , 把指針內(nèi)容裝入ds. 例: lds si,string ; 把段地址 : 偏移地址存到 ds:si. les 傳送目標(biāo)指針 , 把指針內(nèi)容裝入es. 例: les di,string ; 把段地址 : 偏移地址存到 es:di. lfs 傳送目標(biāo)指針 , 把指針內(nèi)容裝入fs. 例:

4、lfs di,string ; 把段地址 : 偏移地址存到 fs:di. lgs 傳送目標(biāo)指針 , 把指針內(nèi)容裝入gs. 例: lgs di,string ; 把段地址 : 偏移地址存到 gs:di. lss 傳送目標(biāo)指針 , 把指針內(nèi)容裝入ss. 例: lss di,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)志出棧 . 二、算術(shù)運(yùn)算指令a

5、dd 加法. adc 帶進(jìn)位加法 . inc 加 1. aaa 加法的 ascii 碼調(diào)整 . daa 加法的十進(jìn)制調(diào)整 . sub 減法. sbb 帶借位減法 . dec 減 1. nec 求反( 以 0 減之). cmp 比較.( 兩操作數(shù)作減法 , 僅修改標(biāo)志位 , 不回送結(jié)果 ). aas 減法的 ascii 碼調(diào)整. das 減法的十進(jìn)制調(diào)整 . mul 無(wú)符號(hào)乘法 . imul 整數(shù)乘法 . 以上兩條 , 結(jié)果回送 ah和 al(字節(jié)運(yùn)算 ), 或 dx和 ax(字運(yùn)算 ), aam 乘法的 ascii 碼調(diào)整. div 無(wú)符號(hào)除法 . idiv 整數(shù)除法 . 以上兩條 , 結(jié)果回

6、送 : 商回送 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)算指令and 與運(yùn)算 . or 或運(yùn)算 . xor 異或運(yùn)算 . not 取反. test 測(cè)試.( 兩操作數(shù)作與運(yùn)算 , 僅修改標(biāo)志位 , 不回送結(jié)果 ). sh

7、l 邏輯左移 . sal 算術(shù)左移 .(=shl) shr 邏輯右移 . sar 算術(shù)右移 .(=shr) rol 循環(huán)左移 . ror 循環(huán)右移 . rcl 通過(guò)進(jìn)位的循環(huán)左移 . rcr 通過(guò)進(jìn)位的循環(huán)右移 . 以上八種移位指令 , 其移位次數(shù)可達(dá)255次. 移位一次時(shí) , 可直接用操作碼 . 如 shl ax,1. 移位1次時(shí), 則由寄存器 cl給出移位次數(shù) . 如mov cl,04 shl ax,cl 四、串指令ds:si 源串段寄存器: 源串變址 . es:di 目標(biāo)串段寄存器 : 目標(biāo)串變址 . cx 重復(fù)次數(shù)計(jì)數(shù)器 . al/ax 掃描值 . d標(biāo)志0 表示重復(fù)操作中si 和 d

8、i 應(yīng)自動(dòng)增量 ; 1 表示應(yīng)自動(dòng)減量 . z 標(biāo)志用來(lái)控制掃描或比較操作的結(jié)束. movs 串傳送 . ( movsb 傳送字符 . movsw 傳送字 . movsd 傳送雙字 . ) cmps 串比較 . ( cmpsb 比較字符 . cmpsw 比較字 . ) scas 串掃描 . 把 al或 ax的內(nèi)容與目標(biāo)串作比較 , 比較結(jié)果反映在標(biāo)志位 . lods 裝入串 . 把源串中的元素 ( 字或字節(jié) ) 逐一裝入 al或 ax中. ( lodsb 傳送字符 . lodsw 傳送字 . lodsd 傳送雙字 . ) stos 保存串 . 是 lods 的逆過(guò)程 . rep 當(dāng) cx/ec

9、x0 時(shí)重復(fù) . repe/repz 當(dāng) zf=1或比較結(jié)果相等 , 且 cx/ecx0 時(shí)重復(fù) . repne/repnz 當(dāng) zf=0或比較結(jié)果不相等 , 且 cx/ecx0 時(shí)重復(fù) . repc 當(dāng) cf=1且 cx/ecx0 時(shí)重復(fù). repnc 當(dāng) cf=0且 cx/ecx0 時(shí)重復(fù) . 五、程序轉(zhuǎn)移指令1無(wú)條件轉(zhuǎn)移指令 ( 長(zhǎng)轉(zhuǎn)移 ) jmp 無(wú)條件轉(zhuǎn)移指令call 過(guò)程調(diào)用ret/retf 過(guò)程返回 . 2條件轉(zhuǎn)移指令 ( 短轉(zhuǎn)移 ,-128 到+127的距離內(nèi) ) ( 當(dāng)且僅當(dāng) (sf xor of)=1時(shí),op1循環(huán)控制指令 (短轉(zhuǎn)移 ) loop cx不為零時(shí)循環(huán) . loope/loopz cx不為零且標(biāo)志 z=1時(shí)循環(huán) . loopne/loopnz cx不為零且標(biāo)志 z=0時(shí)循環(huán) . jcxz cx為零時(shí)轉(zhuǎn)移 . jecxz ecx為零時(shí)轉(zhuǎn)移 . 4中斷指令int 中斷指令into 溢出中斷iret 中斷返回5處理器控制指令hlt 處理器暫停 , 直到出現(xiàn)中斷或復(fù)位信號(hào)才繼續(xù). wait 當(dāng)芯片引線 test為高電平時(shí)使 cpu 進(jìn)入等待狀態(tài) . esc 轉(zhuǎn)換到外處理器 . lock 封鎖總線 . nop 空操作 . stc 置進(jìn)位標(biāo)志位 . clc 清進(jìn)位標(biāo)志位 . cmc 進(jìn)位標(biāo)志

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論