PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Substitution im Assembler



olfi13
28.07.2005, 00:07
Hi!

Ich möchte im Programm folgende Form schreiben (Assembler):
...
.def Lampe1 = PortB, 4 ; <- meckert der Assembler natürlich an
.def Taster1 = PinB, 1 ;<- das auch
...
loop:
...
sbis Taster1 ;< so wäre es super!
sbi Lampe1
...
sbic Taster1
...
rjmp loop

Hintergrund ist daß meine eigene Platine eine andere Belegung hat als das STK500. Es ist sehr aufwändig die Adresse überall im Programm zu ändern, z.B.
sbi PortB, 4 ; STK 500
-> sbi PortD, 4 ; eigene Platine

Weiß jemand Rat?

Gruß, olfi

PicNick
28.07.2005, 07:26
Wenn eine Klammer geht, dann nimm sie
.def Lampe1 = ( PortB, 4)

wenn nicht, brauch du zwei def:
.def Lampe1_port = PortB
.def Lampe1_pin = 4

sbis lampe1_port, Lampe1_pin

olfi13
28.07.2005, 12:01
Hi PicNick!
Auf die Idee mit Klammern bin ich noch nicht gekommen,
geht leider nicht, Assembler meldet:
error: syntax error, unexpected '(', expecting REGISTER
Schade :(

Mit den 2 def's helfe ich mir zur Zeit.
Danke für die Antwort!

Gruß, olfi