打印

怎么过一段时间就复位

[复制链接]
3545|35
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jack.king|  楼主 | 2007-6-27 22:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
来自 2楼
maychang| | 2007-6-28 11:16 | 只看该作者

不是中断里面才压栈和出栈,只要你的程序需要用,就有压栈和出栈

使用特权

评论回复
板凳
conwh| | 2007-6-27 22:58 | 只看该作者

与堆栈有没有关系

使用特权

评论回复
地板
jack.king|  楼主 | 2007-6-28 00:12 | 只看该作者

继续请教

      开始程序的地址开始为50H
        堆栈设为43H
   程序如下: ORG 0000H
              AJMP   MAIN
         ORG 000BH
        AJMP   CLOCK
        ORG 0050H
MAIN:        MOV SP,#43H
    对了我想问下,设堆栈有什么原则吗?

使用特权

评论回复
5
HotPower| | 2007-6-28 00:40 | 只看该作者

汇编管理SP是你最大的义务和责任~~~否则,后果自负~~~

使用特权

评论回复
6
tyw| | 2007-6-28 06:54 | 只看该作者

回3L

程序嵌套勿宜过深,内存够用前提下,堆栈可尽量大些
内存紧张,则检查程序嵌套了几层(别漏了中断占用的堆栈),放点余量.再不够,只好缩减子程序调用深度.
不过堆栈溢出,仿真器会出错报告的.
你还是得检查程序,看看有什么情况会让程序回到头的.
硬件方面可检查电源,在执行动作时有什么变化,用示波器监示cpu供电及复位端

使用特权

评论回复
7
gyt| | 2007-6-28 07:13 | 只看该作者

调用层次不要太多

使用特权

评论回复
8
jack.king|  楼主 | 2007-6-28 08:14 | 只看该作者

继续请教

      
        谢谢你们让我加深了堆栈的理解!但是动作要一直做下去.它不得不一直调用啊!有什么方法能解决这个问题不?

使用特权

评论回复
9
5880527| | 2007-6-28 09:37 | 只看该作者

咋会有个43H?

怎么会把堆栈设在中间呀,我习惯把堆栈设置到80H以上

使用特权

评论回复
10
jack.king|  楼主 | 2007-6-28 09:39 | 只看该作者

re:咋会有个43H?

请问堆栈的设置是要考虑什么些东西啊?
      为什么不能设置到中间呢?
     

使用特权

评论回复
11
5880527| | 2007-6-28 09:51 | 只看该作者

堆栈后面需要足够的空间

80H后的单元不是很好用,但做堆栈还是可以的,所以设那里好了

使用特权

评论回复
12
古道热肠| | 2007-6-28 10:29 | 只看该作者

入栈与出栈要配对

    汇编指令写代码一定要注意入栈与出栈要一一对应,只入不出会撑死的。而且程序会乱来。
    C语言写代码最怕的是指针赿位,编译器检查不出来,运行起来出现些怪怪的现象。

使用特权

评论回复
13
conwh| | 2007-6-28 10:30 | 只看该作者

堆栈设计基本要求,就是要考虑一定的深度,一般都放在

变量的后面,再就是程序中的压栈和出栈的配套。

使用特权

评论回复
14
jack.king|  楼主 | 2007-6-28 11:08 | 只看该作者

只有中断里面才压栈和出栈吗?

使用特权

评论回复
15
jack.king|  楼主 | 2007-6-28 11:10 | 只看该作者

只有中断里面才压栈和出栈吗?

     其他的地方在什么情况下需要用到压栈和出栈呢?在无限制的调用和循环中不会要这样吧?

使用特权

评论回复
16
conwh| | 2007-6-28 11:10 | 只看该作者

不是,有时做数据交换或临时保存等时候也使用

使用特权

评论回复
17
gyt| | 2007-6-28 11:12 | 只看该作者

只要调用子程序

就会有进栈和出栈的操作

使用特权

评论回复
18
gyt| | 2007-6-28 11:13 | 只看该作者

8楼的办法挺好

我也会这样使用

使用特权

评论回复
19
jack.king|  楼主 | 2007-6-28 11:37 | 只看该作者

RE

  明白了
    那就是说明只要是子程序总都加上 PUSH ACC,PUSH PSW 和POP ACC,POP PSW.咯!
     这也不能解在反复执行调用次数,后来就自动复位

使用特权

评论回复
20
conwh| | 2007-6-28 11:40 | 只看该作者

注意一点就是堆栈管理是先进后出

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

488

主题

2158

帖子

1

粉丝