a.out object file output (mostly).
[m68k-assembler.git] / README
blobbfdd3540fc3c1414ea040ccd15c14ec07ae3aea3
2 The goal of this assembler is to eventually not be simply an M68K
3 assembler, but to be relatively easily retargetable.  Also, this
4 assembler should be callable from other CL applications, as well as
5 executable as a stand-alone program.
8 Things to add in the grammar/parser/lexer:
10 Support for ' (single ASCII character?) -- only because the
11         book I have says it's part of Motorola's standard.  Should it
12         behave like double-quotes or what?
13 Support for floats (once FPU instructions are supported).
14 Line continuations with "\".
15 Literate input.
18 Things to add in the assembler:
20 CL-style macros?  (that would be cool!)
21 Checking ranges of types, signed indices, etc.
22 Verify that BSS contains only zeros.
23 Support for later chips in the m68k line, and enabling/disabling
24         allowance of their added instructions.
25 Nifty local labels a-la GNU as or similar.  (0f, 1b, etc)
26 Optimizations/data flow analysis.
29 Things to add in the linker:
31 [see st-linker/]
32 uh, the whole linker. ;-)
33 Atari ST bootfloppy target.
34 Atari ST PRG target.
35 linker scripts.
38 THINGS TO DO BEFORE RELEASE
40 - remove debugging output.
41 - add a decent warning/error display and logging system.
42 - temp-files/osicat.
43 - compile list of known issues, try to resolve.
44 - start converting improvised list structure into real structures or
45   objects.
48 KNOWN ISSUES
50 - macro parameters are broken.  need to keep the strings of the
51   operands around, operate on them, then feed them through the lexer
52   and parser "late".  This includes \0.
53 - addq/subq are broken with immediate value #8. [codegen]
54 - no checking of vconstraints yet. [codegen]
55 - DC.B should handle strings properly (right now it will probably only
56   write out the last byte). [assembler]
59 KNOWN MAJOR INCOMPATIBILITIES WITH DEVPAC
61 These are things which aren't likely to change soon.
63 Macros:
65 - we don't support < or > embedded in macro parameters which are
66   already wrapped in < and >.  (eg: "<foo>>>>2>" => "foo>>2") [lexer]