首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 单片机 >

keil软件运行报错,error 65: access violation…解决方法

2012-03-02 
keil软件运行报错,error 65: access violation……新学keil,程序是很简单的:ORG 0000HCLR CMOV A, R4ADD A,

keil软件运行报错,error 65: access violation……
新学keil,程序是很简单的:
ORG 0000H
CLR C
MOV A, R4
ADD A, R6 ;R4+R6
MOV 22H, A
MOV A, R3
ADDC A, R5
MOV 21H, A
CLR A 
ADDC A, #0
MOV 20H, A
END
编译没问题,但运行有错:“*** error 65: access violation at C:0x000E : no 'execute/read' permission”
我看0x000E是程序执行完后的一行,它上面一行是:“C:0x000C F520 MOV 0x20,A”
什么道理啊?我在网上搜来搜去还是搞不清楚。谢谢告诉我吧。


[解决办法]
这是程序非法退出,所以不要让程序退出,在end前加一个死循环。jmp $;
[解决办法]
如果是某种产品中用的程序,在RESET后程序必须进入一个无限循环.

如果只是要测试某程序段,那后面的就可以不管了.
[解决办法]

探讨
谢谢schlafenhamster!
可是程序为什么会非法退出呢?难道以后我每次编程序都要在end前加个死循环?别人都这么做吗?

[解决办法]
end只是代表终止汇编,而单片机程序rom中接下来的缺省单元数据可能会被执行吧
[解决办法]
单版机一般没有操作系统,所以程序是一直执行的,一般进入main就是个死循环,在循环里调用不同的函数做事,没电了就不运行了,有电一般一直运行下去。

热点排行