Aus welchem Grund macht man sowas?
Hallo Besucher, der Thread wurde 4,5k mal aufgerufen und enthält 30 Antworten
letzter Beitrag von alexko am
-
-
-
-
Aus welchem Grund macht man sowas?
Ich finde es nicht ganz falsch, Assembler-Listings mit dem vertrauten Editor zu erstellen und auch ohne Assembler-Programmpaket mit dem BASIC-Editor zumindest laden und ansehen zu können. Außerdem frißt so ein Editor wertvollen Speicherplatz- der normale PET hatte ja maximal 32K RAM (viele Maschinen nur 16, einige sogar nur 8), und die Erweiterungs-ROMs hatten grad mal zwei Steckplätze zu 4K. Da tut jedes Byte weh, zumal ein Assembler ja noch Quelltext, Label-Tabelle und erzeugten Objektcode unterbringen muß. (Heute tut 4K auch wieder weh, aber eher in der Geldbörse- und es hat im Gegensatz zu damals einen gewissen Coolness-Faktor...)
-
@detlef Das soll auf einer PET 8032 mit BASIC 4 laufen.
Dann macht der MAE 4.0 möglicherweise genau das, was du da vor hast.
Kann man natürlich noch mal programmieren. -
Die Frage nach einem Windows/Linux-basierten Cross-Assembler lohnt sich wohl gar nicht erst zu stellen.
Der PET führt ja kein so prominentes Dasein wie der C64 und natürlich wäre es toll, bequem für den PET entwickeln zu können mit den heute gegebenen Möglichkeiten.
-
Die Frage nach einem Windows/Linux-basierten Cross-Assembler lohnt sich wohl gar nicht erst zu stellen.
PETs haben doch auch einen 6502, also tut's prinzipiell jeder Cross-Assembler für diese CPU. Der ld65 (Linker zum cc65 / ca65) hat durchaus auch eine entsprechende Option: -t pet.
-
Es gibt da so ungefähr drei Ansätze:
Ich denke, es gibt noch einen vierten, nämlich den, den Mac Bacon hier schon skizziert hat:
- Dem Assembler beibringen, die Mnemonics mit (trotz) Tokens zu erkennen (ORa, rOR,...).
M.E. gab es damalsTM Assembler, die es genau so gemacht haben. Ich habe z.B. viel mit dem eingebauten Assembler von Magic Formel gemacht; da hat man den Assembler Quellcode auch über den ganz normalen BASIC-Editor eingegeben.Edit: gerade gesehen: Mac Bacons Ansatz war noch ein anderer, mämlich
- Die Zeilen mit problematischen Mnemonics in Anführungszeichen setzen. -
Wobei ich mich dann frage, warum man nicht cc65 nutzt, wie von @zrs1 ausgeführt.
Manche Leute wollen aber am Zielgerät fürs Zielgerät programmieren, vielleicht weil es dann besonders authentisch ist oder eben als persönliche Herausforderung, was ich wiederum ok finde.
Ich habe solche Sachen auch probiert (und mache es in Basic immer noch ab und an am Originalgerät), bleibe aber ansonsten Cross Development Warmduscher.
-
Wenn's unbedingt Retro sein soll, gibt es auch 6502-Crossassembler für CP/M.
Eigentlich alles besser als Assemblerprogrammierung direkt auf dem PET.Trotzdem war der MAE auf dem PET damals ein Meilenstein.
-
Ich nutze Pet Pal, der genau so arbeitet: laden, starten, new und im Basic-Editor Assembler eintippen (mit Zeilennummern). Die Programme lassen sich mit dsave speichern. In der ersten Zeile muss ein sys700 stehen, dann wird mit run assembliert. Pseudo-Opcodes steuern, wohin er assembliert, Ausgabe etc. Das Ganze gibts auf http://www.zimmers.net/anonftp…ming/pal_assembler.d64.gz. Eine Anleitung für den C64 gibt es hier: https://ist.uwaterloo.ca/~schepers/PAL.TXT. Ist hilfreich, wegen der Pseudo-Ops.