Funkamateur 02/87

zurück zur Beschreibung
                       - 01 - 
  Arbeitsblatt zum AC1 Editor/Assembler EDAS*4
  --------------------------------------------

* Programmstart
  -------------

  Kaltstart: J 4000 aaaa eeee (CR)
             J 4000 (CR)         ; mit Vorzugseinstellung
                                   des Editorpuffers
  Warmstart: J 4003 (CR)

  aaaa Anfang Editorpuffer         eeee Ende Editorpuffer

* Abspeichern/Einlesen einer Quelle ( mit AC1 Monitor )
  -----------------------------------------------------

  S aaaa FREE aaaa name (CR) oder
  S: name                         ; sofort nach Q !!! )

  L oder L Offset+- ; dann Kaltstart mit arg1 - arg3 und Y

* Format einer Quellzeile
  -----------------------
  nnnn mmmmmm Befehl Operand(en)  ; Kommentar
  
  nnnn - Zeilennummer   mmmmmm - Marke

* Kommandos des Editor/Assemblers
  ------------------------------

  A a e    Assembliere Quelle von Zeile a bis e
  C a e x  Quellzeilen verschieben (von a bis e nach x)
  E        Wechsel aktuelle Quelle <--> sec. Quelle
  /string/ Eingabe einer Zeichenkette zum F - Kommando
  F        Suchen der angegebenen Zeichenkette
  G        Start des assemblierten Programms (--> ENT)
  H h      Setzen der Seitengroesse auf h (hex) Zeilen
  I a s    Zeileneingabe mit automatischer Nummerierung
  J h      Ausgabeverzoegerung auf dem Schirm (h 0...FF)
  K h      Ausgabeverzoegerung zum Drucker
  M marke  Anzeige des Quelltextes ab marke
  N a s    Erzeugen einer Luecke im Quelltext (s Zeilen)
  O h      Setzen von Optionen zum Assembler mit Maske h
  + h      Ergaenze eine Option
  - h      Streiche eine Option
  P hhhh   Setze Offset fuer Assembler (ORG + hhhh)
  Q        Ruecksprung zum Monitor (arg1 - arg3 geladen)
  R a s    Neunumerierung der Quellzeilen
  S a e    Vereinbarung einer Zweitquelle
  T a e x  Einfuegen einer Zweitquelle (SEC)
  V a e    Anzeige des Quelltextes ab Zeilennummer
  W a e    Assemblieren wie A, nur Fehleranzeige
  X a e    Streichen von Zeile a bis e in der Quelle
  Y        Reaktivieren einer Quelle von Kassette
  Z x      Anzeige der Zeile x zur Korrektur

  a - Anfangszeile    e - Endzeile    s - Schrittweite
  x - Zielzeile       h - Hexwert

  Cursorsteuerung: CTRL-I -->             CTRL-H <--
                   CTRL-E Einfuegen       CTRL-S Streichen
                   CTRL-R <-- + Loeschen  CTRL-T nnnn <--
                   CTRL-W spezieller Tabulator       

                       - 02 -
* Optionen zum Assembler
  ----------------------

  Bit 0  +01  Unterdruecke Assemblerliste
  Bit 1  +02  Maschinencode zum Speicher
  Bit 2  +04  Drucke Assemblerliste
  Bit 4  +10  Aktiviere 2.Lauf bei Fehlern im 1.Lauf
  Bit 5  +20  relative Sprungdistanz absolut (SYPS K1520)
  Bit 7  +80  Ausgabe der Symboltabelle

* Pseudobefehle des Assemblers
  ----------------------------

  DEFB arg,arg,... definiere Byte
                   arg:xx - dez; $xx o. xxH - hex; "x - ASCII
  DEFW arg,arg,... definiere Wort (Doppelbyte)
  DEFM "string"    definiere Zeichenkette (ASCII)  
  DEFS n           reserviere n Speicherplaetze
  ORG  n           Zuweisung des Speicherplatzzaehlers
  EQU  n           Vereinbarung eines Ausdrucks (Marke)
  ENT              Startadresse fuer G - Kommando
  SKIP             erzeuge Leerzeile in der Assemblerliste
  $    (24H)       Adresszaehlersymbol

                   n - Zahl (hex o. dez), Marke o. Ausdruck

* Fehlermeldungen
  ---------------

  00 Speicherueberlauf, Editierpuffer voll
  01 Zeilennummerueberlauf (groesser 9999)
  02 Ueberlauf in I -  Kommando ( groesser 9999)
  03 Zeile existiert nicht
  04 unzulaessiger G - Befehl (ENT nicht definiert)
  05 Reaktivieren des Puffers nicht moeglich
  06 Schrittweite 0
  07 Zeilennummernbereich zu klein
  08 unzulaessige Argumenteingabe
  09 Zweitquelle nicht aktiviert
  10 unzulaessige Befehlszeile(Marke oder Mnemonik)
  20 unbekannte Mnemonik
  21 Operand passt nicht zum Operationscode
  22 Befehl mit Indexregistern nicht moeglich
  23 Operand bzw. Distanz zu gross
  24 zu viele Register
  25 unzulaessige Operandenkombination
  26 unzulaessiges Zeichen
  27 unzulaessiger Operand
  28 Klammer-Fehler
  30 Marke nicht gefunden
  31 Marke mehrfach definiert
  40 falsche Assembleranweisung (Pseudo-Befehl)
  41 unzulaessige Vorwaertsreferenz (bei EQU, ORG, DEFS)
  61 erzeugter mc wuerde EDAS ueberschreiben
  99 unzulaessiges Kommando

* wichtige Systemadressen
  -----------------------

  4006H - 4007H Vorzugseinstellung Editierpufferanfang
  4008H - 4009H Vorzugseinstellung Editierpufferende
  400AH - 400CH JP Druckerausgabe (Zeichen in A)
  5440H - 5442H JP Druckerinitialisierung