如下图所示:目前在地址为0x08001500的RAM区域是有代码的,属于函数为Fun_test()。
通过执行如下图代码直接跳转到0x08001500可以正常执行Fun_test()里面的代码,但是如果直接跳到0x08001501地址处也能跳到Fun_test()函数里面,但是再次单步执行PC指针会跳到没有代码的空地址去,从而导致程序跑飞,这是为什么呢?
我又测试了其他几个地址,都是偶数地址可以,奇数地址就会跑飞,谁能解释一下?
PS:如何检查将要跳转的地址是合理的,程序需要怎么判断呢?
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
如下图所示:目前在地址为0x08001500的RAM区域是有代码的,属于函数为Fun_test()。
通过执行如下图代码直接跳转到0x08001500可以正常执行Fun_test()里面的代码,但是如果直接跳到0x08001501地址处也能跳到Fun_test()函数里面,但是再次单步执行PC指针会跳到没有代码的空地址去,从而导致程序跑飞,这是为什么呢?
我又测试了其他几个地址,都是偶数地址可以,奇数地址就会跑飞,谁能解释一下?
PS:如何检查将要跳转的地址是合理的,程序需要怎么判断呢?