module
10

Everything that changes when a program from the assembly course goes to GEN80, on one page. S6 explains each.
| The assembly course writes | For GEN80, write | Because |
|---|---|---|
ORG 256 | nothing | GEN80 starts at 100h; ORG 256 works but warns ORGs used |
LD A,'H' | LD A,"H" | 'H' is Bad expression |
DEFB 'A' | DEFB "A" | as above |
DEFB 'HELLO',0 | DEFM "HELLO" then DEFB 0 on the next line | DEFB takes no strings |
| - | never DEFM "HELLO",0 | GEN80 ignores everything after the string: no 0, and no error |
DEFB 'H','E',0 | DEFB "H","E",0 | characters in double quotes |
include 'vdp.asm' | *I VDP in the first column, for VDP.GEN | include is Bad mnemonic |
| labels longer than 10 characters | labels that differ in their first 10 | only 10 count: Redefined symbol |
| labels in mixed case | the same spelling everywhere | labels are case-sensitive |
Unchanged, and safe to type as the assembly course printed it:
41h, 0FFh, 01000001b (and GEN80 also takes #41, %01000001)$, EQU, DEFW, DEFS+ - *, with * done first, unary minus, LABEL+1(HL), (IX+5), (4000h), JR, DJNZ, RST 8, RST 08h;| GEN80 says | Look for |
|---|---|
Bad expression | single quotes; a string after DEFB |
Bad mnemonic | a misspelt instruction; include |
Symbol is Reserved Word | *I not in the first column |
Redefined symbol | a label twice - or two long labels alike in their first 10 characters |
*WARNING* NAME absent | a label spelt differently, or in different case, where it is used |
*WARNING* ORGs used | an ORG - harmless |
| no message, wrong output | a DEFM with something after the string |
After any error or absent warning, do not run the program: GEN80 has left the old .COM empty (S5).