考虑到我在汇编语言方面的第一门课程,我在调试过程中遇到了隐晦的错误消息......我承认以下信息不足以找出问题的原因(给定我对汇编语言ColdFire(MCF5307,M68K系列)的理解有限,但我很乐意接受任何建议。装配中的地址错误(ColdFire MCF5307)
...
JSR out_string
地址错误(格式0×04矢量×03故障状态为0x1状态REG 0x2700)
我发现了一个类似的问题上http://forums.freescale.com/freescale/board/message?board.id=CFCOMM&thread.id=271,关于上的地址一般错误。
该问题的答案指出,地址错误是因为代码“不正确”尝试在非对齐的边界上执行(或访问非对齐的内存)。
所以我的问题是:
是什么意思为“不正确”试图执行一个非对齐边界/内存?如果有例子,这将有很大帮助
什么是不对齐的边界/内存?
你如何接近你有一点的调试技术解决这个问题,假设(例如使用断点和跟踪)
如果是十六进制out_string的地址,那么这是一个奇怪的地址,最后1是绝对奇怪的。与其他人提到的一样,您需要在out_string符号前面的.align。 – 2009-11-20 23:53:23
非常感谢您的留言;我解决了这个问题 – 2009-11-21 00:22:00