软件陷阱

2019-07-26 20:24发布

为提高单片机抗干扰能力,我要在C语言中嵌入汇编语言的软件陷阱,我用的是MSP430F6436的,其程序存储区起始地址是08000H,我是这么写在未使用的中断服务程序中的,但编译提示错误Error[Og010]: Inline assembler instruction does not have a unique size: "        JMP 0X08000"      不知是什么原因?求教高手。
源程序部分如下:
#pragma vector=TIMERA0_VECTOR                                                           
__interrupt void Timer_A(void)               
{
  asm("NOP");
  asm("NOP");
  asm("JMP 0X0C000");                    
}
上面是第一个问题
第二个问题:在IAR中写的程序,仿真时候看到程序存储器里面不是按照IAR的程序顺序存储的,是什么原因?是不是因为IAR编译器优化的原因呢?
希望各位大神多多指教。不胜感激!!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
dirtwillfly
1楼-- · 2019-07-26 21:52
 精彩回答 2  元偷偷看……
dirtwillfly
2楼-- · 2019-07-27 00:05
iar会自动对变量的存储和使用进行优化的,你也可以根据需要存储到指定存储空间
米尔豪斯
3楼-- · 2019-07-27 03:50
IAR好像可以选择从哪里进入程序,比如从main,事实是跳过了前面的一部分

一周热门 更多>