mov
AVR アセンブリのマクロで操作を実行しようとしています。マクロに数値引数で対象を指定したい。Atmel Studio アセンブラを使用しています。
私はこのようなことをしようとしています:
; accepts 1 argument: target register.
.macro move_r10_into
mov @0, r10
.endmacro
; usage example:
move_r10_into 1 ; So this should do mov r1, r10
しかし、このようにすると、「無効なレジスタ」というエラーが表示されます。代わりに使用r@0
すると、「Unexpected (」というエラーが表示されます。試行すると(r@0)
、「unexpected REGISTER」という結果になります。
どうすればいいですか?