考慮到我在彙編語言方面的第一門課程,我在調試過程中遇到了隱晦的錯誤消息......我承認以下信息不足以找出問題的原因(給定我對彙編語言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