Thread View: dnet.atari
4 messages
4 total messages
Started by Thorsten Zoerner
Wed, 26 Jun 1991 12:06
Pexec
Author: Thorsten Zoerner
Date: Wed, 26 Jun 1991 12:06
Date: Wed, 26 Jun 1991 12:06
28 lines
1618 bytes
1618 bytes
Servus. Ich hab da ein eher geringes Problem mit der GEMDOS-Pexec- Funktion unter TOS 1.4; aber vielleicht hat ja schon mal jemand in einer aehnlichen Richtung geforscht, und kann mir einige Muehen ersparen. Und zwar: Ich lasse den User ein File benennen, das dann als Overlay (3-Modus) eingeladen wird. Wird jetzt aber aus Versehen z.B. ein ASM statt PRG angegeben, so folgt natuerlich ein TOS- Error 66. Jedoch: Der allocierte Speicher wird vom TOS _nicht_ wieder freige- geben, und die Startadresse des verwendeten Speicherbereichs ist meines Erachtens auch nicht ermittelbar (D0=-66, A0 scheinbar = USP, alle and. Register natuerlich unveraendert). Was tun ? Ich greife bis jetzt zur Notloesung, vorher ein Malloc und Mfree zu machen, um so die hoechstwahrscheinliche Startadresse fuer das Overlay zu bekommen. Das klappt aber natuerlich auch nicht immer, und scheint mir auch nicht besonders legal. Hat jemand eine bessere Idee ? Tom ---- Th. Zoerner, Neuweiherstr.36, D-W-8523 BD tnzoerne@faui09.informatik.uni-erlangen.de
Re: Pexec
Author: Robert Risack
Date: Fri, 28 Jun 1991 16:26
Date: Fri, 28 Jun 1991 16:26
29 lines
2012 bytes
2012 bytes
tnzoerne@faui09.informatik.uni-erlangen.de (Thorsten Zoerner) writes: >Servus. >Ich hab da ein eher geringes Problem mit der GEMDOS-Pexec- >Funktion unter TOS 1.4; aber vielleicht hat ja schon mal jemand >in einer aehnlichen Richtung geforscht, und kann mir einige Muehen >ersparen. >Und zwar: Ich lasse den User ein File benennen, das dann als >Overlay (3-Modus) eingeladen wird. Wird jetzt aber aus Versehen >z.B. ein ASM statt PRG angegeben, so folgt natuerlich ein TOS- >Error 66. >Jedoch: Der allocierte Speicher wird vom TOS _nicht_ wieder freige- >geben, und die Startadresse des verwendeten Speicherbereichs ist meines >Erachtens auch nicht ermittelbar (D0=-66, A0 scheinbar = USP, alle >and. Register natuerlich unveraendert). >Was tun ? Eine Moeglichkeit waere, den Dateianfang selber auf Korrektheit zu Pruefen. Das erste Wort muss ein Sprungbefehl auf den eigtentlichen Programmanfang sein. ($60xx wobei das xx fuer $28 o.ae. steht). --- |----------------------------------------------------------------------| | Freedom without peace cannot be freedom ! / | \ | |-----------------------------------------------------------| | || | Robert Risack, Kosbacher Weg 40c, W-8520 Erlangen,GERMANY | /|\ || | rtrisack@faui09.informatik.uni-erlangen.de \ / | \ / | |----------------------------------------------------------------------|
Re: Pexec
Author: Claus Brod
Date: Mon, 01 Jul 1991 14:49
Date: Mon, 01 Jul 1991 14:49
14 lines
1236 bytes
1236 bytes
rtrisack@faui09.informatik.uni-erlangen.de (Robert Risack) writes: >Eine Moeglichkeit waere, den Dateianfang selber auf Korrektheit zu >Pruefen. Das erste Wort muss ein Sprungbefehl auf den eigtentlichen >Programmanfang sein. ($60xx wobei das xx fuer $28 o.ae. steht). Es muss $601A sein. ---------------------------------------------------------------------- Claus Brod, Am Felsenkeller 2, Things. Take. Time. D-8772 Marktheidenfeld, Germany (Piet Hein) csbrod@medusa.informatik.uni-erlangen.de Claus_Brod@wue.maus.de ----------------------------------------------------------------------
Re: Pexec
Author: Thorsten Zoerner
Date: Mon, 01 Jul 1991 15:47
Date: Mon, 01 Jul 1991 15:47
28 lines
1977 bytes
1977 bytes
csbrod@immd4.informatik.uni-erlangen.de (Claus Brod) writes: >rtrisack@faui09.informatik.uni-erlangen.de (Robert Risack) writes: >>Eine Moeglichkeit waere, den Dateianfang selber auf Korrektheit zu >>Pruefen. Das erste Wort muss ein Sprungbefehl auf den eigtentlichen >>Programmanfang sein. ($60xx wobei das xx fuer $28 o.ae. steht). >Es muss $601A sein. ( ^^^^ ungemein konstruktiv!) Nun gut. Das hilft vielleicht, um eine XY-Datei von einem Programm zu unterscheiden. Was mache ich jetzt aber, wenn jemand ein File angibt, das im Prinzip zwar ein korrekt ausfuehrbares Programm ist, aber nur einen kleinen Fehler, z.B in der Relocation-Tabelle hat, und TOS deshalb die Ausfuehrung (bzw. das Laden) verweigert ? Dann muesste ich ja die komplette Arbeit von TOS vorher selber machen, naemlich Header, Segmentlaengen und Rel-Tab ueberpruefen. Genau _diesen_ Aufwand wollte ich mir ersparen ! Ich bin mittlerweile zu der Auffassung gekommen, dass dieses Feature in die Liste der TOS-Bugs aufzunehmen ist. Als Loesung fuer mein Programm werde ich wohl die malloc/mfree-Loesung belassen und im Falle eines Versagens eine smarte Alert-Box mit entsprechendem Hinweis anzeigen. Tom ---- Th. Zoerner, Neuweiherstr.36, D-W-8523 BD tnzoerne@faui09.informatik.uni-erlangen.de
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads