Hallo, mit .def lassen sich ja bekannterweise Symbolische namen für Register vergeben. Das funktioniert natürlich auch mit den Pointer registern XH,XL etc. Wie aber kann ich dem Pointer selbst einen Namen zuordnen? .def TimestampPointer = X generiert mir die Fehlermeldung: "Invalid register" eigentlich logisch, ist ja auch kein Register. .equ funzt aber auch nicht. Geht das überhaupt oder ist der X Pointer auf ewig dazu verdammt der X Pointer zu sein? mfg
Schau mal: Weil das nicht in Opcodes vorkommt. Könnte man ja 'mal drüber nachdenken, wie man den targetspezifischen Befehlssatz erweitert. Das Doppelregister X ist schon vergeben: .def XH = r27 .def XL = r26 ciao gustav
Gast
#6119906
#define TimestampPointer x
Hi, https://www.avrfreaks.net/forum/passing-pointer-asm-functions x-pointer habe ich in meinen Proggis nicht drin. Was nicht heißt, dass es diese auch gibt. ciao gustav
Gast
#6119931
Multi K. schrieb: > Hallo, > mit .def lassen sich ja bekannterweise Symbolische namen für Register > vergeben. Das funktioniert natürlich auch mit den Pointer registern > XH,XL etc. Wie aber kann ich dem Pointer selbst einen Namen zuordnen? > > .def TimestampPointer = X > > generiert mir die Fehlermeldung: "Invalid register" eigentlich logisch, > ist ja auch kein Register. .equ funzt aber auch nicht. Geht das > überhaupt oder ist der X Pointer auf ewig dazu verdammt der X Pointer zu > sein? Nehmen wir mal an, du wolltest X symbolisch als "DataPtr" verwenden: .undef XL .undef XH .def DataPtrL XL .def DataPtrH XH #define DataPtr X Dann kannst du Sachen machen wie: ldi DataPtrL,Low(data) ldi DataPtrH,High(data) ld R0,DataPtr+ ld R0,DataPtr ldd R0,DataPtr+5
Gast
#6119934
c-hater schrieb: > ldd R0,DataPtr+5 Mist, das funktioniert mit X natürlich nicht. Nur mit Y oder Z.
Gast
#6119945
c-hater schrieb: > .undef XL > .undef XH > .def DataPtrL XL > .def DataPtrH XH Und nochmal Mist. Nachdem man XL und XH undefiniert hat, muss man natürlich die tatsächlichen Registernamen verwenden, also: > .def DataPtrL R26 > .def DataPtrH R27
Gast
#6119954
> .def DataPtrL R26
Fehlt noch immer das "=".
Und bin ich eigentlich der Einzige hier, der die Assembler-Option '-c'
verwendet?
Gast
#6120035
S. Landolt schrieb: > Fehlt noch immer das "=". Korrekt. Das alles kommt davon, wenn man's einfach in den Browser tippt, ohne es zuvor zu überprüfen... Schützt aber auch sehr gut vor Nachnutzung durch C&Pler... > Und bin ich eigentlich der Einzige hier, der die Assembler-Option '-c' > verwendet? Vermutlich schon. Ich fand diese C-ische case sensitivity schon immer unerträglich und bin dankbar und glücklich, dass das bei AVR-Assembler eben nicht Standard ist. So wie sie das bei allen Sprachen auch nicht ist, die ich gern verwende. ;o)
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.
