[AVR单片机] 请教一个AVR ASM预处理宏定义问题

[复制链接]
2244|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

粉丝
快速回复 在线客服 返回列表 返回顶部