TODO revision 677833bc953b6cb418c701facbdcf4aa18d6c44e
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'AmoreNASM TODO list
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'Amore==============
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'AmoreThis, like the AUTHORS file, is intended for easy readability by both human
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'Amoreand machine, thus the format.
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'Amore V: version you should expect it by
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'Amore R: responsible person or - if unassigned
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'Amore C: % complete
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'Amore D: description
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'Amore D: maybe on multiple lines
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'AmoreAnything that doesn't start with /^[FVRCD]:/ should be ignored.
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'Amore F:-line triggers new entry.
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'Amore Empty V,R,C assume: V: ?, R: -, C: 0%
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'AmoreF: i18n via gettext
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'AmoreF: Convert shallow code model to deep code model
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'AmoreD: Tired of messing between lots of unrelated files (especially .c/.h stuff)
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'AmoreF: Automated dependency generation for Makefile
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'AmoreD: Current looks awful and will break if anything changes.
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'AmoreF: Move output modules out*.c to output/ subdir
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'Amore== THESE ARE FROM old NASM's Wishlist
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'Amore== THEY NEED SEVERE REVISING (seems they weren't updated for a couple of years or so)
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'AmoreF: Check misc/ide.cfg into RCS as Watcom IDE enhancement thingy
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'AmoreD: (nop@dlc.fi)
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'AmoreF: Package the Linux Assembler HOWTO
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'AmoreF: 3DNow!, SSE and other extensions need documenting
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'AmoreD: hpa: Does it really make sense to have a whole instruction set
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'AmoreD: reference packaged with the assembler?
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'AmoreF: prototypes of lrotate don't match in test/*. Fix.
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'AmoreF: Build djgpp binaries for 0.98 onwards. Look into PMODE/W as a stub
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'AmoreD: it might be a lot better than CWSDPMI. It's in PMW133.ZIP.
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'AmoreF: %undef operator that goes along with %define
7014882c6a3672fd0e5d60200af8643ae53c5928Richard LoweF: Fix `%error' giving error messages twice.
7014882c6a3672fd0e5d60200af8643ae53c5928Richard LoweD: Not especially important, as changes planned for 1.1x below will make
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'AmoreD: the preprocessor be only called once.
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'AmoreF: Sort out problems with OBJ
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'AmoreD: * TLINK32 doesn't seem to like SEGDEF32 et al. So for that, we
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'AmoreD: should avoid xxx32 records wherever we can.
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'AmoreD: * However, didn't we change _to_ using xxx32 at some stage? Try
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'AmoreD: to remember why and when.
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'AmoreD: * Apparently Delphi's linker has trouble with two or more
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'AmoreD: globals being defined inside a PUBDEF32. Don't even know if it
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'AmoreD: _can_ cope with a PUBDEF16.
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'AmoreD: * Might need extra flags. *sigh*
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'AmoreF: Symbol table output may possibly be useful.
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'AmoreD: Ken Martwick (kenm@efn.org) wants the following format:
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'AmoreD: labelname type offset(hex) repetition count
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'AmoreD: Possibly include xref addresses after repetition count?
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'AmoreD: There are various other bugs in outelf.c that make certain kinds
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'AmoreD: of relocation not work. See zbrown.asm. Looks like we may have to do
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'AmoreD: a major rewrite of parts of it. Compare some NASM code output with
f6929ecef713a1395a17d75418eb6d6f8f2c68fdGarrett D'AmoreD: equivalent GAS code output. Look at the ELF spec. Generally fix things.
F: Two-operand syntax for SEGMENT/SECTION macro to avoid warnings
D: before v1.0 is released. There is a comment regarding this in labels.c,
D: in preproc.c (line 1585, or thereabouts)
D: zgraeme.tar contains improved hash table routines
D: zsyntax.zip contains a syntax-highlighting mode for
D: zvim.zip contains a syntax-highlighting mode for NASM, for use with vim.
F: Add the four instructions documented in 24368901.pdf (Intel's own document).
D: in COFF/win32 at least and probably other formats: don't bother to emit a section
F: Make the flags field in `struct itemplate' in insns.h a long instead of an int.
F: Implement %ifref to check whether a single-line macro has ever been expanded since (last re) definition. Or maybe not. We'll see.
F: see if BITS can be made to do anything sensible in obj (eg set the default new-segment property to Use32).
F: OBJ: coalesce consecutive offset and segment fixups for the same location into full-32bit-pointer fixups.
F: Allow % to be separated from the rest of a preproc directive, for alternative directive indentation styles.
D: hpa: Desirable, yes. Necessary? Probably not, but there are definitely cases where it becomes quite useful.
F: Possibly a means whereby FP constants can be specified as immediate operands to non-FP instructions.
D: to be able to do `%include "/my/path/%1"' in a macro, or something
F: Maybe NEC V20/V30 instructions? ?
F: REDESIGN: Think about EQU dependency, and about start-point specification in OBJ. Possibly re-think directive support.
D: probably ARM/StrongARM; maybe Sparc; maybe Mips; maybe