| 408007691 |
2010-09-13 19:22 |
汇编语言指令集
1.算术运算符 LR\zy8y] ADC:带进位加法 ]Wy.R6 ADD:二进制数加法 qvTJ>FILT DEC:减一 x3;jWg~' DIV:无符号数除法 ^;64!BaK IDIV:带符号数(整数)除法 l4Y1( IMUL:带符号数(整数)乘法 Y^5"qd|` INC:加一 M8Juykw MUL:无符号书乘法 ?'f^X$aS NEG:求补 /h-6CR
Ka SBB:带借位减法 D1!
{S7 SUB:二进制减法 1g81S_T
. XADD:交换并相加 Q;@X2JSp .$^wy3:F" 2.ASCII-BCD转换 {]@Qu" M AAA:加后ASCII调整 .m!s". ?[ AAD:除前ASCII调整 r?afv.@L2 AAM:乘后ASCII调整 (NM6micc AAC:减后ASCII调整 R
^^1/% DAA:加后十进制调整 Vs|sw DAS:减后十进制调整 s+N^PX3 tgfM:kzw 3.移位 iBS0rT_ RCL:带进位循环左移 RSFJu\0}N RCR:带进位循环右移 s79q5 ROL:循环左移 Q~h6J* ROR:循环右移 excrXx SAL:算术左移 F*X%N_n SAR:算术右移 ?.~]mvOR SHL:逻辑左移 w@2~`<Hk'" SHR:逻辑右移 CHg]U l SHLD:双精度左移 9g4QVo| SHRD:双精度右移 UMv"7~ *se u& 4.比较 Ef-a4Pi BSF/BSR:位扫描 ?{n>EvLY BT/BTC/BR/BB:位测试 2!{N[*) CMP:比较 CR.bMF} CMPSN:串比较 y
'mlee CMPXCHG:比较交换 Gk{W:866 CMPXCHG8B:比较并换?lt;br>TEST:测试位 ]|;7R^o3| *|sxa# 5.数据传送 yI lV[_ LDS:装如数据段寄存器 v'K
% %z LEA:装入有效地址 G~O" / WM
LES:装入附加段寄存器 \!m!ibr LODS:从串取 sb`&bA;i LSS:装入堆栈段寄存器 }]tFz}E\ MOV:传送数据 N*HH,m& MOVS:串传送 _qEWu Do MOVSX:带符号扩展传送 AmgWj/> MOVZX:带零扩展传送 'G52<sF STOS:存入串 VVgsLQd XCHG:交换 zLo;.X[Y XLAT:换码 FBYll[8 OA!R5sOz" 6.标志操作 <r0.ppgY CLC:清除位标志 n#)PvV~ CLD:清除方向标志 7:# CLI:清除中断标志 _`slkwP. CMC:进位标志求反 ;gdi=>S_ LAHF:标志送AH (21']x POPF:标志出栈 ,9F*96 PUSHF:标志进栈 _r~!O$2 SAHF:AH送标志寄存器 id3)6} STC:进位标志置1 s bs[=LW4 CTD:方向标志置1 #_on{I STI:中断标志置1 &zO3qt6 4 0p3Rv 7.输入/输出 };i&a%I| IN:输入字节或字 MJy;GzJ O INSN:串输入 mu 2
A% "7 OUT:输出字节或字 j!6elzg OUTSN:穿输出 nMTLD bcUC4g\9N 8.逻辑操作 ,LoMt ]H AND:逻辑与 |if~i;VKL NOT:逻辑非 B>{|'z?%> OR:逻辑或 ?s1u#'aO XOR:异或 pk;ff q@ f37ji 9.循环 ,Le&I9*% LOOP:循环直到完成 <jpe u^7 LOOPE:相等时循环 x-w`KFS LOOPZ:为零是循环 R.91v4J LOOPNE:不相等时循环 JZWgr&O< LOOPPNZ:不为零是循环 [q|?f?Zl LOOPPNEW:不相等时循环 |\i:LG1 LOOPNZW:不为零时循环 TS\9<L9S (~q#\ 10.处理器控制 - 3C* P
HLT:进入暂停状态 Y1#-^,qg LOCK:封锁总线 UOn! Y@ NOP:无操作 (45NZBs WAIT:置处理器于等待状态 NFrNm'v N$N;Sw 11.堆栈操作 NvQY7C ENTER:建立堆栈帧 ,k4z; LEAVE:结束堆栈帧 )?!vJb" POP:字出栈 #]5&mKi POPF:标志出栈 04I6-}6 POPA:所有通用寄存器出栈 &>&dhdTQ PUSH:字进栈 +^/Nil PUSHA:所有通用积存器进栈 ~C}(\8g PUSHF:标志进栈 4RK.Il*d uAW*5 `[ 12.串操作
1m&!l6Jk CMPS:串比较 DQ}_9?3
LODS:从串取 dH
^b)G4 MOVS:串传送 }9L 40)8 REP:串重复 V-?sek{; REPE:相等时重复 J0IdFFZ|w REPZ:为零时重复 OVDMC4K2z! REPNE:不相等时重复 EpFIKV! REPNZ:不为零时重复 t!J";l SCAS:串扫描 & | |