私は達成しようとしています:
LABEL:
....
subi r18, LABEL
レジスタからラベルのアドレスを減算する必要があります。それ、どうやったら出来るの?
subi r16, pm_lo8(LABEL)
sbci r17, pm_hi8(LABEL)
avrfreaks での回答:
http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&p=857982#857982
参照ドキュメント:
http://sourceware.org/binutils/docs-2.21/as/AVR_002dModifiers.html#AVR_002dModifiers
注: 私は AVR アセンブラーに詳しくありません。これは、いくつかの Web ページを読んで判断できたものです。また、アドレスは 16 ビットであると想定しています。
; Address you wish to subtract the label from in R16 (low):R17 (high)
SUBI R16, LOW(LABEL)
SBCI R17, HIGH(LABEL) ; Omit this part if you have < 256 Bytes of ram