Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| cpm:arnold_assembler [2025/09/03 14:55] – volkerp | cpm:arnold_assembler [2025/12/10 08:57] (aktuell) – [Makros] volkerp | ||
|---|---|---|---|
| Zeile 88: | Zeile 88: | ||
| hi function x, | hi function x, | ||
| lo function x, x&255 | lo function x, x&255 | ||
| + | setlength function text, | ||
| </ | </ | ||
| + | hi(), lo() liefern das obere bzw. untere Byte eines Words\\ | ||
| + | setlength() z.B. für DATE, damit hier immer eine konstante Länge bleibt: db setlength(DATE, | ||
| + | |||
| + | individuell z.B. zur Ausgabepositionierung im Bildwiederholspeicher | ||
| + | < | ||
| + | ; Z9001 bws(zeile 0..23, spalte 0..39) analog print_at | ||
| + | bws function z, | ||
| + | bwsc function z, | ||
| + | </ | ||
| ===== Makros ===== | ===== Makros ===== | ||
| Zeile 167: | Zeile 177: | ||
| s.a. [[forth: | s.a. [[forth: | ||
| + | |||
| + | |||
| + | ==== ASIDE-Assembler-Makros ==== | ||
| + | |||
| + | < | ||
| + | ; Anpassung Arnold-Assembler | ||
| + | cpu z80 | ||
| + | |||
| + | DEFM macro x | ||
| + | IFNB X | ||
| + | | ||
| + | shift | ||
| + | DEFM ALLARGS | ||
| + | endif | ||
| + | endm | ||
| + | |||
| + | DEFS macro a, | ||
| + | ifb b | ||
| + | ds a | ||
| + | else | ||
| + | db a dup(b) | ||
| + | endif | ||
| + | endm | ||
| + | |||
| + | | ||
| + | |||
| + | hi function x, | ||
| + | lo function x, x&255 | ||
| + | </ | ||
| + | |||