寄存器
通用寄存器
8位寄存器 | 16位寄存器 | 32位寄存器 | 寄存器名稱 |
---|---|---|---|
AH,AL | AX | EAX | 累加寄存器 |
BH,BL | BX | EBX | 基地址寄存器 |
CH,CL | CX | ECX | 計數器寄存器 |
DH,DL | DX | EDX | 數據寄存器 |
SI | ESI | 源變址寄存器 | |
DI | EDI | 源目標寄存器 | |
DH,DL | DX | EDX | 基地址寄存器 |
DH,DL | DX | EDX | 棧頂寄存器 |
段寄存器
標號 | 名稱 |
---|---|
CS | 代碼段 |
DS | 數據段 |
SS | 棧段 |
ES | 附加數據段 |
GS,FS | 附加數據段(+80386) |
專用寄存器
標號 | 名稱 |
---|---|
IP,EIP | 指令指針 |
Flags | EFlags |
微機CPU指令系統
數據傳送指令
- 傳送指令 MOV
- 傳送-填充指令 MOVSX/MOVZX
- 交換指令 XCHG
- 進棧操作指令 PUSH,PUSHA(80286+),PUSHAD(80386+)
- 出棧操作指令 POP,POPA(80286+),POPAD((80386+))
- 轉換指令 XLAT
- 取有效地址指令 LEA
- 取段寄存器指令 LDS
- 字節交換指令 BSWP
算數運算指令
加法指令
- 加法指令 ADD
- 帶進位加法指令 ADC
- 加一指令 INC
- 交換相加指令 XADD
減法指令
- 減法指令 SUB
- 帶錯位減(目的操作數-源操作數-標志位CF) SBB
- 減一指令 DEC
- 求補指令(改變正負) NEG
乘法指令
- 無符號乘法指令 MUL
乘數位數 | 隱含被乘數 | 存儲寄存器 | 例 |
---|---|---|---|
8位 | AL | AX | MUL BL |
16位 | AX | DX-AX | MUL BX |
32位 | EAX | EDX-EAX | MUL ECX |
2. 有符號數乘法指令 IMUL(80286-)同上
除法指令
- 無符號數除法指令 DIV
除數位數 | 隱含被除數 | 商 | 余數 | 例子 |
---|---|---|---|---|
8位 | AX | AL | AH | DIV BH |
16位 | DX-AX | AX | DX | DIV BX |
32位 | EDX-EAX | EAX | EDX | DIV ECX |
2. 有符號數的除法指令IDIV
類型轉換指令
- 字節->字 CBW:AL中符號數->AH
- 字->雙字 CWD:AX符號位->DX
- 字變雙字CWDE;80386+:AX符號位->EAX
- 雙字->四字:CDQ;80386+:EAX->EDX
邏輯運算指令
- 邏輯與 AND
- 邏輯或 OR
- 邏輯非 NOT
- 邏輯異或 XOR
移位操作指令
- 算數位移指令SAL(左)/SAR(右)
- 邏輯移位指令(補零) SHL/SHR
- 循環右移指令(帶進位) ROL/ROR
處理機制指令
指令 | 效果 |
---|---|
CLC | CF<-0 |
CMC | CF<-{CF} |
STC | CF<- 1 |
CLD | DF<- 0 |
STD | DF<- 1 |
CLI | IF<- 0 |
STI | IF<- 1 |
NOP | 無操作 |
HLT | 停機 |
WAIT | 等待 |
ESC | 換碼 |
LOCK | 封鎖 |
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持html5模板網。
【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!