Mal unabhängig von der Assemblersyntax '.var' betrachtet: Die Art und Weise, wie Du cl1, cl2 und sep verwendest, entspricht eher der Definition einer Konstanten, nicht einer Variablen, also in C bzw. Pascal so etwas wie
Deutlich wird das z. B. an Deinem Beispiel
Das '#' bei lda signalisiert bereits das Laden einer Konstanten, nicht einer Variablen. Es ist daher nicht ganz klar, was Dein Programm eigentlich leisten soll. Mit den Befehlen
wird im Speicher nur eine Liste von konstanten Werten erzeugt. Diese dann einzeln über
in den Akkumulator zu laden, dürfte kaum viel Sinn ergeben. colsrc ist nur die Basisadresse der Konstantenliste, und 'lda colsrc' lädt den ersten dort abgelegten konstanten Wert, entspricht also direkt
Um Sinn zu ergeben, müßte man auf diese Liste in irgendeiner Form indiziert zugreifen, sei es über
Natürlich kann man den Wert an der Adresse colsrc mit einem neuen Wert überschreiben. In dem Fall wäre colsrc eine echte Variable, bzw. die Basisadresse eines Arrays. Das hängt ganz davon ab, was Du vorhast.