Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| homecomputer:chip8:assembler [2021/02/22 16:10] – angelegt volkerp | homecomputer:chip8:assembler [2021/02/22 16:22] (aktuell) – volkerp | ||
|---|---|---|---|
| Zeile 4: | Zeile 4: | ||
| oder | oder | ||
| c8asm | c8asm | ||
| + | |||
| + | * org, end nicht schreiben | ||
| + | * beide verstehen die Standard-Syntax nach http:// | ||
| + | |||
| + | <file plain syntax.asm> | ||
| + | ; This program just demonstrates and tests all the instructions in the assembler. | ||
| + | ; Don't try to run it. It will probably do strange things. | ||
| + | |||
| + | ; Comments start with semicolons | ||
| + | start: ; labels are identifiers followed by colons | ||
| + | CLS | ||
| + | JP start | ||
| + | JP #123 ; Hexadecimal numbers are preceded by # symbols | ||
| + | JP v0, #123 | ||
| + | JP v0, end | ||
| + | call end | ||
| + | call #203 | ||
| + | se V1, #AA | ||
| + | se V2, v3 | ||
| + | sne V1, #AA | ||
| + | sne V2, v3 | ||
| + | end: | ||
| + | RET | ||
| + | add V1, #AA | ||
| + | add V2, v3 | ||
| + | ld V1, #AA | ||
| + | ld V2, v3 | ||
| + | or V2, v3 | ||
| + | and VA, vb | ||
| + | xor VA, vb | ||
| + | shr VA, vb | ||
| + | shr VA | ||
| + | subn VA, vb | ||
| + | shl VA, vb | ||
| + | shl VA | ||
| + | rnd VD, #FF | ||
| + | drw VE, VF, #4 | ||
| + | skp VE | ||
| + | sknp VA | ||
| + | add I, V8 | ||
| + | ld I, #AAA | ||
| + | ld V5, DT | ||
| + | ld V5, K | ||
| + | ld DT, V5 | ||
| + | ld ST, V5 | ||
| + | ld F, V5 | ||
| + | ld B, V5 | ||
| + | ld [I], VA | ||
| + | ld VA, [I] | ||
| + | |||
| + | ; " | ||
| + | define aaa #222 | ||
| + | jp aaa | ||
| + | |||
| + | ; " | ||
| + | define bbb vd | ||
| + | ld bbb, %01010101 ; Binary literals start with % symbols | ||
| + | JP %101001010101 | ||
| + | JP x | ||
| + | LD I, x | ||
| + | |||
| + | ; SCHIP instructions are supported | ||
| + | SCD #4 | ||
| + | SCL | ||
| + | SCR | ||
| + | EXIT | ||
| + | HIGH | ||
| + | LOW | ||
| + | DRW V1, V2, 0 | ||
| + | LD HF, V5 | ||
| + | LD R, V6 | ||
| + | LD V7, R | ||
| + | |||
| + | ; Offset moves the location where output is generated | ||
| + | offset #280 | ||
| + | |||
| + | ; This is how you can define sprites: | ||
| + | ; " | ||
| + | ; " | ||
| + | |||
| + | x: db #11, #22, #33, #44 | ||
| + | y: db | ||
| + | %00100100, | ||
| + | %11111111, | ||
| + | %01011010, | ||
| + | %00111100, | ||
| + | %00100100 | ||
| + | CLS | ||
| + | </ | ||
| + | |||