汇编
alex_mist
coding....
展开
-
系统调用和普通函数中参数的调用方式
普通函数的调用,参数的传递是通过压入栈的方式实现; 汇编指令CALL之后,会入栈下一条指令的地址eip,要是要传递参数或是保护一些关键的上下文信息,需要顺序入栈相应的寄存器的值; 再使用ebp来从栈中取出要用的参数,或是用pop来出栈参数 系统调用int 0x80是去系统的中断向量表找到第0x80h位置,然后根据eax的值来确定是第几号系统调用功能,这里的参数是通过寄存器来传递的; 为什么这里用寄...原创 2020-04-07 18:40:13 · 451 阅读 · 0 评论 -
Gcc汇编inline
int a=10, b; asm ("movl %1, %%eax; movl %%eax, %0;" :"=r"(b) /* output */ :"r"(a) /* input */ :"%eax" /* clobbered register */ ); Here what we ...原创 2020-03-23 11:27:07 · 145 阅读 · 0 评论