Win32汇编基础
来源:互联网 发布:阿里云手机root 编辑:程序博客网 时间:2024/05/22 08:27
常用指令
mov 目标操作数,源操作数
mov eax,0x0
进行数据传递
movzx
mov zero x 以0填充高位,用法同上,
push
pop
pushad
所有寄存器压栈(8个)
popad
所有寄存器出栈(8个)
lea
取地址指令,类似C语言中的&
call
调用函数指令
add + 加
sub - 减指令
mul * 乘法
div / 除法
inc a++
dec a–
and & 与
xor ^ 异或
or | 或
not ~ 非
shl << 逻辑左移
shr >> 逻辑右移
cmp eax,ebx
比较eax与ebx,
常与je,jne,jz,jnz,jge,jle 连用
je
如果cmp相等,就跳转
jne
如果cmp不等,则跳转
_stdcall
_cdecl
函数调用,需要将参数依次入栈,
以上两种函数 调用是从右向左压栈
函数执行完毕返回后,需要清除压入栈的参数,
stdcall是由被调用的函数清除参数占用的空间
即执行retn n 返回,并清除n个字节的空间
但此方式需要知道函数的参数数目,为了解决不定参数的函数的调用问题(如printf)
产生了cdcel调用,cdecl是由主调函数来清除被调函数的参数,即 add esp n
因为主调函数是清楚有几个参数的,
在windows程序中使用控制台
if(0!=AttachConsole(-1))//附加到一个控制台
{
freopen(“conin
freopen(“conerr$”,”w+t”,stderr);
}
- WIN32汇编基础
- WIN32汇编基础
- WIN32汇编基础
- WIN32汇编基础
- WIN32汇编基础
- WIN32汇编基础
- Win32汇编基础
- WIN32汇编基础
- win32 汇编基础
- win32 汇编基础
- WIN32汇编基础
- Win32汇编基础
- Win32汇编基础
- win32汇编基础学习一
- Win32汇编教程之一:Win32汇编的环境和基础
- Win32汇编的环境和基础
- Win32汇编学习笔记之基础篇
- Win32 汇编
- Python doc
- 坎坷的docker安装之路
- 自主创业项目推荐
- Android沉浸式状态栏与EditText问题【沉浸式状态栏实现及遇到的坑】
- Google和必应都无法替代的10大深网搜索引擎
- Win32汇编基础
- 硬链接与软链接
- 夜神模拟器连接Android studio
- 通讯录(sqlite3 version)
- 【数据结构】旅游景点咨询系统的设计与实现(图,DFS,迪杰斯特拉算法)
- MDK中SWD模式的设置
- WebView的基类
- struts2 action跳转指向action
- 如何判断你是否有自主创业的条件