1.傳送指令
-通用數據傳送指令
MOV:一般傳送,movb、movw、movl等(b是8位,w是16位,l是32位)。
MOVS:符號擴展傳送,movsbw(比如把char型賦值給int型,高8位就用char型變量第一位的符號進行擴展)、movswl。
MOVZ:零擴展傳送,movzwl、movzbl等。
XCHG:數據交換
PUSH/POP:出棧/入棧,pushl、popw等
-地址傳送指令
LEA:加載有效地址,leal(%edx,%eax),%eax的功能是把eax基址寄存器內容加上eax變址寄存器內容傳給eax。
2.定點算法運算指令
3.控制轉移指令
-無條件轉移指令
JMP DST:無條件轉移到目標指令DST 處執行
-條件轉移
Jcc DST:cc爲條件碼
-調用和返回指令
CALL DST:返回地址RA入棧,轉DST處執行
RET:從棧中取出返回地址RA,轉到RA處執行
-
CF(進位標誌) =1 算術操作最高位產生了進位或借位 =0 最高位無進位或借位 ;
-
PF(奇偶標誌) =1 數據最低8位中1的個數爲偶數 =0 數據最低8位中1的個數爲奇數;
-
AF(輔助進位標誌) =1 D3→D4位產生了進位或借位 =0 D3→D4位無進位或借位;
-
ZF(零標誌) =1 操作結果爲0 =0 結果不爲0;
-
SF(符號標誌) =1 結果最高位爲1 =0 結果最高位爲0;
-
OF(溢出標誌) =1 此次運算髮生了溢出 =0 無溢出。