2017-05-08 8 views
0

私はアセンブリ言語が新しく、少し慣例があります。私は、avrアセンブラとavr_gccだけを使ってArduinoをプログラミングしています。gcc/avr_gccのOFFSETディレクティブ

ldi r30, 0x00 
ldi r31, 0x06 

しかし、(avr_gccに)入れてどのような方法があります:私は、私はアドレスが例えば直接X、YまたはZレジスタにロードされて発見したと、STおよびLD命令とすべての例でを使用しようとしていました変数ZのZレジスタアドレス?私はその目的のためにマスクでOFFSET指令があったことを知っています。

+0

[here](http://www.avr-asm-tutorial.net/avr_en/beginner/REGISTER.html#pointer)や[here]のように 'LOW'と' HIGH'でusi 'ldi'を使うことができます。 (http://www.avrfreaks.net/forum/stdldd-instead-stslds-instructions)。 –

+0

ご返信ありがとうございます。何らかの理由でLOWとHIGHが私にとってはうまくいかないが、私はそれをどのようにグーグルにするか考えている。 lo8とhi8が動作しています。ここから答えが得られました:http://stackoverflow.com/questions/34368602/avr-gcc-error-garbage-at-end-of-line – Maksim

答えて

0

avr-gccでは、LOWとHIGHは機能しません。代わりにlo8とhi8が働いています。

+0

これは少し変更されましたが、これは私がその問題について知ることができるすべてです。 – Maksim