






                            TurboAss
                          1989 -soft
                von Markus Fritze & Sren Hellwig

                           Version 1.7









































                  Markus Fritze, Sren Hellwig
                            Mrz 1990







1.1                  Turbo-Ass Kurzanleitung                    1


11 AAllllggeemmeeiinneess     

11..11 EEiinnlleeiittuunngg     

Nach  langem  hin  und  her  haben  wir  uns  entschlossen  unser
Assembler-Paket  als  Shareware  auf  den  Markt  zu  werfen. Der
Assembler  wurde  vormals  durch OMIKRON.Software unter dem Namen
OMIKRON.Assembler  verkauft.  Die  Shareware-Version  ist  jedoch
eine  erweiterte  Version  des  OMIKRON.Assemblers.  Sie  enthlt
weniger   Fehler,   weitere  Features  und  ist  noch  ein  wenig
schneller.  Zum  Paket  gehrt (natrlich) auch ein Debugger, der
Bugaboo  (vormals OMIKRON.Debugger). Somit kann nun jeder User in
den  Genu  eines  schnellen  und leistungsfhigen Assemblers und
Debuggers  kommen;  zumal  es  zwar viele Programmiersprachen als
Shareware   bzw.   PD   gibt,  aber  noch  keinen  (vernnftigen)
Assembler.  

DDIIEE  FFIIRRMMAA OOMMIIKKRROONN..SSOOFFTTWWAARREE HHAATT NNIICCHHTTSS MMIITT DDIIEESSEEMM AASSSSEEMMBBLLEERR--PPAAKKEETT
ZZUU  TTUUNN..  --SSOOFFTT IISSTT AALLLLEEIINNIIGGEERR IINNHHAABBEERR AALLLLEERR RREECCHHTTEE AAMM AASSSSEEMMBBLLEERR
UUNNDD DDEEBBUUGGGGEERR!! 

Dieser  Text  ist  nicht  als eine Anleitung gedacht, sondern nur
als  Kurzeinfhrung  in  den Assembler. Die vollstndig Anleitung
auf  ca.  240  Seiten gibt es bei den Autoren.  Zur Not kann auch
das  ST-Magazin  11/89  und  12/89 herangezogen werden.  Dort hat
die Referenzkarte den Assembler und Debugger zum Thema.  

Nachtrag: 

Es  fehlen ziemlich viele Features in diesem README, im Vergleich
zur Anleitung, es wird mir einfach zu viel... (Markus) 


11..22 FFeeaattuurreess ddeess TTuurrbboo--AAssss   

   - Einfache und durchdachte (!) Bedienung.  

   - Der  Assembler  bersetzt  durchschnittlich 1 300 000 Zeilen
     pro Minute.  

   - Syntax-Check   bereits  bei  der  Eingabe.  Teilweise  sogar
     Semantik-Check!   Es  werden  sowohl  Tippfehler,  wie  auch
     doppelt   vergebene  Symbolnamen  bereits  bei  der  Eingabe
     gemeldet.  

   - Viele  besonders  leistungsfhige  Funktionen  des  Editors,
     z.B.  Suche  von Symbolen, Ersetzen von Symbolen, Einklappen
     von Programmteilen (wie in GFA-Basic 3.0), u.v.a.m.  

   - Fantastische  Kombination  von  Debugger  und Assembler. Bei
     einem   Absturz   eines   Programms  im  Debugger  kann  der
     Assembler    automatisch    die   Absturzadresse   in   eine





1.1                  Turbo-Ass Kurzanleitung                    2


     Zeilennummer umrechnen!!! 

   - Eigene   Tastatur-   und  Bildschirmtreiber  =>  selbst  bei
     hrtesten   Programmabstrzen  funktionieren  Assembler  und
     Debugger noch.  

   - KEINE Makros!!! 

   - u.v.a.m.  


11..33 WWaass iisstt SShhaarreewwaarree??   

   - Jeder   kann/darf/mu/soll  den  Turbo-Ass  kopieren!  Dabei
     mssen aber stets ALLE (!) Dateien mitkopiert werden.  

   - Wem  den  Assembler  gefllt,  sollte  uns  fairerweise 50DM
     berweisen.  Das hat fr alle Parteien Vorteile: 

     Fr uns: 
     - Wir  arbeiten  nicht  ganz umsonst (im Turbo-Ass stecken 3
       "Mannjahre" Arbeit) 

     Fr den User: 
     - Er bekommt eine 240 Seiten starke Anleitung 

     - Er   bekommt   die   neuste   Version   mit   persnlicher
       Seriennummer 

     - Er bekommt das erste Update kostenlos 

     - Er erhlt bei gefundenen Fehlern eine fehlerfreie Version 

     - Er kann sich bei Problemen an uns wenden 

     - Er  bekommt  fr  jeden  User,  der bei Registierung seine
       Seriennummer  angibt, 10DM (allerdings maximal 10 mal, wir
       wollen  keine PD-Vertriebe finanzieren). Das Geld ist also
       eine  "Entschdigung" fr das Vorfhren des Assemblers und
       das Kopieren.  

     - Nochmal:  Lt  sich  jemand  registrieren, so gibt er die
       Seriennummer  des vorher benutzen Assemblers an. Der User,
       dem  diese  Seriennummer  gehrt,  bekommt  vom  uns 10DM.
       Alles klar? 

Wer diese Angebot annehmen will, wende sich bitte an: 
                Markus Fritze
                Birkhahnkamp 38
                2000 Norderstedt 1
                Tel: 040/5223955
                (ab 18Uhr, auch am Wochenende (NIE VOR 12UHR!!!))





1.1                  Turbo-Ass Kurzanleitung                    3


                BLZ: 20069111, Norderstedter Bank
                     Kontonummer: 407860

Ich  bitte  allerdings  teilweise  um etwas Geduld; ich hoffe die
meiste   Post  am  selben  Tag  zu  erledigen,  wenn  aber  keine
Anleitungen  mehr  da sind oder wenn wir gerade einige Neuerungen
implementieren,  kann  es  schon  mal etwas dauern (Wenn nach 2-3
Wochen  allerdings  nix passiert kann eine Anfrage klren, ob die
Post auch angekommen ist).  



11..44 HHaarrddwwaarreevvoorrrraauusssseettzzuunnggeenn     

Atari  ST  mit  512k,  wobei allerdings erst ab 1Mb Assembler und
Debugger   gemeinsam   im   RAM   gehalten   werden  knnen,  was
seinerseits  wieder ein sehr wirksames Debugging erst ermglicht.
Die  hohe  Auflsung  bietet  sich wohl eher an, als die mittlere
Auflsung  (Ist  einfach  augenfreundlicher);  aber der Turbo-Ass
luft sowohl in Farbe, wie auch in S/W.  


11..55 IInnssttaallllaattiioonn     

TURBOASS.PRG,   TURBOASS.CFG,   TURBOASS.DAT,   BUGABOO.PRG   und
CALL.PRG  auf  eine  Disk,  bzw.  in  einen  Ordner kopieren. Das
war's.  


11..66 ZZuu ddeenn AAuuttoorreenn   

Sren  Hellwig  und  ich (Markus Fritze) sind zur Zeit 21 bzw. 22
Jahre  alt  und  studieren  technische Informatik an der FH-Wedel
bei  Hamburg.  Deswegen bitte wir auch teilweise um etwas Geduld,
wenn  Anfragen nach Updates, etc. kommen; das Studium geht leider
vor.    Zudem   beantworte   ich   jeden   Brief,  der  Rckporto
beinhaltet.  Post  ohne  Rckporto  wird  nur  in  Ausnahmefllen
beantwortet (Zur Registrierung ist KEIN Rckporto ntig!) 


11..77 HHaaffttuunngg//RReecchhttee     

Alle  Rechte  am  Turbo-Ass liegen bei -soft. Wobei jeder seinen
Assembler  beliebig  kopieren  darf. Auch das Upload in Mailboxen
ist  erlaubt.  Der  Turbo-Ass und das Handbuch wurden mit grter
Sorgfalt   erstellt.   Leider   sind  Fehler  nie  auzuschlieen,
deswegen  mchten  wir  sie  darauf hinweisen, da wir weder eine
Garantie  fr  die  Fehlerfreiheit  geben,  noch  die Haftung fr
irgendwelche  Folgen,  gleich ob durch Fehler im Handbuch, in der
Software  oder  in der Hardware verursacht, bernehmen knnen. Es
wird  wohl  jeder verstehen, da wir keine besondere Begeisterung
verspren,  wenn  jemand  behauptet,  der Assembler habe im seine





1.1                  Turbo-Ass Kurzanleitung                    4


Platte  mit  Sourcetexten  im  Werte  von mehreren Millionen Mark
zerstrt,  uns  auf Schadenersatz verklagen will. Also: Benutzung
auf   eigene  Gefahr!  (Dieser  Abschnitt  gilt  wohl  bei  allen
Softwarefirmen.  


22 DDeerr AAsssseemmbblleerr    


22..11 BBeennuuttzzeerroobbeerrffllcchhee     

Die  Benutzeroberflche ist nicht von GEM o.. abhngig, d.h. neu
programmiert,  das  hat  den  Vorteil, da der Assembler sicherer
gegen  Abstrze  und  auch  schneller  ist.  Zudem konnten einige
nette   Features   implementiert   werden.  Trotzdem  sollte  die
Umstellung  von  GEM  wohl  nicht ins Gewicht fallen. Die kleinen
Buchstaben  in  den  Buttons  bewirken mit ALT zusammen gedrckt,
das Anklicken des Buttons wie mit der Maus.  


22..22 DDiiee MMaauuss iimm AAsssseemmbblleerr  

Man  kann  mit  der  Maus eine ganze Menge Dinge machen, hier sei
jedoch nur die Benutzung im Assembler erklrt: 

Im Sourcetext:
Linke Maustaste:
Einfachklick: Cursor setzen
langer Klick: Block markieren (mit Scrollen)
Doppelklick : Sprung zur Definition des angeklickten Symbols

Rechte Maustaste:
Einfachklick: Sourcetext scrollen (nur am Rand klicken!)
Doppelklick : Formel in den Rechner bernehmen

In der Statuszeile:
einfach alles mal mit links bzw. rechts anklicken...


22..33 DDeerr EEddiittoorr    

Jede  eingegebene  Zeile  wird  automatisch  auf ihren Syntax und
teilweise  auch  auf  die  Semantik  berprft.  Wenn  die  Zeile
fehlerfrei  ist, wird sie sofort formatiert ausgegeben. Bei einem
Eingabefehler   wird   in   der   Statuszeile  die  Fehlermeldung
angezeigt.  


22..44 BBeessoonnddeerrhheeiitteenn     

Als   Adressierungsart   wird   auch   "absolut   short"   direkt
untersttzt.   Dazu   ist  hinter  der  Adresse  ".w"  anzugeben.





1.1                  Turbo-Ass Kurzanleitung                    5


Line-A-Routinen  knnen  mit  "LINEA  #Nummer" eingegeben werden.
Der   Assembler  wandelt  nicht-Motorola  Eingaben  wenn  mglich
automatisch in das Motorola-Format um.  


22..55 OOppttiimmiieerruunnggeenn     

Der  Assembler  kann  einige  Optimierungen selbststndig finden.
Dazu gehren: 
Absolut lang    -> relativ
relativ         -> relativ short
Absolut lang    -> PC-relativ
MOVE.L #xx,A0   -> LEA xx,A0 (wenn dannach PC-relativ was bringt)
MOVE.L #xx,-(SP)-> PEA xx,A0 (wenn dannach PC-relativ was bringt)
Ferner  werden  einige  fr  C-Compiler typische Sprnge gefunden
(z.B.   2   aufeinanderfolgende   BRA,   wobei   das   2.BRA  nie
angesprungen  werden  kann)  Wenn  der Assembler optimieren kann,
erscheint  nach  dem  Assemblieren ein Button "ANPASSEN", welcher
die  Optimierungen  im  Sourcetext  vornimmt.   Dabei  kann  auch
zurck-"optimiert" werden, wenn dies ntig sein sollte.  


22..66 FFoorrmmeellnn     

Alles was so Standard ist: 
     + - * / ! (log.NOT) ~ (NOT bzw. EOR) 
     << (SHL) >> (SHR) | (OR) & (AND) 
     sowie Vergleiche 

Als Zahlenbasis sind mglich: 
     Dezimal     : . oder nix 
     Hexadezimal : $ 
     Binr       : % 
     ASCII       : " oder ' 

Als   interne   Variablen   sind  ^^DATE  (GEMDOS-Datum),  ^^TIME
(GEMDOS-Zeit)  *  (akt.PC),  ^^RSCOUNT  (akt.Wert des RS-Zhlers)
und ^^SYMTAB (<>0, wenn Symboltabelle erzeugt wird) 

Symbole   sind   max.23   Zeichen   lang.   Alle   Zeichen   sind
signifikant.   Erlaubt sind auch Umlaute und alle anderen Zeichen
> 126.  


22..77 TTaassttaattuurrkkoommmmaannddooss     

Cursortasten,  Backspace,  etc.  wie gewohnt CTRL-Y, CTRL-B, etc.
wie in TEMPUS 
CTRL-D verdoppelt die Cursorzeile.  
CTRL-M/ALT-M ermglicht das Verschieben der Zeile.  
CTRL-W ndert die Zahlenbasis der Zahl unter dem Cursor 
CTRL-U  markiert  alle  Zeichen  mit  Warnungen,  in  welchen ein





1.1                  Turbo-Ass Kurzanleitung                    6


Symbol  definiert  ist, welches nirgends benutzt wird. Damit kann
man prima unbenutzt Unterprogramme finden! 
ALT-Zehnerblock wie bei MS-DOS 
ESC+Buchstabe Abkrzung fr einen Befehl 
CTRL-ESC   Tastaturmakro   beginnen.   Dann  zu  belegende  Taste
drcken.   Alle   folgenden   Tasten  (nicht  die  Maus!)  werden
aufgezeichnet.  Mit  ALT-ESC  wird  die Definition abgeschlossen.
Die  belegte  Taste  kann  mit  CTRL-ESC,  Taste,  ALT-ESC wieder
freigegeben werden.  


22..88 EEiinn ppaaaarr WWoorrttee zzuu ddeenn 

Mit  "Laden..."  kann  auch  ein ASCII-Text eingeladen werden. Er
wird  dabei  automatisch  ins  interne Format gewandelt.  "Symbol
suchen..."  und  "Symbol  ersetzen..."  ermglichen  das schnelle
Finden  bzw.  schnelle  Ersetzen  von Symbolen. Dabei knnen z.B.
alle  Symbole gefunden werden, die mit "M" anfangen (Maske:"M*"),
ohne  da jeder MOVE-Befehl gefunden wird (wie bei ASCII-Editoren
blich).   "Sprung  zu  Zeile.."  ermglich  auch das Springen zu
Symboldefinitionen   (Eingabe:z.B."M*").    Die   Dialogboxen  im
"Einstellungen"  Men sind zum Teil selbsterklrend, der Rest ist
entweder  unwichtig  oder zu kompliziert, als da er hier erklrt
werden knnte.  


22..99 DDeerr AAsssseemmbblleerr    

Wird  mit F1 aufgerufen. Treten bei der Assemblierung Fehler auf,
werden  alle fehlerhaften Zeilen markiert. Nach der Assemblierung
kann  man  dann mit CTRL-J bzw. Shift-CTRL-J von Fehler zu Fehler
springen.    Der    Assembler    speichert    die   Fehler,   die
Cursorposition, die Marker etc.  brigens mit dem Sourcetext ab! 

In  der  Dialogbox nach (!) der Assemblierung, knnen noch einige
Extras eingestellt werden: 

   - Soll  eine  Symboltabelle  an  das  Programm  gehngt werden
     (bzw. an den Debugger bergeben werden)? 

   - Ferner  kann das erzeugte Programm in verschiedenen Formaten
     abgespeichern. Mglich sind: 

   DEBUGGER  :  Sprung in den Debugger mit Programmbergabe (KEIN
   SPEICHERN) 
   STANDARD : Programm abspeichern (halt ganz normal...) 
   DATAS    : Data-Zeilen erzeugen (fr OMIKRON.Basic) 
   ABSOLUT   :  Programm  fr  eine  best.  Adresse  (z.B. EPROM)
   erzeugen 
   BASIC     :  spezielles  Format fr Basic, welches sich selbst
   reloziert 
   OMINLINE : INLINE-Zeile fr OMIKRON-Basic erzeugen 





1.1                  Turbo-Ass Kurzanleitung                    7


   PARALLEL : spez.bertragungsformat zum Amiga 
   SMALLDRI : DRI-Format erzeugen (allerdings OHNE Importe) 
   GFAINLINE : GFA-Inline-Format erzeugen.  
   FSTANDARD   :   Fast-Load-Bit  im  Header  setzen  (ST-Magazin
   11/89), sonst wie 

        STANDARD 



22..1100 PPsseeuuddoo--OOppccooddeess ddeess AAsssseemmbblleerrss   

DC,  DS,  BLK,  DCB,  EVEN,  ALIGN, TEXT, DATA, BSS, END, =, EQU,
GLOBAL, CNOP, ORG, ILLEGAL und REG 
wie blich.  

DXSET Lnge[,Fllwert] Tabelle definieren 
DX 'String' Tabelleneintrag auf Lnge mit Fllwert aufgefllt 
RS, RSRESET, RSSET, RSEVEN, RSBSS Relatives Segment 
OPT D+ normale Symboltabelle an 
OPT X+ erweiterte Symboltabelle an 
OPT W+ Warnungen an 
OPT P+ PC-relatives Programm mu erzeugt werden 
OPT O+ Optimierungen an 
Mit '-' kann etwas ausgeschaltet werden 
OUTPUT 'Filename' Default-Filename 
PATH 'Pfad' Pfad fr IBYTES setzen 
IBYTES  'DEGAS.PI3',32000,34  Ldt ein Daten-File der Lnge 32000
ab Byte 34 der Datei ein (Hier: ein Degas-Bild) 
BASE is' viel zu kompliziert...  
REPT  Anzahl,  ENDR  wiederholt  Anzahl  mal  den  Sourcetextteil
zwischen 
REPT und ENDR 
IF, ELSE, ENDC bedingte Assemblierung 
FAIL Assemblierung abbrechen 


33 DDeerr DDeebbuuggggeerr    


33..11 VVoorrwwoorrtt     

Es  ist  eigentlich  unmglich  den Debugger KURZ zu beschreiben,
deswegen  hier  nur  die  wichtigsten  Befehle (mit HELP kann man
alle mal sehen bzw.  in der Anleitung) 


33..22 AAllllggeemmeeiinneess     

Der  Debugger  benutzt selber keine I/O-Routinen des TOS, d.h. er
ist  ziemlich  unanfllig  gegen  Abstrze.  Bei Lade-Operationen
u..    wird    aber    dann    natrlich   doch   auf's   GEMDOS





1.1                  Turbo-Ass Kurzanleitung                    8


zurckgegriffen.  

Er  verwaltet  eine  eigene  Bildschirmseite,  soda Programm und
Debugger sich nicht auf einer gemeinsamen Seite tummeln.  

Das Debugging kann sowohl mit Tastatur und Maus erfolgen.  

Der  Debugger  kann  resident im RAM gehalten werden, indem er in
den  AUTO-Ordner  kopiert  wird  oder  mit  dem  Befehl  RESIDENT
gehalten  wird.   Der  Debugger kann dann mit CALL.PRG aufgerufen
werden.  Auch  der  Assembler kann auf den Debugger zugreifen (Er
kann ihn aber auch nachladen).  


33..33 DDiiee BBeeddiieennuunngg    

Die  2  oberen  Zeilen  entsprechen  den Funktionstasten (mit und
ohne  Shift).  Die  3 Folgezeilen stellen die Registerinhalte und
Flags  dar.   Alle  Teilen in diesen 5 Zeilen knnen mit der Maus
ausgelst werden.  

Die  restlichen  (max.20  Zeilen)  sind  frei  vernderbar.  Hier
erfolgen die Eingaben, die Ausgaben. Hier tobt das Leben...  

Die  Tastaturbelegung  (Cursortasten,  CTRL-M,  CTRL-1, etc.) ist
hnlich der des Assemblers.  

Eingaben   erfolgen   stets   ab  Zeilenanfang  bzw.  hinter  der
Hexzahl.  Leerzeichen werden ignoriert bzw. dienen als Trenner.  

Wenn   der  Assembler  den  Debugger  aufgerufen  hat,  kann  man
CTRL-HELP  zurckspringen.  Dabei  wird  der aktuelle PC-Stand in
eine  Zeilennummer  UMGERECHNET.  D.h.  wenn  ein  Programm  beim
Debuggen  abgestrzt  ist  und der PC im Programm steht, kann man
CTRL-HELP zur entsprechenden Stelle im Sourcetext springen.  

Mit  SHIFT-SHIFT  kann  ein laufendes Programm angehalten werden.
Der  Ring-Indikator  funktioniert  allerdings  auch. Der Debugger
ist zudem RESETFEST. Als Notbremse ab und zu sinnvoll.  


   F1  - Fhrt den nchsten Befehl aus 

   SF1 -  Bricht  beim  nchsten  Sprungbefehl  ab. Simuliert den
     Tracemode des 68020 Prozessors.  

   F2  -  Setzt  hinter  den nchsten Befehl einen Breakpoint und
     startet   das   Programm.   Damit   kann  z.B.  schnell  ein
     Unterprogramm   ausgefhrt  werden  oder  ein  DBRA  beendet
     werden.  

   SF2 - nicht weiter wichtig 





1.1                  Turbo-Ass Kurzanleitung                    9


   F3  -  Startet  das  Programm und bricht beim nchsten RTS ab.
     ACHTUNG!  Wenn mit MOVEM Werte auf dem Stack gerettet werden
     => Bomb! 

   SF3 - wie F3 nur bis zum nchsten RTE 

   F4  -  Fhrt  den  nchsten TRAP NICHT aus, sondern springt in
     ihn hinein.  

   SF4 - Programm ohne Endebedingung starten 

   F5  - nchsten Befehl ignorieren, d.h. berspringen 

   SF5 - Insert/Overwrite toggeln 

   F6  - Sourcecode anzeigen (nur wenn vom Assembler bergeben) 

   SF6 - die umgerechneten Marker des Assemblers anzeigen.  

   F7  - Memorydump ab dem PC 

   SF7 - Breakpoints anzeigen 

   F8  - Disassemble mit Dump ab PC 

   SF8 - Info ber die Speicherbelegung 

   F9  - List ab PC (mit Symbolen, wenn vorhanden) 

   SF9 - Screen lschen, Warmstart 

   F10 - Umschalten der Bildschirmseite (Toggeln) 

   SF10- Quit mit Sicherheitsabfrage 


33..44 DDiiee BBeeffeehhllee    

Alle  Befehle  knnen  auf ein Minimum abgekrzt werden. An ALLEN
Stellen  sind  als  Parameter  beliebige  Ausdrcke erlaubt (d.h.
Formeln etc.) 

?Term   Rechnet den Term aus 
Term  darf  (bis  auf Vergleiche) alle Operationen des Assemblers
enthalten.  Zudem  ist  mit  {400}.l  eine indirekte Adressierung
mglich.   ".l"  gibt  dabei  die Zugriffsbreite an.  Alle Zahlen
werden  als  HEXZAHLEN  angesehen.  Dezimalzahlen  sind  mit  "."
einzuleiten.  Bei  einer Symboltabelle kann man mit ".Symbolname"
auf dieses zugreifen.  

Definierte Variablen (ein Teil davon) 
^D0-^D7 Die Register D0-D7 





1.1                  Turbo-Ass Kurzanleitung                   10


^A0-^A7 Die Register A0-A7 
PC, USP, SSP, SR, CCR, SP Die gleichnamigen Register 
^M0-^M9 Die umgerechneten Marker des Assemblers 


Alle obigen Variablen sind mit 
LET Variable=Term nderbar.  
LET lt sich mit "~" abkrzen.  

Noch ein paar Read-Only-Variablen: 
TEXT,  DATA,  BSS,  START,  END,  BASEPAGE,  BP,  ACTPD, MEMBASE,
SAVEAREA 

Es gibt noch etwa 20-30 weitere nicht so wichtige Variablen.  

BREAKPOINT [Nummer=Adresse[,[*|=Wert|Anzahl|?Bedingung]|K]] 
Breakpoints anzeigen, lschen, ndern, setzen 


   B5=PC+.100 Breakpoint  5  (0-15  ist  mgl)  auf Adresse PC+100
     setzen 

   B K        Alle Breakpoints lschen 

   B          Alle Breakpoints anzeigen 

   BK3        Breakpoint 3 lschen 


   B0=Adr,Anzahl   :  Breakpoint  bricht  beim  Anzahl. Erreichen
     ab.  

   B0=Adr,*        :  Breakpoint  bleibt  auch nach dem Erreichen
     erhalten.     Normale    Breakpoints    werden   automatisch
     gelscht.  

   B0=Adr,=Wert    :  Zhler  auf die Adresse Adr setzen. In ^BC0
     wird hochgezhlt wie oft die Adresse erreicht wurde.  

   B0=Adr,?Term    :  Bedingter  BKPT, Abbruch, wenn Term<>0 z.B.
     B0=Adr,?^D0=4711 => Abbrucht, wenn PC=Adr UND D0= 

GO [Adr] 
Programm an Adresse Adr, bzw. PC starten 

TRACE 
Wie F1 

SHOWMEMORY Term 
16 Bytes ab Term stets anzeigen 

UNTRACE [Adr] 





1.1                  Turbo-Ass Kurzanleitung                   11


solange Tracen, bis Bedingung erfllt 

IF Term 
Bedingung fr UNTRACE 

OBSERVE Trapno,Funkno 
Abbruch,  wenn  Trapno(Funktion)  ausgefhrt  wird.  z.B. OBSERVE
14,8 => Abbruch bei XBIOS(8) = Floprd() 

CLS 
2.Bildschirmseite lschen 

MOUSEON / MOUSEOFF 
VDI-Maus an/aus 

|Befehl 
Befehl ausfhren (zum Testen echt prima) 

LEXECUTE "Filename"[,"Commandline"] 
Programm ausfhrbar laden (=> Pexec()) Dann mit GO zu starten.  

LOAD "Filename"[,Adresse] 
File nicht ausfhrbar laden 

SAVE ["Filename"[,Adresse[,Endadresse]]] 
File abspeichern 

DIR Pfadmaske 
Directory anzeigen 

Pbefehl 
P vor einem Befehl leitet diesen zum Drucker um 

FOPEN Filename, Fbefehl, FCLOSE 
Ausgabe eines Befehls in eine Datei 

ERASE, KILL Filename 
Datei lschen (mit Jokern!) 

FREE 
Freier Hauptspeicher 

FREE Drive 
Freier Platz auf einem Laufwerk 

MKDIRECTORY Name 
Ordner erstellen 

RMDIRECTORY Name 
Ordner lschen (wenn leer) 

NAME oldname,newname 





1.1                  Turbo-Ass Kurzanleitung                   12


File umnennen 

FATTRIBUT Filename,attribut 
File-Attribut ndern/setzen 

FORMAT DS/SS,Laufwerk 
Disk formatieren 

TYPE Filename 
ASCII-Datei anzeigen (SPACE hlt Ausgabe an) 

READSEKTOR Track,Sektor,Seite,Adresse,Laufwerk (0 oder 1) 
Sektor mit XBIOS(8) einlesen 

WRITESEKTOR s.o.  
Sektor mit XBIOS(9) schreiben 

Alle  in  diesem  Abschnitt  angegebenden  Befehle  erlauben  den
gleichen  Syntaxbei den Parametern, der deswegen an dieser Stelle
erklrt   wird,   und  im  folgenden  nur  noch  mit  [Parameter]
bezeichnet wird. Es gilt also: 

[Parameter] = [Von][[,]#[Zeilen]|,Bis|[,][Bytes[]]] 

Es  sind  also  alle  Parameter  wahlfrei, d.h. man braucht keine
Parameterangeben.  Der  Debugger  nimmt  dann vorgegebene interne
Werte.  

Wenn  der  Ausdruck  "Von"  fehlt,  wird ab der aktuellen Adresse
z.B.  disassembliert.  Die  aktuelle  Adresse  ist  die  Zahl  am
Zeilenanfang,   bzw.  wenn  diese  fehlt,  die  zuletzt  benutzte
Adresse.  

Als   Endadresse  gilt  der  Ausdruck  "Bis",  der  jedoch  nicht
angegeben  werden  mu.  Wird  statt "Bis" ein "#" angegeben wird
genau  eine  Zeile  ausgegeben.  Ein dem "#" folgender Term, gilt
als  Zeilenanzahl. Es knnen somit z.B. genau 8 Zeilen ausgegeben
werden.  Es werden jedoch maximal 99 Zeilen ausgegeben. Fehlt die
Endangabe  gnzlich, werden (normalerweise) 16 Zeilen ausgegeben.
Die  Anzahl  lt  sich jedoch einstellen, indem man die Variable
"Lines"  entsprechend  ndert.  Die  letzte  Mglichkeit  ist die
Angabe  der Byteanzahl in eckigen Klammern. Sie kann genauso, wie
die  Zeilenanzahl  angegeben  werden.  Die "]" ist optional, d.h.
man kann sie auch weglassen.  

Beispiel: 
"d text #5" 
Disassembliert 5 Zeilen ab Anfang des geladenen Programms.  

Beispiel: 
"m data[30]" 
Ein Memorydump des DATA-Segments (48 Bytes lang).  





1.1                  Turbo-Ass Kurzanleitung                   13



DISASSEMBLE [Parameter] 
Disassemble mit Dump, der Dump kann gendert werden! 

LIST [Paramter] 
Disassemble  ohne  Dump  mit  Symbolen,  Opcodes  knnen gendert
werden (RETURN nicht vergessen) 

SYMBOLTABLE [Parameter] 
evtl. vorhandene Symboltabelle anzeigen 

MEMORY[.B|.W|.L][Parameter] 
Memorydump mit Ausgabebreite (nderbar) 

ASCII [Parameter] 
ASCII-Dump (nderbar) 

FIND [Von,Bis],Terme{,Term} 
geladenes   Programm   oder   Speicherbereich   nach  den  Termen
durchsuchen 

HUNT  s.o.  
wie Find, jedoch nur auf geraden Adressen 

ASCFIND [Von,Bis],String 
ASCII-Suche  im  Disassemblerlisting  (mit Jokern). Langsam, aber
ab und zu praktisch 

CONTINUE 
Hunt, Find oder ASCFIND fortsetzen, wenn mit ESC abgebrochen 

INFO 
mal ausprobieren 

SYSINFO 
auch mal ausprobieren 

MOVE, COPY Von,Bis,Nach 
Speicherblock kopieren 

FILL Von,Bis,Term{,Term} 
Speicherblock fllen 

CLR [Von,Bis] 
Speicherblock lschen (oder alles) 

COMPARE Von,Bis,Adr 
Bereich Von,Bis mit Bereich ab Adr vergleichen 

EXIT, QUIT, SYSTEM 
Debugger verlassen 






1.1                  Turbo-Ass Kurzanleitung                   14


RESIDENT 
Debugger resident halten 

SET, LET, ~ 
siehe oben 

RESET ALL 
Debugger-Kaltstart 

HELP 
Gibt  alle  Befehle  unsortiert aus (wie man sieht, ein paar mehr
als hier beschrieben) 
















































                       Inhaltsverzeichnis

                         Turbo-Ass V1.1

1 Allgemeines    ..........................................    1
   1.1 Einleitung    ......................................    1
   1.2 Features des Turbo-Ass  ............................    1
   1.3 Was ist Shareware?  ................................    2
   1.4 Hardwarevorraussetzungen    ........................    3
   1.5 Installation    ....................................    3
   1.6 Zu den Autoren  ....................................    3
   1.7 Haftung/Rechte    ..................................    3

2 Der Assembler   .........................................    4
   2.1 Benutzeroberflche    ..............................    4
   2.2 Die Maus im Assembler ..............................    4
   2.3 Der Editor   .......................................    4
   2.4 Besonderheiten    ..................................    4
   2.5 Optimierungen    ...................................    5
   2.6 Formeln    .........................................    5
   2.7 Tastaturkommandos    ...............................    5
   2.8 Ein paar Worte zu den...............................    6
   2.9 Der Assembler   ....................................    6
   2.10 Pseudo-Opcodes des Assemblers  ....................    7

3 Der Debugger   ..........................................    7
   3.1 Vorwort    .........................................    7
   3.2 Allgemeines    .....................................    7
   3.3 Die Bedienung   ....................................    8
   3.4 Die Befehle   ......................................    9
























                              - I -

