Atari.Org
Click Here
HomeNewsServicesForumsSupport

Talk Atari

Atari.Org Forums


16/32-Bit

8-Bits

Classics

Emulation

Jaguar

Lynx

Classic Consoles Forum 8-Bits Forum 16/32 Forum
Emulation Forum Jaguar Forum Lynx Forum
 
 Subject: RE: using GFABASIC with Assembler
Author: Mill (ppp-28-57.20-151.libero.it)
Date:   11-02-2001 01:39

Hi.
I remember that in GFA Basic v2.02 there was a statement named "CALL" which enabled you to load and start an assembly routine. Anyway, in GFA Basic 3.00 it looks like following:

CALL adr(x,y, ...)

adr : avar (mindestens 32 bit, besser adr%)
x,y : iexp

mit Hilfe des Befehls CALL konnen ebenfalls Assembler oder C Unterprogramme aufgerufen werden. Datei ist 'adr' die Adresse, ab der das Assemblerprogramm im Speicher liegt. Es besteht die Moglichkeit eine Parameterliste zu ubergeben. Nach dem Aufruf von CALL befindet sich die Rucksprungadresse auf dem Stack (die Assembler routine musz mit RTS enden). Dahinter folgt die Anzahl der ubergebenen Parameter als 16 bit Wert und schlieszlich die Adresse, ab der die Parameter im Speicher liegen, als 32 bit Wert. Alle Parameter werden als Langworte (32 bit) interpretiert.
Es besteht hier die Moglichkeit, auch Strings als Parameter zu ubergeben. In diesem Fall ist der Ubergabewert die Anfangadresse des Strings.

Stackaufbau
(sp) -> Rucksprungadresse
4(sp) -> Anzahl der Parameter (16 bit)
6(sp) -> Adresse des Parameterfeldes (32 bit)

Please do not reply me in German (I understand only a few words of it); and please visit www.geocities.com/lovpopa (it may be useful).

HTH
Mill

 Topics Author  Date
  using GFABASIC with Assembler new Matthias Arndt 10-31-2001 09:57 
   RE: using GFABASIC with Assembler  Mill 11-02-2001 01:39 
    RE: using GFABASIC with Assembler new Matthias Arndt 11-02-2001 09:57 

 Reply To This Message
 Your Name:
 Your Email:
 Subject:
 Human verification:   What's this?
               _    __     _ _     
 _ __  ___ _ _| |_ / _|___| (_)___ 
| '_ \/ _ \ '_|  _|  _/ _ \ | / _ \
| .__/\___/_|  \__|_| \___/_|_\___/
|_|                                
    



Copyright © 1997-2024 Atari.Org 
Atari is registered trademark of Infogrames