PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : @-operator?



cmdrkeen
17.08.2007, 21:40
ich wollte ein assembler programm für einen ATmega8 mit avr studio 4 kompilieren, aber irgendwo steckt ein fehler in dieser Zeile (121 syntax error: unexpected ',' ) :

ldi temp1, 0b10000000|(((@0)-1)<<6)|((@1)-1)

ich könnte ihn vielleicht alleine finden, nur hab ich leider keine ahnung was dieses @ bewirkt ... und ohne sie gibts keinen compiler-fehler

zeilen wie:
ldi temp1,@0
werden auch ohne fehler kompiliert

auch umfangreiche recherche brachte mich nicht weiter (störend kommt hinzu, dass google @'s einfach ignoriert)

deswegen wollt ich hier gern mal in erfahrung bringen was dieses @ for einer zahl ist.

izaseba
17.08.2007, 21:57
Hallo,
kann sein, daß diese @ in makros auftreten ?

Ich kenne die von Parameteübergabe an makros :-k
z.B.


.macro lade
ldi @0,@1
.endmacro
...
...
im code dann
lade r16,0x00


Schau mal hierhttp://www.avr-asm-tutorial.net/gavrasm/gavrasmi.html

Gruß Sebastian

cmdrkeen
17.08.2007, 23:09
danke, du hast recht. (mensch da wär ich im leben nicht draufgekommen)




.MACRO locate ;(Zeile,Spalte)
push temp1
ldi temp1, 0b10000000|(((@0)-1)<<6)|((@1)-1)
rcall lcd_command
pop temp1
.ENDMACRO





locate(1,1) ;so wurds dann aufgerufen

(121 syntax error: unexpected ',' ) : ldi temp1, 0b10000000|(((@0)-1)<<6)|((@1)-1)

ohne die klammern , wie in dem link beschrieben, den du gepostet hast, funktionierts: locate 1, 1

izaseba
17.08.2007, 23:47
mensch da wär ich im leben nicht draufgekommen
Du sagst es, wo ich deinen Beitrag gelesen habe, wußte ich, daß ich das schon irgendwo, vor einer Ewigkeit gesehen habe ;-)
Gebraucht habe ich das noch nie, wobei ich sagen muß, es ist eine feine Sache...

Gruß Sebastian
Gruß Sebastian