第6章补充1-C语言和汇编语言的混合编程精要.ppt

第6章补充1-C语言和汇编语言的混合编程精要.ppt

第6章补充1-C语言和汇编语言的混合编程精要

C语言和汇编语言的混合编程 以TMS320C2x/C2xx/C5x的C编译器为例 1 C语言的存储器模型 2 C语言的寄存器规则 3 C语言的函数调用规则 4 C与汇编语言的接口 C语言和汇编语言的混合编程?C语言的存储器模型 1 C语言的存储器模型 C编译器产生的段 C语言和汇编语言的混合编程?C语言的存储器模型 C系统堆栈(软件堆栈) 堆栈的作用 分配局部变量 向函数传递参数 保存函数的返回地址 保存处理器的状态 保存寄存器 保存暂时结果 堆栈的大小 默认大小为 1k字,链接时可用-stack size改变大小 编译器、链接器没有提供检查堆栈溢出的方法,堆栈溢出会破环运行环境,导致程序失败,因此,要确保有足够大的空间用于堆栈的扩展 堆栈的管理 堆栈从低地址向高地址增长 AR1:堆栈指针(SP),SP指针指向堆栈的下一个可访问单元 AR0:结构(frame)指针(FP),指向当前结构的开始处,函数调用时,函数的局部变量会在栈顶创建一个新的frame C语言和汇编语言的混合编程?C语言的存储器模型 动态存储空间(.system段) 用于运行时为变量动态分配存储器,malloc、calloc、realloc、free 总是采用间接寻址来访问,即用指针来访问 默认大小为1k字 链接时可用-heap size改变大小 C语言和汇编语言的混合编程?C语言的寄存器规则

文档评论(0)

1亿VIP精品文档

相关文档