•  Back 
  •  Accessories 
  •  Index 
  •  Tree View 
  •  Cross references 
  •  Help page 
  •  Show info about hypertext 
  •  View a new file 
Topic       : TOS - das Betriebssystem
Author      : 
Version     : tos.hyp (5. März 2013)
Subject     : Programmieren/Atari
Nodes       : 3001
Index Size  : 93602
HCP-Version : 5
Compiled on : Atari
@charset    : atarist
@lang       : 
@default    : Titel
@help       : 
@options    : +g -i -s +x +zz -t4
@width      : 70
View Ref-File8.2.1.1  Startupcode für Accessories                               TOS

Um zu testen, ob eine Applikation als Programm oder als Accessorie 
gestartet worden ist, kann man wie folgt vorgehen:

   ∙ wenn beim Programmstart das Register a0 den Wert Null hat, dann 
     handelt es sich um einen normalen Programmstart

   ∙ anderenfalls handelt es sich um ein Accessorie, und Register a0 
     enthält einen Zeiger auf die (unvollständig) ausgefüllte 
     BASEPAGE. Die TPA ist bereits passend geschrumpft (auf die Summe 
     von Basepagegröße und der Länge der drei Programmsegmente), ein 
     Stack muß erst noch angelegt werden.

Hinweis: Mit diesen Informationen ist es kein Problem, den Startupcode 
für ein Programm so zu gestalten, daß es selbständig erkennt, wie das 
Programm gestartet worden ist, und entsprechend die Initialisierung 
fortzusetzen. Bei den meisten C-Compilern wird im Startupcode 
automatisch die externe Variable _app initialisiert, die genau dann 
gleich Null ist, wenn das Programm als Accessorie gestartet worden 
ist. Damit kann man Programme so entwickeln, daß sie sowohl als 
Accessorie als auch als normales Programm eingesetzt werden können.

Querverweis: AES   Accessories in MagiC   Programmstart und TPA