Assembly
jjiss318
坚持勤奋
展开
-
C函数调用机制及栈帧指针
在Linux内核程序boot/head.s执行完基本初始化操作之后,就会跳转去执行init/main.c程序。那么head.s程序是如何把执行控制转交给init/main.c程序的呢?即汇编程序是如何调用执行C语言程序的?这里我们首先描述一下C函数的调用机制、控制权传递方式,然后说明head.s程序跳转到C程序的方法。函数调用操作包括从一块代码到另一块代码之间的双向数据传递和执行控制转移。数据转载 2012-01-08 21:17:24 · 11744 阅读 · 3 评论 -
调用约定
原文:http://hi.baidu.com/xuqipi/blog/item/21df2a0e4c7d2ec97acbe1f4.html在C语言中,假设我们有这样的一个函数:int function(int a,int b)调用时只要用result = function(1,2)这样的方式就可以使用这个函数。但是,当高级语言被编译成计算机可以识别的机器码时,有一个问题就凸现出来:转载 2012-06-22 09:33:41 · 893 阅读 · 0 评论 -
收集点关于FS寄存器的资料
原文:http://blog.csdn.net/xbin8/article/details/2158762FS寄存器指向当前活动线程的TEB结构(线程结构)偏移 说明000 指向SEH链指针004 线程堆栈顶部008 线程堆栈底部00C SubSystemTib010 FiberData014 ArbitraryUserPointer018转载 2012-06-22 09:49:45 · 689 阅读 · 0 评论 -
深入探索Win32结构化异常处理
原文:http://blog.csdn.net/diamont/article/details/4259590Matt Pietrek 著董岩 译在Win32操作系统提供的所有功能中,使用最广泛而又没有公开的恐怕要数结构化异常处理( Structured Exception Handling ,SEH ) 了。当你考虑Win32结构化异常处理时,也许会想到__try转载 2012-06-22 14:42:46 · 1719 阅读 · 0 评论