共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网站征稿正在进行时,欢迎踊跃投稿啦 | |
奖!发布技术笔记,技术评测贴换取您心仪的礼品 | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
与电子爱好者谈读图四被打赏50分 | |
与电子爱好者谈读图二被打赏50分 | |
【FRDM-MCXN947评测】Core1适配运行FreeRtos被打赏50分 | |
【FRDM-MCXN947评测】双核调试被打赏50分 | |
【CPKCORRA8D1B评测】---移植CoreMark被打赏50分 | |
【CPKCORRA8D1B评测】---打开硬件定时器被打赏50分 | |
【FRDM-MCXA156评测】4、CAN loopback模式测试被打赏50分 | |
【CPKcorRA8D1评测】--搭建初始环境被打赏50分 | |
【FRDM-MCXA156评测】3、使用FlexIO模拟UART被打赏50分 | |
【FRDM-MCXA156评测】2、rt-thread MCXA156 BSP制作被打赏50分 |