2012-04-24 116 views
0

我是新裝配。我正在使用HCS12和AsmIDE軟件。在我彙編和下載程序後,我運行'g $ 1500'(其中$ 1500可以是任何其他地址)。然後在終端上沒有任何更新,我什麼都不能輸入。它似乎陷入了無限循環。HCS12 - 程序陷入無限循環

還有一次,我的程序跑完了一次。我去了一個不同的程序,而且卡住了。所以,我回到了第一個完美工作的程序,現在它也不會運行。

任何人都知道如何解決這個問題?節目的

例子:

 org $1500 

     ldx #5 

     end 

回答

0

你沒有正確地退出程序。它執行ldx指令,然後繼續執行程序在內存中發生的任何事情。在end之前用rts結束例程,看看它是否按預期工作。

+0

當我添加'rts'時,沒有任何改變。 'Rts'應該是用於子程序,但是我的代碼不包含那個。對?無論如何,問題改變了。我檢查了微控制器的內存,並且我的程序都沒有下載到它。它裝載一次,現在納達。這可能就是爲什麼它不能正常退出。我不知道下一步該怎麼做。我做適當的程序:彙編 - >重置 - >加載 - >下載,沒有任何東西被下載到內存中。 – 2012-04-26 21:30:07

+0

從環境/ OS的角度來看,你的程序*是一個子程序。如果您沒有任何明確退出程序的特殊手段,那麼rts就是要走的路。 – 2012-04-27 03:40:51

+0

如果你的代碼甚至不會在內存中結束,當然這是行不通的。恐怕我無法幫助你轉移。這是功課嗎?那麼你應該有一位老師問。 – 2012-04-27 03:44:13