当前位置:首页 > 常用基本汇编指令汇总
常用基本汇编指令汇总(L~X)
标签: 常用 汇编 指令 汇总 分类: 学习手记 2009-08-11 19:57
本汇总主要供个人学习使用,如果大家觉得方便自己学习尽可以拿去用,为了查阅方便,本表格按照字母顺序排序,若有错误之处希望大家予以指出!谢谢!
说明:SRC和DST分别表示源操作数和目的操作数,ACC表示AL/AX/EAX寄存器,PORT表示I/O端口,TEMP表示临时存储单元。REG、MEM和IMM分别表示寄存器、存储器和立即数
指令格式 LAHF
LDS REG,SRC LEA REG,SRC LES REG,SRC LFS REG,SRC LGS REG,SRC LOCK LODS LOOP DST
LOOPNZ/LOOPNE DST LOOPZ/LOOPE DST LSS REG,SRC MOV DST,SRC MOVS
MOVSX DST,SRC MOVZX DST,SRC MUL SRC NEG DST NOP NOT DST OR DST,SRC OUT PORT,ACC OUTS POP DST POPA/POPAD POPF
作用说明
(AH)←(FLAGS低字节)
(REG)←(SRC),(DS)←(SRC+2或4) (REG)←SRC
(REG)←(SRC),(ES)←(SRC+2或4) (REG)←(SRC),(FS)←(SRC+2或4) (REG)←(SRC),(GS)←(SRC+2或4)
封锁指令,可作为其他指令的前缀联合使用,以保持总线的封锁信号 将DS:SI/ESI指向的数据串元素取到ACC中(允许带位标识后缀) (CX/ECX)-1≠0,则循环
(CX/ECX)-1≠0且ZF=0,则循环 (CX/ECX)-1≠0且ZF=1,则循环 (REG)←(SRC),(SS)←(SRC+2或4) (DST)←(SRC)
DS:SI/ESI指向的数据串传送到ES:DI/EDI指向的内存区(允许带位标识后缀) (DST)←符号扩展(SRC) (DST)←零扩展(SRC)
(AX)或(DX,AX)或(EDX,EAX)←(ACC)*(SRC),无符号 (DST)←0-(DST),取操作的补码 空操作,使指令指针加1 (DST)←(DST)取反 (DST)←(DST)∪(SRC) (PORT)←(ACC)
将DS:SI/ESI指向的数据串传送到DX指示的端口中去(允许带位标识后缀) (DST)←(SP或ESP),(SP或ESP)←(SP或ESP)+2或4 8个16/32位通用寄存器数据依次出栈 FLAGS出栈
POPFD PUSH SRC PUSHA/PUSHAD PUSHF PUSHFD RCL DST,SRC RCR DST,SRC REP REPE/REPZ REPNE/REPNZ RET n
ROL DST,SRC ROR DST,SRC SAHF
SAL DST,SRC SAR DST,SRC SBB DST,SRC SCAS SETcc DST SHL DST,SRC SHLD DST,REG,SRC SHR DST,SRC SHRD DST,REG,SRCSTC STD STI STOS
SUB DST,SRC TEST WAIT
XADD DST,SRC XCHG DST,SRC XLAT tran_tab XOR
FLAGS出栈
(SP或ESP)←(SP或ESP)-2或4,(SP或ESP)←(SRC) 8个16/32位通用寄存器数据依次进栈 FLAGS进栈 FLAGS进栈
带进位循环左移,CF作为操作数的扩展,一起参加循环移位 带进位循环右移,CF作为操作数的扩展,一起参加循环移位 (CX/ECX)≠0,重复执行后续串指令,CX/ECX的数据减1
(CX/ECX)≠0且ZF=1,重复执行后续串指令,CX/ECX的数据减1 (CX/ECX)≠0且ZF=0,重复执行后续串指令,CX/ECX的数据减1 子程序返回主程序,(SP/ESP)←(SP/ESP)+n
循环左移,移出的位送到操作数的另一端,CF不参加循环移位 循环右移,移出的位送到操作数的另一端,CF不参加循环移位 (FLAGS低字节)←(AH)
算术左移,操作与SHL相同,但符号为发生变化时,OF置1 算术右移,操作与SHR类似,但每次移位通过复制保持符号位不变 (DST)←(DST)-(SRC)-CF
用ACC中的关键字扫描ES:DI/EDI指向的目标串,若相同,则ZF=1(允许带位标识后缀) 测试指定的标志位所处的状态,根据测试结果将指定的一个8位寄存器或存储单元置0或置1 逻辑左移,SRC决定移位的次数,最高位进入标志位CF,最低位补0 双精度左移
逻辑右移,操作与SHL类似,不同的只是移位方向相反 双精度右移 进位标志置1 方向标志置1 中断允许标志置1
将ACC中的内容存入ES:DI/EDI指向的内存单元中(允许带位标识后缀) (DST)←(DST)-(SRC) (DST)∩(SRC)
是处理器处于空转状态,定期检查TEST信号是否为高电平 TEMP←(DST)+(SRC),(SRC)←(DST),(DST)←TEMP (DST)←→(SRC)
(AL)←((BX或EBX)+(AL)) (DST)←(DST)?(SRC)
共分享92篇相关文档