打印

求解汇编指令DJNZ的新用法

[复制链接]
2969|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hm_315|  楼主 | 2014-11-27 17:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
代码如下所示
Q0186:
DJNZ  51H,Q0198                    
MOV   51H,#0FAH                  
DJNZ  52H,Q0198                 
MOV   51H,#01H                  
MOV   52H,#01H                  

Q0198:
....

LJMP Q0186

当51H中变量的值减为0时,则执行第二句,51H中变量又被赋值为0xFAH。那是不是意味则后面的代码DJNZ 52H,Q0198 只会被执行一次呢?
求大神,跪求~!



相关帖子

沙发
hm_315|  楼主 | 2014-11-27 17:49 | 只看该作者

@airwill    版主求解。。。

使用特权

评论回复
板凳
yklstudent| | 2014-11-27 19:08 | 只看该作者
仿真跑下不就知道了

使用特权

评论回复
地板
songchenping| | 2014-11-27 19:19 | 只看该作者
对汇编是无能为力啊。

使用特权

评论回复
5
songchenping| | 2014-11-27 19:20 | 只看该作者
对汇编是无能为力啊。

使用特权

评论回复
6
airwill| | 2014-11-27 23:14 | 只看该作者
Q0186:
....

LJMP Q0186

这是个大循环, 其中
MOV   51H,#0FAH                  
说明下面的代码
DJNZ  52H,Q0198      
每 250次循环中被执行一次.
         

使用特权

评论回复
7
hm_315|  楼主 | 2014-11-27 23:53 | 只看该作者
airwill 发表于 2014-11-27 23:14
Q0186:
....

感谢版主,我好像懂了

使用特权

评论回复
8
NE5532| | 2014-11-28 17:17 | 只看该作者
2字节的大循环递减,51地址存的是低字节,52地址存的是高字节。

使用特权

评论回复
9
jerkoh| | 2014-11-28 17:19 | 只看该作者
这是个反汇编出来的吧

使用特权

评论回复
10
wujh| | 2014-12-2 22:40 | 只看该作者
看反汇编的东西还是比较累的

使用特权

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

本版积分规则

10

主题

35

帖子

0

粉丝