Wie mach ich aus Bibo-Assemler Dateien, Binäre COM Dateien


Wie mach ich aus Bibo-Assemler Dateien, Binäre COM Dateien

von Caverlord » Mo 1. Nov 2004, 00:03
Hallo zusammen,

Ich habe mal ne blöde Frage,
wie mache ich aus einer Biboassembler ASM Datei eine Lauffähige Com Datei

Habe ein kleines Test-Programm geschrieben, was ich nach dem assemilieren auch ab adresse $4000 starten kann.

Wenn ich sie aber mit BSA speichere, kann ich sie aus dem Dos nicht starten, er läd zwar, aber springt dan ins dos zurück.

Ich kann es aber auch nicht bei Adresse $4000 (16384) starten, dann stürzt der rechner ab.

Ist der befehl BSA nicht zum Compilieren, oder was mach ich falsch.

mfg. Heiko

von cas » Mo 1. Nov 2004, 18:59
Hi,

benutze den Opcode .OF (für Objectfile) vor dem ersten .OR.

Beispiel:

<pre>
00010 ; Testprogramm
00020 .OF "D:TEST.COM"
00030 .OR $2000
00040 START LDA STRIG0
[...]
00100 INITVEC .OR $02E0 .
00110 .DA START
</pre>
Dann mit ASM kompilieren, und das Programm wird nun auf die Disktte geschrieben anstatt in den Hauptspeicher. Wenn es wieder in den Hauptspeicher gehen soll, dann den ".OF" Befehl auskommentieren.

In der Infothek gibt es das Bibo Assembler Handbuch als PDF
http://www.strotmann.de/twiki/bin/view/ ... oAssembler

Carsten

von Ghost » Mo 1. Nov 2004, 20:02
Hi,
der BSA Befehl schreibt nur den com header:
$FF,$FF,
low byte Anfangsadresse,
high byte Anfangsadresse,
low byte Endadresse
high byte Endadresse
.....und dann kommt der Code

Nun haengt es am DOS, ob es nach dem Laden
direkt in den Codebereich springt oder (korrekt)
nur das File an die richtige Stelle im Speicher schreibt.
Im Atari*System Reference manual sind die
beiden "Autostart" Moeglichkeiten fuer
com files aufgefuehrt:
Run tailer und Init tailer.( das was von CAS beschrieben
wurde).
Das Manual ist auf Carstens grandioser wiki site zu finden:
http://strotmann.de/twiki/pub/APG/PgmRe ... erence.pdf
Seite 24 :-)

Gruss
-/\/\artin

ps
BSA assembliert nicht...d.h. vorher ein ASM zum Assemblieren
eingeben und erst dann mit BSA speichern. Am besten ein
.LI OFF ganz am Anfang des Listings einfuegen. So bekommt man
den Bereich, der zu speichern ist, gut angezeigt..

pps
Mmmh, gute Anregung den BSA Befehl um eine Option zu erweitern :-)

von Caverlord » Mo 1. Nov 2004, 22:45
Danke für die schnelle Hilfe, jetzt funzt es.

von pps » Mo 1. Nov 2004, 23:11
Also ich habe beim Bibo früher einfach noch ein Label START definiert und das am Ende meines Listings an die Adresse $2e2 mittels .DA START die Runadresse ans File automatisch rangehängt.

Code: Alles auswählen
             .OF Filename
----------------------------------------------------------
START        LDA...

...

             .OR $2e2
             .DA START
---------------------------------------------------------


Durch diesen "Trick" hat man sofort ein lauffähiges Programm.