我有堆栈初始化行的问题,因为avr-gcc返回
LED_Blink.asm:10:错误:行尾的垃圾
在线:
ldi r17, low(RAMEND) ldi r17, high(RAMEND)
我很困惑.我已经定义了RAMEND.我在这个命令中使用了avr-gcc:
avr-gcc -x assembler -mmcu = atmega328p LED_Blink.asm
我的汇编代码:
.equ SPL, 0x3d .equ SPH, 0x3e .equ RAMEND, 0x8ff .equ PORTB, 0x05 .equ DDRB, 0x04 .org 0x000000 rjmp main main: ldi r17, low(RAMEND) out SPL, r17 ldi r17, high(RAMEND) out SPH, r17 ldi r16, 0xff out DDRB, r16 out PORTB, r16 loop: ldi r16, 32 rcall outer_loop cbi PORTB, 5 ldi r16, 32 rcall outer_loop sbi PORTB, 5 rjmp loop outer_loop: clr r24 clr r25 delay_loop: adiw r24, 1 brne delay_loop dec r16 brne outer_loop ret
hobbs.. 6
low
并且high
对于AVR的GNU汇编程序没有任何意义,我认为你想分别使用lo8
和hi8
取低字节和高字节.
low
并且high
对于AVR的GNU汇编程序没有任何意义,我认为你想分别使用lo8
和hi8
取低字节和高字节.