打印

大伙帮看看这段程序是什么意思

[复制链接]
1945|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
diandang|  楼主 | 2010-9-29 17:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
朋友问我这段程序是什么意思
我很久不用汇编了,不记得汇编的用法了
请大伙帮忙看一下 下面这段程序是什么意思?
如果能说出每一条指令代表的意思那就再好不过了
先谢谢各位了

70H,71H,72H --延时基本时间  *
;入口参数2:73H   --基本时间的倍数*
;-----------------------------------------------*
;  调用例子   *
;************************************************
;
;  include "FUNC_DELAY.ASM"
;   LDI   73H,1      ;set parmeter =0
;   CALL  DELAY
;   NOP
;------------------------------------------------
DELAY:
          SBIM 73H,01H        ;judge parmater is >0
       BC $+2
       RTNI                       ;return to main program
        LDI 72H,0FH             ;set counter2=0ah
        LDI 71H,0FH            ;set counter1=0fh
        LDI 70H,0FH             ;set counter0=0fh
        SBIM 70H,01H           ;counter0 down 1
        BC $-1
        SBIM 71H,01H           ;counter1 down 1
        BC $-4  
        SBIM 72H,01H           ;counter2 down 1
        BC $-7
       JMP DELAY
沙发
juginhine| | 2010-9-30 16:07 | 只看该作者
呵呵这个程序不就是一个指令延时程序吗?
73H单元是延时模块循环次数寄存器。这个是调用延时函数的输入参数。
70h,71h,72三个寄存器组成循环延时计数器,是函数内部寄存器。通过计数器减1操作溢出来延时。这个延时函数里面延时基准时间就是70h,71h,72h从0xfff减1直到溢出才退出。
不知道LZ明白没有。

使用特权

评论回复
板凳
diandang|  楼主 | 2010-10-8 13:44 | 只看该作者
谢谢juginhine!
那它执行的次数应该是 0FH *3次喽
延时的时间怎么算?
是跟机器周期和指令周期有关?
问得有点傻,希望各位不吝赐教

使用特权

评论回复
地板
huwr| | 2010-10-8 14:45 | 只看该作者
我想问的是你用这个程序干啥

使用特权

评论回复
5
三爻小飞侠| | 2010-10-8 15:32 | 只看该作者
只认识delay,感觉上应该是延时程序

使用特权

评论回复
6
冰清玉洁| | 2010-10-8 15:35 | 只看该作者
只认识delay,感觉上应该是延时程序
三爻小飞侠 发表于 2010-10-8 15:32
不是应该,哈哈

使用特权

评论回复
7
linjing| | 2010-10-9 09:24 | 只看该作者
应该是个4层的嵌套循环,循环次数是 输入参数i73 * 0x0F*0x0F*0x0F

中颖的指令不太熟悉,不过意思大概是这样子

void delay( i73 ){

    while( i73-- > 0 ){
        i72 = 0x0f;
        do {
            i71 = 0x0f;
            do {
                i70 = 0x0f;
                do {
                    ;
                } while(i70-- > 0 );
            } while(i71-- > 0 );
        } while(i72-- > 0 );
    }
}

使用特权

评论回复
8
huanghuac| | 2010-10-10 11:49 | 只看该作者
还是看着C舒服

使用特权

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

本版积分规则

0

主题

77

帖子

1

粉丝