Assembler MAC/65 Verständnisfrage

Moderator: Rockford

Antworten
Liebelein01
Beiträge: 27
Registriert: 28.10.2024 10:12
Has thanked: 8 times
Been thanked: 26 times
Kontaktdaten:

Assembler MAC/65 Verständnisfrage

Beitrag von Liebelein01 »

Hallo,

ich versuche mich gerade am MAC/65 Assembler und erhalte immer wieder einen Fehler, den ich mir nicht erklären kann.

Anbei der Code. Schaut mal Zeile 90, 125, 130. Laut Definition, sollte das hier zu keinem Fehler führen.

Code: Alles auswählen

10 *=$2000
20 .OPT OBJ
30 TEMPZERO=$00
40 COLORREG=$D012
50 SCREENREFRESH=$D01A
60 SETGRAPHICS=$FF00
70 ERROR - LDA #9
80 JSR SETGRAPHICS
90 ERROR - LDA #0
100 STA TEMPZERO
110 LDX TEMPZERO
115 DRAWLOOP
120 STX COLOREG
125 ERROR - CPX #192
130 ERROR - LDA #$FF
140 STA SCREENREFRESH
150 INX
170 BNE DRAWLOOP
180 RTS
Übrigens, bitte nicht den Code ins Detail analysieren. Der sollte mir eigentlich nur 256 Farben in Gr.9 anzeigen.
Die ersten Gehversuche halt, die bestimmt alles andere als richtig sind. Vor allem die Adressen.

Gruß
Frank

slx
Beiträge: 188
Registriert: 18.06.2021 23:16
Has thanked: 165 times
Been thanked: 21 times
Kontaktdaten:

Re: Assembler MAC/65 Verständnisfrage

Beitrag von slx »

Du musst bei Assembler-Opcodes nach der Zeilennummer immer eine Leerstelle freilassen, damit zB das LDA nicht als Label interpretiert wird.

Code: Alles auswählen

10  LDA #0
Die bei Dir mit "Error" markierten Zeilen lassen sich dann fehlerfrei eingeben.

Das ist in der Anleitung auch unter 1.3 EDIT MODE erläutert (Hervorhebung von mir):
Again, remember that source lines must begin with a line number which must, in turn, be followed by one space. Then, the second space after the line number is the label column. The label must start in this column. The third space after the line number is the instruction column. Instructions may either start in at least the third column after the line number or at least one space after the label. The operand may begin any where after the instruction, and comments may begin any where after the operand or instruction. Refer to Assembler Section for specific instruction syntax.
Zuletzt geändert von slx am 09.11.2024 19:19, insgesamt 3-mal geändert.

Currock
Beiträge: 45
Registriert: 18.08.2021 17:31
Has thanked: 4 times
Been thanked: 3 times
Kontaktdaten:

Re: Assembler MAC/65 Verständnisfrage

Beitrag von Currock »

Hallo,

Ich habe damals mit dem ATMAS II programmiert, da war es ein bisschen anders.
Im Handbuch zum MAC/65 habe ich an einer Stelle den Hinweis gefunden, dass man die Leerzeichen beachten muss.

Wenn Du eingibst:

Code: Alles auswählen

10 LDA #0
gibts einen Fehler (ist ein Syntax-Fehler, da ist der Editor ungenau)

Code: Alles auswählen

10  LDA #0
funktioniert. Der ganze Unterschied sind 2 Leerzeichen zwischen der Zeilennummer und der Anweisung.

Benutzeravatar
pps
Beiträge: 690
Registriert: 18.06.2021 23:05
Has thanked: 172 times
Been thanked: 292 times
Kontaktdaten:

Re: Assembler MAC/65 Verständnisfrage

Beitrag von pps »

Ich würde da vorschlagen, statt 2 Leerzeichen ein Leerzeichen und ein Tab zu nehmen.
So kann man die Labels noch besser von den Befehlen unterscheiden beim Code lesen.
PP´s of STARSOFTBerlin__________github|meine Webseite|Demozoo

Currock
Beiträge: 45
Registriert: 18.08.2021 17:31
Has thanked: 4 times
Been thanked: 3 times
Kontaktdaten:

Re: Assembler MAC/65 Verständnisfrage

Beitrag von Currock »

slx hat geschrieben:
09.11.2024 18:49
Ich glaube, Du musst bei Assembler-Opcodes nach der Zeilennummer immer eine Leerstelle freilassen, damit zB das LDA nicht als Label interpretiert wird.

Code: Alles auswählen

10  LDA #0
Genau so isses.

slx
Beiträge: 188
Registriert: 18.06.2021 23:16
Has thanked: 165 times
Been thanked: 21 times
Kontaktdaten:

Re: Assembler MAC/65 Verständnisfrage

Beitrag von slx »

Ich habe jetzt oben noch die entsprechende Stelle aus dem Manual zitiert.

Liebelein01
Beiträge: 27
Registriert: 28.10.2024 10:12
Has thanked: 8 times
Been thanked: 26 times
Kontaktdaten:

Re: Assembler MAC/65 Verständnisfrage

Beitrag von Liebelein01 »

Danke Euch, mit den Leerzeilen geht es dann.
Das habe ich im Manuel dann wohl überlesen.

Gruß
Frank

Benutzeravatar
whomper
Beiträge: 19
Registriert: 16.12.2023 20:54
Has thanked: 21 times
Been thanked: 4 times
Kontaktdaten:

Re: Assembler MAC/65 Comprehension Question

Beitrag von whomper »

I'm developing in Mac65 and instructions require 2 spaces while labels just one.

Erhard
Beiträge: 867
Registriert: 04.11.2021 15:52
Has thanked: 93 times
Been thanked: 269 times
Kontaktdaten:

Assembler MAC/65 Verständnisfrage

Beitrag von Erhard »

Hallo,

ich verwende auch gerne den Mac/65.

Für eine lesbare Ansicht bietet sich sowas wie .TAB 17,23,40 an.

Wenn man dann einen emulierten Drucker (APE, FujiNET o.ä.) verwendet und dann ASM,#P: kriegt man einen schön sortierten "Ausdruck".

Erhard
Wenn man sein Alter hexadezimal angibt kann man gleich wieder Bäume ausreißen :-)

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast