打印
[AVR单片机]

请教一个AVR ASM预处理宏定义问题

[复制链接]
1469|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
szhgx26|  楼主 | 2007-12-14 17:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
定义了一个宏如下:
.MACRO DELAY_MS       ldi @0, LOW(@2 * 4000)     
                  ldi   @1, HIGH(@2 * 4000)     
                  delay_ms_loop:                            
        sbiw     @0, 1                  
         brne     delay_ms_loop     
.ENDMACRO

程序调用时
DELAY_MS r24, r25, 2

但是编译后丢失了 ldi   @1, HIGH(@2 * 4000)这一行,这是为何?
91:         DELAY_MS r24, r25, 2
+0000003E:   E480        LDI     R24,0x40         Load immediate
@0000003F: delay_ms_loop@DELAY_MS@996
+0000003F:   9701       SBIW    R24,0x01  Subtract immediate from word
+00000040:   F7F1        BRNE    PC-0x01          Branch if not equal

相关帖子

沙发
szhgx26|  楼主 | 2007-12-14 17:53 | 只看该作者

去掉""就可以了

使用特权

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

本版积分规则

45

主题

164

帖子

0

粉丝