共2条
1/1 1 跳转至页
IAR,10 IAR 2.10版本的编译器对汇编编译产生头代码的问题
问
?cstart_begin:
00E000 31400003 mov.w #0x300,SP
?cstart_call_main:
00E004 B01212E0 call #RESET
00E008 B0129CE9 call #exit
_exit:
00E00C 304010E0 br #0xE010
?C_EXIT:
?cstart_end:
__exit:
00E010 FF3F jmp ?C_EXIT
RESET MOV #300H,SP
RESET:
main:
00E012 31400003 mov.w #0x300,SP
可以看出CODE开始处被加入了一定量的代码,而这些代码没有实际作用。不仅浪费空间而且在某些应用中,如果此部分空间用作数据区,会造成意想不到的问题。
另外编译器加入上述代码后,对直接地址的指令操作,会产生寻址位置的偏移。
这是BUG吗?画蛇添足,看起来更象恶意的代码!不知有何办法解决?
使代码正常从CODE处开始。
00E000 31400003 mov.w #0x300,SP
?cstart_call_main:
00E004 B01212E0 call #RESET
00E008 B0129CE9 call #exit
_exit:
00E00C 304010E0 br #0xE010
?C_EXIT:
?cstart_end:
__exit:
00E010 FF3F jmp ?C_EXIT
RESET MOV #300H,SP
RESET:
main:
00E012 31400003 mov.w #0x300,SP
可以看出CODE开始处被加入了一定量的代码,而这些代码没有实际作用。不仅浪费空间而且在某些应用中,如果此部分空间用作数据区,会造成意想不到的问题。
另外编译器加入上述代码后,对直接地址的指令操作,会产生寻址位置的偏移。
这是BUG吗?画蛇添足,看起来更象恶意的代码!不知有何办法解决?
使代码正常从CODE处开始。
共2条
1/1 1 跳转至页
回复
有奖活动 | |
---|---|
【有奖活动】分享技术经验,兑换京东卡 | |
话不多说,快进群! | |
请大声喊出:我要开发板! | |
【有奖活动】EEPW网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |