打印

这个延时子程序仿真时怎么停下来?

[复制链接]
1377|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lkkjob|  楼主 | 2007-11-9 20:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我刚开始学习汇编语言,自己编了个延时的子程序,汇编没有问题,可一仿真运行的时候就停不下来,程序如下:
ORG    0000H
DELAY:    MOV    R7,#5
DEL1:    MOV    R6,#2
    NOP
DEL2:    DJNZ    R6,DEL2    
    DJNZ    R7,DEL1    
请各位大虾帮我分析一下,程序为什么停不下来啊?

相关帖子

沙发
xzl| | 2007-11-9 21:02 | 只看该作者

这样试试

ORG 0000H
    JMP  BEGIN
ORG 0040H
BEGIN:
    CLR  EA
    MOV  SP,#70H
MAIN:
SETB  P1.0   
CALL  DELAY
CLR   P1.0
CALL  DELAY       
JMP   MAIN

DELAY:    MOV    R7,#5
DEL1:    MOV    R6,#2
    NOP
DEL2:    DJNZ    R6,DEL2    
    DJNZ    R7,DEL1 
    RET

END

使用特权

评论回复
板凳
ayb_ice| | 2007-11-10 08:12 | 只看该作者

DJNZ R7,DEL1后面的程序没有定义

ORG    0000H
DELAY:    MOV    R7,#5
DEL1:    MOV    R6,#2
    NOP
DEL2:    DJNZ    R6,DEL2    
    DJNZ    R7,DEL1  
WAIT: SJMP $  ;// 这里设断点

使用特权

评论回复
地板
lkkjob|  楼主 | 2007-11-10 17:35 | 只看该作者

回复2楼

感谢二楼的帮助,这个方法还是不行啊!不过还是要谢谢你啊!

使用特权

评论回复
5
lkkjob|  楼主 | 2007-11-10 17:38 | 只看该作者

回复3楼

呵呵,多谢啊 ,这个方法果然奏效,能给我讲讲具体的原因吗,是不是在设置断点时就用SJMP $指令就可以啊?

使用特权

评论回复
6
uranus0903| | 2007-11-13 08:04 | 只看该作者

初学吗?

使用特权

评论回复
7
lkkjob|  楼主 | 2007-11-23 16:37 | 只看该作者

回复6楼

呵呵,是啊,好多问题都想不明白!以后要请各位多多指教啊。

使用特权

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

本版积分规则

18

主题

36

帖子

0

粉丝