汇编常用指令(持续更新)
[*]and dest,src将目标与源做与操作
[*]or dest,src将目标与源做或操作
[*]add 加得数的值超出范围即会溢出
[*]inc 汇编语言中的自增指令,相当于++
[*]div指令
[*]不会给出被除数
[*]切记提前在默认的寄存器中设置好被除数,且默认寄存器不做别的用处
[*]dup设置内存空间,与db、dw、dd等数据定义伪指令配合使用,进行数据的重复
[*]nop的机器码占一个字节,器占位作用,为空
[*]jmp指令——无条件转移
[*]可以只修改IP,也可以同时修改CS和IP
[*]需给出信息
[*]转移的目的地址
[*]转移的距离
[*]短转移 jmp short 标号
[*]功能:(ip)=(ip)+八位位移
[*]原理
[*]注意位移的范围,避免转移位移超界
[*]近转移 jmp near ptr 标号
[*]相比于短转移仅是将八位位移转变为16位位移
[*]指明了相对于当前IP的转移位移
[*]远转移 jmp far ptr 标号
[*]指明了跳转到的目的地址,即包含了标号的段地址cs和偏移地址IP
[*]jmp 16位寄存器
[*]IP =(16位寄存器)
[*]转移地址在内存中的jmp指令
[*]jcxz 有条件转移指令(短转移)
[*]jcxz 标号(包含转移的位移)
[*](cx)= 0,则转移到标号处执行
[*](cx)!=0,什么都不做
[*]loop循环
[*]CX存放循环次数
[*]call指令和ret指令
[*]call 标号
[*]可以跳转到指定的位置,相当于C语言中的go语句
[*]调用子程序https://api2.mubu.com/v3/document_image/8ae1cbb8-c950-47b0-ad31-2351d378d9d6-23571506.jpg
[*]call far ptr 标号
[*]实现段间转移
[*]操作
[*]call 16位寄存器
[*]call word ptr 内存单元地址
[*]call dword ptr 内存单元地址
[*]高地址放段地址,低地址放偏移地址
[*]ret指令
[*]与call指令相结合,在call跳转到指定位置执行语句后,加上ret即会返回到call指令的下一条语句
[*]相当于pop IP
[*]也可单独使用
[*]retf:用栈中数据修改CS和IP的内容
[*]相当于pop IPpop CS
[*]mul 指令做乘法
[*]被乘数同样默认存放
[*]格式
[*]mul 寄存器
[*]mul 内存单元
[*]乘法指令https://api2.mubu.com/v3/document_image/7a8dd765-312e-458a-8372-30496b118a45-23571506.jpg
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页:
[1]