atari-home.de - Foren

Software => Coding => Thema gestartet von: guest3744 am Fr 18.09.2015, 14:07:42

Titel: Mit Turbo-Assemblerr 1.77 Binäre Datei herstellen, keine PRG zu starten
Beitrag von: guest3744 am Fr 18.09.2015, 14:07:42
Hallo, guten Tag.
Wie kann  man bitte mit dem Turboassembler 1.77 eine Binäre Datei erstellen ?
Also keine Startfähige PRG.
Oder wie kann man aus der PRG eine Binäre machen ?

Ich brauche die Daten für das GFA-Basic zum Call aufruf.

Danke.
Grruss
Titel: Re: Mit Turbo-Assmebeler 1.77 Binäre Datei herstellen, keine PRG zu starten
Beitrag von: laufkopf am Fr 18.09.2015, 16:10:34
Call vermeiden, soll Fehlerbehaftet sein. Besser ~C: benutzen

Für GFA-Basic muss der Assembler PC-relativen Code ausspucken. Ob das der Turboass kann, weiss ich nicht. Nehm doch den Assembler von Pure C oder den Devpac. Die können das auf jeden Fall. Dann nur assemblieren und _nicht_ noch mit einer Lib linken. Brauchst nur das ausgespuckte Objektfile
Titel: Re: Mit Turbo-Assmebeler 1.77 Binäre Datei herstellen, keine PRG zu starten
Beitrag von: simonsunnyboy am Fr 18.09.2015, 16:43:33
Im Turboasm halt darauf achten, daß die verwendeten Befehle alle PC-relativ sind. Irgendeinen Assemblersource übersetzen und als GFABASIC Inline hernehmen, funktioniert nicht.

Im Prinzip muss man irgendwo im Dialog halt sagen "binär abspeichern", k.A. mehr wie das ging.
Titel: Re: Mit Turbo-Assmebeler 1.77 Binäre Datei herstellen, keine PRG zu starten
Beitrag von: 1ST1 am Fr 18.09.2015, 17:17:34
Ich kannte den Autor von "Sparrow Text" und "Der Kaufmann von Venedig" und zummindestens das Erste ist in GFA mit Inline-Assembler geschrieben, das sollte also gehen.
Titel: Re: Mit Turbo-Assmebeler 1.77 Binäre Datei herstellen, keine PRG zu starten
Beitrag von: simonsunnyboy am Fr 18.09.2015, 18:44:34
Also im F1 Dialog kann man direkt sagen "GFA-INL" und dann speichert er das Zeug direkt ab. So hab ichs immer gemacht.
Titel: Re: Mit Turbo-Assmebeler 1.77 Binäre Datei herstellen, keine PRG zu starten
Beitrag von: guest3744 am Fr 18.09.2015, 19:58:21
Hallo, guten Tag.
Zitat
Also im F1 Dialog kann man direkt sagen "GFA-INL" und

Hmmm..., kannst mir bitte einmal zeigen wo du deinen Assembler her hast.

Danke.
Gruss
Titel: Re: Mit Turbo-Assmebeler 1.77 Binäre Datei herstellen, keine PRG zu starten
Beitrag von: simonsunnyboy am Fr 18.09.2015, 20:07:14
http://dhs.nu/files.php?t=codingtool von vor mindestens 10 Jahren oder so.
Titel: Re: Mit Turbo-Assemblerr 1.77 Binäre Datei herstellen, keine PRG zu starten
Beitrag von: guest3744 am Fr 18.09.2015, 22:06:54
Es hat jetzt  funktioniert mit Turboasm .
Ich weiss aber noch nicht welche kriterien da vom Turboasm verlangt werden.
Bei einem anderen src konnte man das Menü nicht anklicken, es war grau hinterlegt.

Von meine rcall.src wird eine rcall.inl angelegt.
Der Vorteil mit dem Befehl rcall ,man kann in Gfabasic Registerwerte übergeben.

Danke.
Gruss
Titel: Re: Mit Turbo-Assemblerr 1.77 Binäre Datei herstellen, keine PRG zu starten
Beitrag von: guest3744 am Sa 19.09.2015, 22:44:08
Zitat
Im Turboasm halt darauf achten, daß die verwendeten Befehle alle PC-relativ sind.

Was heisst das  beim Programmieren...?
Bitte einmal erklären.

Danke.
Gruss
Titel: Re: Mit Turbo-Assemblerr 1.77 Binäre Datei herstellen, keine PRG zu starten
Beitrag von: simonsunnyboy am So 20.09.2015, 09:17:13
Verwendete Befhele dürfen keine namentlichen Adressen enthalten, sondern nur Register und Verweise auf Daten in Abhängigkeit zu einem Register.

D.h.

move.w meine_variable,d0
meine_variable: dc.w 42

ist nicht PC-relativ, direkte Adresse meine_variable wird verwendet.

Um das gleiche PC-relativ zu erreichen, müßte man das so formulieren.

lea meine_variable(pc),a0   ; hole Zeiger relativ zum Programmzähler (nur Offset, keine feste Adresse)
move.w (a0),d0  ; lies Wert
meine_variable: dc.w 42


Die Adressierung ...(PC) funktioniert leider nicht in allen Konstellationen, weswegen man wie bei einem RISC häufig erst ein Zeigerregister laden muss.

Für GFABASIC ist das nicht schlimm, da kann man Pointer auf Daten per RCALL oder ~C: Aufurf via Stack leicht übergeben.

Beispiele für GFABASIC Inlines mit PC relativer Adressierung findest du bei mir auf der Homepage: http://paradize.atari.org/

Für mehr Details muss ich Dich an einen 68000er Guru und/oder Literatur verweisen.
Titel: Re: Mit Turbo-Assemblerr 1.77 Binäre Datei herstellen, keine PRG zu starten
Beitrag von: guest3744 am So 20.09.2015, 23:06:54
Ja, danke für deine Erklärung.
Du bist ja sehr fit....mit dem ST usw.

Kannst du mir vielleicht bitte schreiben , wo man das Handbuch für den Turboasm bekommen kann?
Es soll so etwas vorhanden sein, ich finde es aber nicht.
Meine Frage zielt dahin , ob man Entscheidungen in Turboasm auch mit "IF <,> = Endif " machen kann statt der ASM -Typischen Abfragen?

Danke.
GRuss
Titel: Re: Mit Turbo-Assemblerr 1.77 Binäre Datei herstellen, keine PRG zu starten
Beitrag von: mfro am Mo 21.09.2015, 09:33:07
... ob man Entscheidungen in Turboasm auch mit "IF <,> = Endif "...

Nein. Wie oben schon mal beschrieben, sind das Assembler-Direktiven, die schon zum Zeitpunkt des Assemblierens festlegen, ob das, was darin "geklammert" ist, mitassembliert werden soll oder nicht. Die "IF"-Bedingung muß deshalb schon zum Zeitpunkt des Assemblierens festliegen, also eine Konstante sein.

Verwendet wird das, um verschiedene Versionen des Programms in einer einzigen Quelle haben zu können, so etwa z.B.: "wenn's für einen Falcon sein soll, verwende die 68030-Befehle, wenn nicht, dann nur die für den 68000er".