Notes, Change log, etc. for Att2Intl Still to do... * There are probably some bugs that need to be worked out. The section starting around line 746, for instance, may not insert []s in some cases where they may be needed in NASM output, although this has now been greatly improved and may in fact be completely right. * Maybe there should be a better way of figuring out which simbols need extern declarations. Calling tasm or nasm is crufty even though it works. * Since NASM exists on FreeBSD, Linux, etc. and not just DOS, maybe I should make sure that att2intl works there. * For my own purposes I will add the option of handling segments differently in NASM output. Code contributed by... Gabor Keresztfalvi, keresztg@podolin.piar.hu, http://www.piar.hy/~kerestg/ Change log... v0.2.1 - Aug 20, 1998 Gabor Keresztfalvi writes: - Better []s use recognition (thanx Hmaon :) - Fixed short jump error with multiple running of Nasm Geee. This was a stupid bug... - New parameter: -b use BSS when found .comm or .lcomm This is not the best yet, because I suppose that all of the .comm and .lcomm come in the end of the AT&T source... - group definition DGROUP if needed - if debug level is 0, then cleans the temporary files - Fixed multiple use of .text and .data in the AT&T source v0.2.0 - Aug 16, 1998 Many thanks to Gabor Keresztfalvi, who implemented the following improvements: * NASM compilable output. att2intl will now output NASM compilable code by default. You can switch to TASM output with a command line switch. * Debug output is now controlled with a command line paramemter. Debug output is suppressed by default, use -d 2 to see it. * additional command line parameters, ie -r * multiple extern declarations are now filtered out so each symbol only appears once v0.1.6 - Apr 6, 1998 Bugfix: * in checking for external symbols (by calling tasm), att2intl now knows what to do if it encounters a "Too many warnings," or whatever it says, message * correctly handles a mul or imul with three paremeters, ie "imul $80,%ebx,%edx" Actually, anything with three parameters will be translated quitely by reversing the parameters v0.1.5 - Feb 13, 1998 Improvement: * C style comments allowed in source file. (added by request) v0.1.4 - Jan 30, 1998 Bugfix: * now parses lines such as "call *%eax" correctly. I don't really know why gcc puts a '*' there, I don't remember info having any info about it. * aligns are correctly converted, or maybe that was fixed in an earlier version. Anyway, they're correct now, that's for sure. v0.1.3 - Jan 17, 1998 Bugfix: * fixed stray DWORD PTR * fixed spelling of the word 'existence' v0.1.2 - Jan 13, 1998 Bugfixes, bugfixes: * \n, which gcc translates to \12, is expanded to 13, 10 as opposed to just 10 * Tasm compiles "push DWORD PTR (offset Label)" to "push DWORD PTR [Label]" sometimes it even compiles variations of the command to push bp mov bp, sp ;some junk pop bp Sheesh... I changed it so it doesn't output a DWORD PTR for push but you need to double check the output if you want to generate 16 bit code well, like I said, nasm support coming soon. v0.1.1 - Jan 12, 1998 Improvements: * program now cleans up after itself by deleting its temporary files Bugfixes: * fnldcw and related instructions handled correctly, the w is no longer hacked off * argument size translated correctly for instructions starting with 'fi' ie fisub and fild * 'jl' no longer truncated to 'j'. Never code if you're really tired. v0.1 - Jan 11, 1998 First version Improvements: * existence Bugfixes: * apparently needed more -- Hmaon / Xylem Greg Velichansky www.wam.umd.edu/~gvelicha/