阅读:1125回复:7
高手帮我看一下这个程序
我的程序中有一个循环,
mov a,0 mov [mem_f1],a loopm: ...... ...... ...... ...... mov a,[mem_f1] cmp a,num con: jc loopm next: clr c 我把断点设在next处,当num是2e时可以到断点处,但num是2f时则不能执行到断点处,一直在循环。 我把断点也设在con处时,则不管num是什么值,手动执行循环num次后,可以执行到next处。 请问这是什么原因?谢谢 |
|
沙发#
发布于:2004-03-12 14:35
你的loop代码中是否对a或[mem_f1]进行了什么修改?
|
|
|
板凳#
发布于:2004-03-12 14:39
我看了,没有修改,并且我把断点设在next处,手动执行没有问题
|
|
地板#
发布于:2004-03-12 15:20
那么循环中修改什么呢? mem_f1吗?
还是说: [mem_f1]是一个IO映射? 它会自己改变? 否则你的代码就令人费解了! 如果是IO映射,则仿真器的设置要设为仿真用户外部空间。 |
|
|
地下室#
发布于:2004-03-12 15:30
[mem_f1]循环一次加1
|
|
5楼#
发布于:2004-03-12 16:05
那就对了呀!
[mem_f1]的初始值是0,每次加1,当然要循环num次退出了。 奇怪吗? |
|
|
6楼#
发布于:2004-03-12 16:10
麻烦把问题看清楚了。谢谢!
|
|
7楼#
发布于:2004-03-12 17:09
Sorry!
那多数是仿真器对于RAM的使用问题了。如果你的循环体里面的代码没问题的话,就是仿真器的问题。 |
|
|