2012-04-24 128 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