changed tables to UrAsm syntax (we have DEFX exactly for such cases)
[bz80asm.git] / main.zas
blobfb4ed970edcb3ee3c75c107841e335f75e61132f
1   $refopt alllabels
3   org   #8000
4   ent   main
6   include "bzasm80.zas"
8 csizestart = $
9   include "parser.zas"
10 csizeend = $
11 $printf "parser size: %d", csizeend-csizestart
13 csizestart = $
14   include "labman.zas"
15 csizeend = $
16 $printf "label manager size: %d", csizeend-csizestart
18 csizestart = $
19   include "output.zas"
20 csizeend = $
21 $printf "ouput system size: %d", csizeend-csizestart
23 csizestart = $
24   ;include "output_driver_std.zas"
25   include "output_driver_4x8.zas"
26 csizeend = $
27 $printf "printing driver size: %d", csizeend-csizestart
30 main:
31   call  emitInit
33   di
34   ;ld    ix,dest
35   ld    iy,strbuf
36 .goon:
37   $IF 0
38   push  iy
39 .dumploop:
40   ld    a,(iy)
41   or    a
42   jr    z,.dumpdone
43   cp    13
44   jr    z,.dumpdone
45   call  EMIT
46   inc   iy
47   jr    .dumploop
48 .dumpdone:
49   pop   iy
50   ld    a,13
51   call  EMIT
52   $ENDIF
54   call  ASSEM
55   jp    c,error_syntax
57   ld    a,(iy)
58   or    a
59   jr    nz,.goon
61   ld    a,6
62   out   (#fe),a
63   jr    $
65 strbuf:
66   defm  ".label:",13
67   ;defm  "jr   label",13
68   defm  "ld   a,42",13
69   defm  "ld   hl,16384",13
70   defm  "ld   a,(ix-2)",13
71   defm  "call 1234",13
72   defm  "or   c",13
73   defm  "and  (hl)",13
74   defb  0
76 dest: defs 64,0