ik ben sinds kort bezig met asm. nu wilde ik een programma maken waar ik met macro's werk. alleen krijg ik de macro niet aan de praat.
ik krijg de hele tijd deze foutmeldingen:
Error[127] D:\ELEKTRO\PROGRAMS\ASM\4LAMPJES\LAMP.ASM 98 : Too many arguments
Error[113] D:\ELEKTRO\PROGRAMS\ASM\4LAMPJES\LAMP.ASM 16 : Symbol not previously defined (register1)
Error[128] D:\ELEKTRO\PROGRAMS\ASM\4LAMPJES\LAMP.ASM 16 : Missing argument(s)
Error[113] D:\ELEKTRO\PROGRAMS\ASM\4LAMPJES\LAMP.ASM 17 : Symbol not previously defined (label1)
dit is m'n macro (met regelnr. van het progje erbij):
15| LEDON macro register1, label1
16| bsf register1
17| goto label1
18| endm
en zo 'call' ik de macro:
98| LEDON l1,l1_rik weet echt niet meer wat er aan de hand kan zijn. en zou het heel erg op prijs stellen als iemand me verder kon helpen. als je meer info nodig hebt moet je het maar ff zeggen
Kan niemand mij helpen? 
Er is toch wel iemand die met macro's gewerkt heeft. ik zit nog steeds met hetzelde probleem.ik weet eg nie wat ik fout doe.
Probeer dit eens:
Macro
LEDON macro Byte, Bit
bsf Byte, Bit
endm
Oproep
LEDON PORTA,0
Edit:
Als je naar een andere regel wilt springen in een macro, dan kan je dat zo doen:
GOTO $-1 ;1 regel terug
[Bericht gewijzigd door MMSoft op ]
Kan je in een macro dan niet naar een label springen? dus dit in de macro:
goto label1ik ben nog maar een beginner met asm dus ik weet er nog nie zoveel vanaf.
Videomodulator
AKA Naftebakje @Tweakers.net --- Zonder dwarsliggers geen spoor
Je kan geen variabelen in een label gebruiken, en dat is wat je probeert te doen met je "goto label1". In de macro verwacht ie een getal in label1.
Kortom: een goto is naar één label. Niet meerdere.
toch wordt er in het rgb programma van william rgb.asm in een macro gesprongen naar een label (zie eerste macro r19 oid) zoiets wil ik ook gebruiken. en als ik zijn asm file assembleer krijg ik geen fouten. iig als erg bedankt voor jullie hulp!
Willie Worteltje
Er zijn 10 soorten mensen. Mensen die binair begrijpen en mensen die het niet begrijpen... http://home.versatel.nl/edithenwilliam/william.htm
Hoi PinQ
Je moet even goed kijken naar je instructie.
Je wilt een BSF doen. Maar die heeft 2 waarden nodig. namelijk een register en een bit.
vb:
BSF PORTA,0
Dit zie ik niet in de MACRO terug.
Je macro moet er dus ongeveer zo uitzien:
LEDON macro register1, bit1, label1
bsf register1, bit1
goto label1
endm
de 'call' wordt dan:
LEDON PORTA,0 ,next
Misschien kan het ook nog met een DEFINE in de MACRO
#define led1 PORTA,0
LEDON macro register1, label1
bsf register1
goto label1
endm
de 'call' wordt dan:
LEDON led1, next
succes
super bedankt willie worteltje!!! ik had aan het begin een define staan van l1 = PORTB,4 en waarschijnlijk deed door de komma in de define (tussen de port en bit) de macro het niet.
sorry trouwens dat ik nu pas reageer, ben ff op vakantie geweest dan kan ik zo lekker beginnen met mijn studie elektrotechniek
:D:D