汇编/C
ontheroad530
这个作者很懒,什么都没留下…
展开
-
函数调用过程探究
引言如何定义函数、调用函数,是每个程序员学习编程的入门课。调用函数(caller)向被调函数(callee)传入参数,被调函数返回结果,看似简单的过程,其实CPU和系统内核在背后做了很多工作。下面我们通过反汇编工具,来看函数调用的底层实现。 基础知识我们先来看几个概念,这有助于理解后面反汇编的输出结果。栈(stack)栈,相信大家都十分熟悉,push/pop,只允许在一端进转载 2015-12-30 23:56:15 · 435 阅读 · 0 评论 -
内嵌汇编 %0,%1 是什么
使用内嵌汇编,要先编写汇编指令模板,然后将C语言表达式与指令的操作数相关联,并告诉GCC对这些操作有哪些限制条件。例如在下面的汇编语句:__asm__ __violate__("movl %1,%0" : "=r" (result) : "m" (input));“movl %1,%0”是指令模板;“%0”和“%1”代表指令的操作数,称为占位符,内嵌汇编靠它们将C语言表达转载 2016-01-01 22:20:01 · 8533 阅读 · 0 评论