AVR汇编语言元素及指令时序详解
1. 条件汇编
条件汇编包含 IF 、 IFDEF 、 IFNDEF 、 ELIF 、 ELSE 和 ENDIF 等汇编指令。这些指令在汇编时运行,而非代码在AVR上运行时。以下是一个使用 IFDEF 和 ENDIF 的示例代码:
; Initialize the stack pointer
ldi r16, low(RAMEND)
out spl, r16
.IFDEF SPH
ldi r16, high(RAMEND) ; Remove for ATtiny13(A) and ATtiny25
out sph, r16 ; Remove for ATtiny13(A) and ATtiny25
.ENDIF
ldi r16, 0x5A ; Load a value to R16
push R16 ; Save R16 to the stack
clr r16 ; R16 gets modified
pop r16 ; Restore R16 from the stack
loop:
rjmp loop
在原始代码中,如果要在ATtiny13(A)或ATtiny25上运行,
超级会员免费看
订阅专栏 解锁全文
624

被折叠的 条评论
为什么被折叠?



