Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung | |||
forth:fgforth:assembler [2013/05/01 06:57] – [Reassembliert] volkerp | forth: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 | 469E 7C | ||
469F B5 | 469F B5 | ||
- | 46A0 CA A7 46 | + | 46A0 CA A7 46 |
46A3 2B | 46A3 2B | ||
46A4 C3 9E 46 | 46A4 C3 9E 46 | ||
Zeile 178: | Zeile 179: | ||
END-CODE | END-CODE | ||
</ | </ | ||
+ | |||
+ | ===== Strukturoperatoren ===== | ||
+ | |||
+ | Die Strukturoperatoren sind forth-gewohnt zu verwenden: | ||
+ | |||
+ | flag 0=, CY, PE oder 0< | ||
+ | |||
+ | IF...ELSE...THEN | ||
+ | |||
+ | < | ||
+ | flag [NOT] IF, ; JP /flag M1 | ||
+ | ... ; ... | ||
+ | [ELSE, | ||
+ | ... ; M1: ... | ||
+ | THEN, ; M2: | ||
+ | </ | ||
+ | |||
+ | |||
+ | BEGIN ...flag UNTIL | ||
+ | |||
+ | < | ||
+ | BEGIN, | ||
+ | ... ; ... | ||
+ | flag [NOT] UNTIL, | ||
+ | </ | ||
+ | |||
+ | BEGIN...AGAIN | ||
+ | |||
+ | < | ||
+ | BEGIN, | ||
+ | ... ; ... | ||
+ | AGAIN, | ||
+ | </ | ||
+ | |||
+ | BEGIN...flag | ||
+ | |||
+ | < | ||
+ | BEGIN, | ||
+ | ... ; ... | ||
+ | flag [NOT] WHILE, | ||
+ | ... ; ... | ||
+ | REPEAT, | ||
+ | ; M2: | ||
+ | </ | ||
+ | |||
+ | ===== Literatur ===== | ||
+ | |||
+ | Der Assembler ist auch in "Vack, Gert Ulrich: Programmieren mit Forth. VEB Verlag Technik Berlin, 1990" Seite 263-271 beschrieben. | ||