Seite 1 von 1
Assembler MAC/65 Verständnisfrage
Verfasst: 09.11.2024 18:18
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
Re: Assembler MAC/65 Verständnisfrage
Verfasst: 09.11.2024 18:49
von slx
Du musst bei Assembler-Opcodes nach der Zeilennummer immer eine Leerstelle freilassen, damit zB das LDA nicht als Label interpretiert wird.
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.
Re: Assembler MAC/65 Verständnisfrage
Verfasst: 09.11.2024 19:05
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:
gibts einen Fehler (ist ein Syntax-Fehler, da ist der Editor ungenau)
funktioniert. Der ganze Unterschied sind 2 Leerzeichen zwischen der Zeilennummer und der Anweisung.
Re: Assembler MAC/65 Verständnisfrage
Verfasst: 09.11.2024 19:09
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.
Re: Assembler MAC/65 Verständnisfrage
Verfasst: 09.11.2024 19:09
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.
Genau so isses.
Re: Assembler MAC/65 Verständnisfrage
Verfasst: 09.11.2024 19:20
von slx
Ich habe jetzt oben noch die entsprechende Stelle aus dem Manual zitiert.
Re: Assembler MAC/65 Verständnisfrage
Verfasst: 09.11.2024 20:24
von Liebelein01
Danke Euch, mit den Leerzeilen geht es dann.
Das habe ich im Manuel dann wohl überlesen.
Gruß
Frank
Re: Assembler MAC/65 Comprehension Question
Verfasst: 10.11.2024 09:47
von whomper
I'm developing in Mac65 and instructions require 2 spaces while labels just one.
Assembler MAC/65 Verständnisfrage
Verfasst: 11.11.2024 08:25
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