论文首页哲学论文经济论文法学论文教育论文文学论文历史论文理学论文工学论文医学论文管理论文艺术论文 |
(1)建立堆栈并初始化堆栈指针;
(2)初始化全局变量;
(3)运行主函数。
3.2 初始化变量
在程序运行前,全局变量必须初始化。编译器建立了.cinit段用来初始化全局变量和静态变量。
3.2.1 .cinit段
在.cinit段内有不同长度的初始化记录,每一个必须初始化的变量在.cinit段内都有一个对应的记录。如图3。
每个记录包含三部分:需要被初始化的变量的长度、变量的地址和变量初始值。
3.2.2 运行时初始化变量
若在连接器中使用-c选项,则在程序开始运行时,函数c_int00初始化变量。具体过程如下:仿真器加载程序时,根据.cmd文件的定位,将.cinit段拷贝到C6202的程序存储区或数据存储区,并且用指针指向加载后的初始