自己写了个小程序,
仿真时将IAR里RUN TO main 点掉,将执行真实的执行过程,打开disassembly窗口就可看到
程序将从启动代码__program_start处执行,因为0xfffe复位向量就是指向这个地址,但不是程序存储器ROM起始地址0X1100(我用的是F149,代码存储器起始地址为0x1100)
在_program_start之前还有一点小的代码如下
001100 0001 mova @PC,SP
001102 88 DC8 ADC12MCTL8
001103 13 DC8 19
有那位前辈指导这段代码的意思,请不吝赐教,万分感谢
[
本帖最后由 xinbako 于 2012-3-19 11:15 编辑 ]
此帖出自
小平头技术问答
__program_start之前的这段代码是什么意思呢,仿真的时候好像没有执行,直接跳到__program_start的起始地址
430里中断向量表的第一句 既是转向__program_start的地址,至于这个地址在哪是汇编器决定的,
而且在__program_start之后还有很多调用函数,如对内存初始化的子函数,这些函数的存地址放都是编译器决定的,上面那段代码可能是执行某一功能了,只是汇编器把它放在了最前边
一周热门 更多>