汇编语言——指令系统小结
生活随笔
收集整理的這篇文章主要介紹了
汇编语言——指令系统小结
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
指令系統小結
- 指令系統小結
- 一、數據傳送
- 1. 數據傳送
- ==MOV==
- ==LEA==
- ==LDS==
- ==LES==
- ==LAHF==
- ==SAHF==
- 2. 堆棧操作
- ==PUSH==
- ==POP==
- ==PUSHF==
- ==POPF==
- 3. 數據交換
- ==XCHG==
- ==XLAT==
- 4. 輸入輸出
- ==IN==
- ==OUT==
- 二、算術運算
- 1.加法
- ==ADD==
- ==ADC==
- ==INC==
- 2. 減法 ; 比較
- ==SUB==
- ==SBB==
- ==DEC==
- ==NEG==
- ==CMP==
- 3. 乘法
- ==MUL==
- ==IMUL==
- 4. 除法
- ==DIV==
- ==IDIV==
- 5. 擴展
- CBW
- CWD
- 6. 十進制調整
- AAA
- AAS
- DAA
- DAS
- AAM
- AAD
- 三 、位操作
- 1. 邏輯運算
- ==AND==
- ==OR==
- ==NOT==
- ==XOR==
- ==TEST==
- 2. 移位運算
- ==SAL==
- ==SAR==
- ==SHL==
- ==SHR==
- 3. 循環移位
- ==ROL==
- ==ROR==
- ==RCL==
- ==RCR==
- 四、串操作
- 五、程序控制
- 1. 調用
- ==CALL==
- ==RET==
- 2. 中斷
- 3. 重復操作
- ==JCXZ==
- ==LOOP==
- ==LOOPZ==
- ==LOOPNZ==
- 4. 跳轉
- ==JA / JNBE==
- ==JAE / JNB==
- ==JB / JNAE==
- ==JBE / JNA==
- ==JG / JNLE==
- ==JE / JZ==
- ==JNE / JNZ==
- ==JGE / JNL==
- ==JL / JNGE==
- ==JNC==
- ==JC==
- ==JNS==
- ==JS==
- ==JP / JPE==
- ==JNP / JPO==
- ==JNO==
- ==JO==
- 六、處理器控制
- 七、前綴操作
指令系統小結
一、數據傳送
1. 數據傳送
-
MOV
(1)CS 、IP 只能做源操作數,不能被賦值。
(2)段寄存器不能直接和立即數交互。
(3)立即數只能賦值存儲器和寄存器,不能被賦值。
該指令不影響標志位
-
LEA
-
LDS
-
LES
-
LAHF
-
SAHF
2. 堆棧操作
-
PUSH
(1)只能進行字操作,不能 字節 存儲。
(2)CS 只能壓棧,不能彈棧。
(3)立即數不能壓棧、彈棧。
-
POP
(1)不能向 IP、CS 彈棧。
(2)立即數不能彈棧。
-
PUSHF
-
POPF
3. 數據交換
-
XCHG
(1)寄存器之間可以交換。
(2)存儲可以與寄存器交換,不能自身交換。
(3)段寄存器、CS、IP、立即數之間不能交換。
此命令不影響標志位
-
XLAT
(1)使用前需要在數據段中建立一個小于256 B 的表格,表的首地址放在 BX 中,偏移值放在 AL 中。
(2)將數據段中偏移地址為 BX 與 AL 之和的存儲單元內容送到 AL 中。
4. 輸入輸出
-
IN
-
OUT
(1)立即數不能直接輸出,要先保存在寄存器中。
二、算術運算
1.加法
-
ADD
(1)要求源操作數和目的操作數必須同時為帶符號或無符號數。
(2)影響標志位
-
ADC
(1)影響標志位
-
INC
(1)不 影響標志位
2. 減法 ; 比較
-
SUB
-
SBB
-
DEC
(1)不影響進位標志
-
NEG
-
CMP
3. 乘法
-
MUL
(1)要求被乘數放在 AL 或 AX,進行字節或字運算。
(2)SRC 只能通過 非立即數 的方式尋址。
(3)字節運算時,目的操作數只能在 AL,結果在 AX 中。
(4)字運算時,目的操作數只能在 AX,結果高位在 DX,低位在 AX。
(5)只影響 OF、CF 標志位。
-
IMUL
(1)要求被乘數放在 AL 或 AX,進行字節或字運算。
(2)SRC 只能通過 非立即數 的方式尋址。
(3)字節運算時,目的操作數只能在 AL,結果在 AX 中。
(4)字運算時,目的操作數只能在 AX,結果高位在 DX,低位在 AX。
(5)只影響 OF、CF 標志位。
4. 除法
-
DIV
(1)字節操作: 16位被除數放在 AX 中,8位除數位源操作數,結果在 AL,余數在 AH 中。
(2)字操作: 32位被除數在 DX 、AX 中,16位除數為源操作數,結果的16位商在 AX 中,16位余數在 DX 中。
(3)對所有的條件碼位皆無影響
-
IDIV
(1)字節操作: 16位被除數放在 AX 中,8位除數位源操作數,結果在 AL,余數在 AH 中。
(2)字操作: 32位被除數在 DX 、AX 中,16位除數為源操作數,結果的16位商在 AX 中,16位余數在 DX 中。
(3)對所有的條件碼位皆無影響
5. 擴展
-
CBW
-
CWD
6. 十進制調整
-
AAA
-
AAS
-
DAA
-
-
DAS
-
-
AAM
-
AAD
三 、位操作
1. 邏輯運算
-
AND
-
OR
-
NOT
-
XOR
-
TEST
2. 移位運算
** 當移位次數大于 1 時,需要存儲在 CL **
-
SAL
-
SAR
-
SHL
-
SHR
3. 循環移位
-
ROL
-
ROR
-
RCL
-
RCR
四、串操作
五、程序控制
1. 調用
-
CALL
-
RET
2. 中斷
3. 重復操作
-
JCXZ
-
LOOP
-
LOOPZ
-
LOOPNZ
4. 跳轉
-
JA / JNBE
-
JAE / JNB
-
JB / JNAE
-
JBE / JNA
-
JG / JNLE
-
JE / JZ
-
JNE / JNZ
-
JGE / JNL
-
JL / JNGE
-
JNC
-
JC
-
JNS
-
JS
-
JP / JPE
-
JNP / JPO
-
JNO
-
JO
六、處理器控制
七、前綴操作
總結
以上是生活随笔為你收集整理的汇编语言——指令系统小结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何助力鸿蒙发展,实话实说:华为以一已之
- 下一篇: discuz X2.0数据库详解