导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→为什么我的程序在dvss开发系统里单步执行,跟连续执行结果不[guest]

 *第15559篇: 为什么我的程序在dvss开发系统里单步执行,跟连续执行结果不一样

  
楼 主:guest 2003年8月16日22:37
 为什么我的程序在dvss开发系统里单步执行,跟连续执行结果不一样
8032,是在子程序里,lcall调用,没用到中断,以及与时间有关的调用。
    搞了一下午,问别人说是堆栈有错,可是单步执行难道堆栈会改变吗?
请高手指点一下,非常感谢
  
2楼:guest 2003年8月17日10:12
 打错了是dvcc
大家帮忙看一下啊
子程序:
jjj:   lcall fmul
      lcall ftob
      ret
为什么(1)断点设在第一或第二行,再f8单步执行到ret
  跟(2)断点设在第三行ret行直接执行到ret行
  得到的结果不同
  
3楼:红心J 2003年8月17日13:30
 如果所编的程序是严谨的,就不会出现这样的
如果所编的程序是严谨的,就不会出现这样的问题。
  
4楼:guest 2003年8月17日10:43
 大家帮帮我啊,5555
  
5楼:simonsun 2003年8月17日14:16
 我想可能是因为开发系统在将机器吗翻译成指
我想可能是因为开发系统在将机器吗翻译成指令时不唯一造成的.你可以这样做一定不会有问题:
   JJJJ: NOP
          NOP
          LCALL ....
          NOP
          NOP
          LCALL ...
          NOP
          NOP
          RET
  通过插入NOP 指令使得这种转换变为唯一.
 如果还有问题,请发E-MAIL : iamsunxiujun@hotmail.com

>>>>>>对该主题发表你的看法

本主题贴数5,分页: [第1页]


[上一篇主题]:如果你正在学习LED点阵屏的话

[下一篇主题]:[求助]