匯編指令縮寫


  1 常見匯編命令英文縮寫 
  2 
  3 寄存器類(register):
  4     通用寄存器:       EAX、EBX、ECX、EDX:是ax,bx,cx,dx的延伸,各為32位
  5         AH&AL=AX(accumulator)           :累加寄存器
  6         BH&BL=BX(base)                  :基址寄存器
  7         CH&CL=CX(count)                 :計數寄存器
  8         DH&DL=DX(data)                  :數據寄存器
  9     特殊功能寄存器:    ESP、EBP、ESI、EDI、EIP:是sp,bp,si,di,ip的延伸,32位
 10         SP(Stack Pointer)                :堆棧指針寄存器
 11         BP(Base Pointer)                 :基址指針寄存器
 12         SI(Source Index)                 :源變址寄存器
 13         DI(Destination Index)            :目的變址寄存器
 14         IP(Instruction Pointer)          :指令指針寄存器
 15     段寄存器:
 16         CS(Code Segment)                 :代碼段寄存器
 17         DS(Data Segment)                 :數據段寄存器
 18         SS(Stack Segment)                :堆棧段寄存器
 19         ES(Extra Segment)                :附加段寄存器
 20     標志寄存器          
 21         FR--flag register(程序狀態字PSW--program status word),PSW常用的標志有:    
 22         標志                值為1時的標記      值為0時的標記      說明
 23         OF(overflow flag)   OV(overflow)     NV(not overflow) 溢出標志 操作數超出
機器能表示的范圍表示
溢出.溢出時為1.
24 ZF(zero flag) ZR(zero) NZ(not zero) 零標志 運算結果等於
0時為1.否則為0.
25 PF(parity flag) PE(parity even) PO(parity odd) 奇偶標志 運算結果操
作數位為1的個數為偶
數個時為1.否則為0.
26 CF(carry flag) CY(carried) NC(not carried) 進位標志 最高有效位產
生進位時為1.否則為0.
27 DF(direction flag) DN(down) UP(up) 方向標志 用於串處理.
DF=1時.每次操作后使SI
和DI減小.DF=0時則增大 28 SF(sign flag) NG(negtive) PL(plus) 符號標志 記錄運算結果
的符號.結果負時為1.
29 TF(trap flag) 陷阱標志 用於調試單步
操作.
30 IF(interrupt flag) 中斷標志 IF=1時.允許C
PU響應可屏蔽中斷.否則
中斷.
31 AF(auxiliary flag) 輔助進位標志 運算時.第
3位向第4位產生進位時為
1.否則為0.
32 一、命令類 33 1.通用數據傳送指令. 34 MOV----> move 傳送字或字節 35 MOVSX---->extended move with sign data 先符號擴展,再傳送 36 MOVZX---->extended move with zero data 先零擴展,再傳送 37 PUSH---->push 把字壓入堆棧 38 POP---->pop 把字彈出堆棧 39 PUSHA---->push all 把AX,CX,DX,BX,SP,BP,SI,DI
依次壓入堆棧
40 POPA---->pop all 把DI,SI,BP,SP,BX,DX,CX,AX
依次彈出堆棧
41 PUSHAD---->push all data 把EAX,ECX,EDX,EBX,ESP,EBP
,ESI,EDI依次壓入堆棧
42 POPAD---->pop all data 把EDI,ESI,EBP,ESP,EBX,EDX
,ECX,EAX依次彈出堆棧
43 BSWAP---->byte swap 交換32位寄存器里字節的順序 44 XCHG---->exchange 交換字或字節.至少有一個操作數
為寄存器,段寄存器不可作為操作
45 CMPXCHG---->compare and change 比較並交換操作數.第二個操作數
為累加器AL/AX/EAX
46
XADD---->exchange and add 先交換再累加.結果在第一個操作
數里
47 XLAT---->translate 字節查表轉換 48 2.輸入輸出端口傳送指令. 49 IN---->input I/O端口輸入.(語法: IN 累加器
,{ 端口號│DX })
50 OUT---->output I/O端口輸出.(語法: OUT { 端
口號│DX },累加器)
51 3.目的地址傳送指令. 52 LEA---->load effective address 裝入有效地址 53 LDS---->load DS 傳送目標指針,把指針內容裝入DS 54 LES---->load ES 傳送目標指針,把指針內容裝入ES 55 LFS---->load FS 傳送目標指針,把指針內容裝入FS 56 LGS---->load GS 傳送目標指針,把指針內容裝入GS 57 LSS---->load SS 傳送目標指針,把指針內容裝入SS 58 4.標志傳送指令. 59 LAHF---->load AH from flag 標志寄存器傳送,把標志裝入AH. 60 SAHF---->save AH to flag 標志寄存器傳送,把AH內容裝入
標志寄存器
61 PUSHF---->push flag 標志入棧 62 POPF---->pop flag 標志出棧 63 PUSHD---->push dflag 32位標志入棧 64 POPD---->pop dflag 32位標志出棧 65 二、算術運算指令 66 ADD---->add 加法 67 ADC---->add with carry 帶進位加法 68 INC---->increase 1 加1 69 AAA---->ascii add with adjust 加法的ASCII碼調整 70 DAA---->decimal add with adjust 加法的十進制調整 71 SUB---->substract 減法 72 SBB---->substract with borrow 帶借位減法 73 DEC---->decrease 1 減1 74 NEC---->negative 求反(以 0 減之) 75 CMP---->compare 比較.兩操作數作減法,僅修改標
志位,不回送結果
76 AAS---->ascii adjust on substract 減法的ASCII碼調整. 77 DAS---->decimal adjust on substract 減法的十進制調整 78 MUL---->multiplication 無符號乘法,結果回送AH和AL
(字節運算),或DX和AX(字運算)
79 IMUL---->integer multiplication 整數乘法,結果回送AH和AL(字
節運算),或DX和AX(字運算)
80 AAM---->ascii adjust on multiplication 乘法的ASCII碼調整 81 DIV---->divide 無符號除法 82 IDIV---->integer divide 整數除法,商回送AL余數回送AH
字節運算,商回送AX余數回送
DX,字運算
83 AAD---->ascii adjust on divide 除法的ASCII碼調整 84 CBW---->change byte to word 字節轉換為字.(把AL中字節的符
號擴展到AH中去)
85 CWD---->change word to double word 字轉換為雙字.(把AX中的字的符
號擴展到DX中去)
86 CWDE--->change word to double word with sign to EAX 字轉換為雙字.(把AX中的字符號
擴展到EAX中去)
87 CDQ---->change double word to quadrate word 雙字擴展.把EAX中的字的符號擴
展到EDX
88 三、邏輯運算指令 89 AND---->and 與運算 90 OR---->or 或運算 91 XOR---->xor 異或運算 92 NOT---->not 取反 93 TEST---->test 測試.(兩操作數作與運算,僅修改
標志位,不回送結果)
94 SHL---->shift left 邏輯左移 95 SAL---->arithmatic shift left 算術左移.(=SHL) 96 SHR---->shift right 邏輯右移 97 SAR---->arithmatic shift right 算術右移.(=SHR) 98 ROL---->rotate left 循環左移 99 ROR---->rotate right 循環右移 100 RCL---->rotate left with carry 通過進位的循環左移 101 RCR---->rotate right with carry 通過進位的循環右移 102 四、串指令 103 MOVS---->move string 串傳送,MOVSB傳送字符、MOVSW
傳送字、MOVSD傳送雙字
104 CMPS---->compare string 串比較,CMPSB比較字符、CMPSW
比較字
105 SCAS---->scan string 串掃描,把AL或AX的內容與目標
串作比較,比較結果反映在標志位
106 LODS---->load string 裝入串,把源串中的元素(字或字
節)逐一裝入AL或AX中,LODSB傳送
字符、LODSW傳送字、LODSD傳送雙字
107 STOS---->store string 保存串,是LODS的逆過程 108 REP---->repeat 當CX/ECX<>0時重復 109 REPE---->repeat when equal 當比較結果相等,且CX/ECX<>0時重復 110 REPZ---->repeat when zero flag 當ZF=1,且CX/ECX<>0時重復 111 REPNE---->repeat when not equal 當比較結果不相等,且CX/ECX<>0時重復 112 REPNZ---->repeat when zero flag 當ZF=0,且CX/ECX<>0時重復 113 REPC---->repeat when carry flag 當CF=1且CX/ECX<>0時重復 114 REPNC---->repeat when not carry flag 當CF=0且CX/ECX<>0時重復 115 五、程序轉移指令 116 1>無條件轉移指令(長轉移) 117 JMP---->jump 無條件轉移指令 118 CALL---->call 過程調用 119 RET---->return 過程返回 120 RETF---->return far 過程返回 121 2>條件轉移指令(短轉移,-128到+127的距離內) :當且僅當(SF XOR OF)=1時,OP1<OP2 122 JAE---->jump when above or equal 不小於時轉移 123 JNB---->jump when not below 不小於時轉移 124 JB---->jump when below 小於時轉移 125 JNAE---->jump when not above or equal 小於時轉移 126 JBE---->jump when below or equal 小於等於時轉移 127 JNA---->jump when not above 小於等於時轉移 128 以上條目,測試無符號整數運算的結果(標志C和Z) 129 JG---->jump when greater 大於轉移 130 JNLE---->jump when not less or equal 大於轉移 131 JGE---->jump when greater or equal 大於等於轉移 132 JNL---->jump when not less 大於等於轉移 133 JL---->jump when less 小於轉移 134 JNGE---->jump when not greater or equal 小於轉移 135 JLE---->jump when less or equal 小於等於轉移 136 JNG---->jump when not greater 小於等於轉移 137 以上條目,測試帶符號整數運算的結果(標志S,O和Z). 138 JE---->jump when equal 等於轉移 139 JZ---->jump when has zero flag 結果為0轉移 140 JNE---->jump when not equal 不等於轉移 141 JNZ---->jump when not has zero flag 結果不為0轉移 142 JC---->jump when has carry flag 有進位轉移 143 JNC---->jump when not has carry flag 無進位轉移 144 JNO---->jump when not has overflow flag 不溢出時轉移 145 JNP---->jump when not has parity flag 奇偶性為奇數時轉移 146 JPO---->jump when parity flag is odd 奇偶性為奇數時轉移 147 JNS---->jump when not has sign flag 符號位為0時轉移 148 JO---->jump when has overflow flag 溢出時轉移 149 JP---->jump when has parity flag 奇偶性為偶數時轉移 150 JPE---->jump when parity flag is even 奇偶性為偶數時轉移 151 JS---->jump when has sign flag 符號位為0時轉移 152 3>循環控制指令(短轉移) 153 LOOP---->loop CX不為零時循環 154 LOOPE---->loop equal CX不為零且結果相等時循環(相等時Z=1155 LOOPZ---->loop zero CX不為零且標志Z=1時循環 156 LOOPNE---->loop not equal CX不為零且結果不相等時循環(相等時Z=0157 LOOPNZ---->loop not zero CX不為零且標志Z=0時循環 158 JCXZ---->jump when CX is zero CX為零時轉移 159 JECXZ---->jump when ECX is zero ECX為零時轉移 160 4>中斷指令 161 INT---->interrupt ECX為零時轉移 162 INTO---->overflow interrupt 溢出中斷 163 IRET---->interrupt return 中斷返回 164 5>處理器控制指令 165 HLT---->halt 處理器暫停,直到出現中斷或復位信號才繼續 166 WAIT---->wait 當芯片引線TEST為高電平時使CPU進入等待狀態 167 ESC---->escape 轉換到外處理器 168 LOCK---->lock 封鎖總線 169 NOP---->no operation 空操作 170 STC---->set carry 置進位標識位 171 CLC---->clear carry 清進位標識位 172 CMC---->carry make change 進位標識取反 173 STD---->set direction 置方向標識位 174 CLD---->clear direction 清方向標識位 175 STI---->set interrupt 置中斷允許位 176 CLI---->clear interrupt 清中斷允許位 177 六、偽指令 178 DW---->definw word 定義字(2字節) 179 PROC---->procedure 定義過程 180 ENDP---->end of procedure 過程結束 181 SEGMENT---->segment 定義段 182 ASSUME---->assume 建立段寄存器尋址 183 ENDS---->end segment 段結束 184 END---->end 程序結束

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM