Premettendo che iniziare da un programma cosi' complesso (tuttaltro che semplice!) per di piu' concepito per un altro assembler con una sintassi differente, specialmente se non si conosce ALMENO la sintassi dell'assembler che si sta usando, e' come spararsi nelle balle da soli. Se poi aggiungiamo che se vedendo l'output dettagliato degli errori non si intuisce che basta (!) andare alle righe indicate e correggere gli errori SEGUENDO IL MANUALE (si', dasm.doc e' il manuale di dasm) direi che bisogna fare una frenata brusca e ripartire da capo da qualcosa di semplice, e solo DOPO aver letto e riletto i manuali. E' come voler fare un palazzo senza nemmeno sapere quante palate di sabbia ci vogliano per ogni sacco di cemento, e poi chiedersi perche' il palazzo sia venuto giu' alla prima pioggia.
Ora vorrei solo mettere 2 appunti ai suggerimenti di Pippo:
- in luogo del carattere ' dovresti forse usare "
Generalmente in dasm e' preferibile, cosi' si evitano differenziazioni tra char singoli e stringe di piu' caratteri, ma UN solo apice indica un carattere singolo quindi
inscar='i ;carattere di inserimento
soscar="o" ;caratere di sostituzione
sono validi, e' anche scritto nel dasm.doc (ogni tanto leggere sti benedetti dox)
'c character
"cc.." string (NOT zero terminated if in DC/DS/DV)
- se metti il punto e virgola non preceduto da uno spazio ti dà syntax error
- attento a spaziare il carattere = dagli elementi
Non so che versione di Dasm usi ma...
*=$1000
bordo=$d020;non servono mica gli spazi
lda #0;commento attaccato
sta bordo;anche questo
rts;non scherziamo, funziona
Un'ultima cosa: non usare il . nelle label, e' un carattere riservato per le label locali. usa l'underline, tv_ptr anziche' tv.ptr, e' cosi' via.