Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
forth:fgforth:assembler [2013/05/01 06:57] – [Reassembliert] volkerpforth:fgforth:assembler [2013/05/01 13:26] (aktuell) volkerp
Zeile 84: Zeile 84:
 | JRNZ #-5 | -5 # JRNZ, | | JRNZ #-5 | -5 # JRNZ, |
 | RES 0,(IY+4) | 0 4 IY # RES, | | RES 0,(IY+4) | 0 4 IY # RES, |
 +
  
 Hier waren nun hoffentlich alle Varianten dabei. Hier waren nun hoffentlich alle Varianten dabei.
Zeile 128: Zeile 129:
 Thomas Beierlein, 1990 Thomas Beierlein, 1990
  
-====== Reassembliert ======+===== Beispiel =====
  
  
Zeile 151: Zeile 152:
 469E  7C               LD      A,H                H A LD, 469E  7C               LD      A,H                H A LD,
 469F  B5               OR      L                  L OR, 469F  B5               OR      L                  L OR,
-46A0  CA A7 46         JP      Z,46A7H            0= NOT WHILE,+46A0  CA A7 46         JP      Z,46A7H          0= NOT WHILE,
 46A3  2B               DEC     HL                 HL DEC, 46A3  2B               DEC     HL                 HL DEC,
 46A4  C3 9E 46         JP      469EH            REPEAT, 46A4  C3 9E 46         JP      469EH            REPEAT,
Zeile 178: Zeile 179:
                                                 END-CODE                                                 END-CODE
 </code> </code>
 +
 +===== Strukturoperatoren =====
 +
 +Die Strukturoperatoren sind forth-gewohnt zu verwenden:
 +
 +flag 0=, CY, PE oder 0<
 +
 +IF...ELSE...THEN
 +
 +<code>
 +flag [NOT] IF,         ; JP /flag M1
 +...                             ; ...
 +[ELSE,                        ; JP M2
 +...                             ; M1: ...
 +THEN,                           ; M2:
 +</code>
 +
 +
 +BEGIN ...flag UNTIL
 +
 +<code>
 +BEGIN,                          ; M1:
 +...                             ; ...
 +flag [NOT] UNTIL,               ; JP /flag M1
 +</code>
 +
 +BEGIN...AGAIN
 +
 +<code>
 +BEGIN,                          ; M1:
 +...                             ; ...
 +AGAIN,                          ; JP M1
 +</code>
 +
 +BEGIN...flag  WHILE...REPEAT
 +
 +<code>
 +BEGIN,                          ; M1:
 +...                             ; ...
 +flag [NOT] WHILE,               ; JP /flag M2
 +...                             ; ...
 +REPEAT,                         ; JP M1
 +                                ; M2:
 +</code>                                 
 +
 +===== Literatur =====
 +
 +Der Assembler ist auch in "Vack, Gert Ulrich: Programmieren mit Forth. VEB Verlag Technik Berlin, 1990" Seite 263-271 beschrieben.
  
  • forth/fgforth/assembler.1367391427.txt.gz
  • Zuletzt geändert: 2013/05/01 06:57
  • von volkerp