At 09:10 AM 12/5/2005 -0500, Kenneth J. Davis wrote:

EQUates globally that can be IFDEF'ed out of sight, and has a few other quirks.

:-)  how do you improperly use an EQU?   (-:

It looks to be improper if the code, for example, declares an EQUate called FLG_MASTER inside an IFDEF OPT_ATAPI conditional block, and then FLG_MASTER is used outside an IFDEF OPT_ATAPI conditional block.

But seriously, any suggestions to improve it (both in function or style) are welcome. In may latest versions (0.5.x) I've gone back to just MASM/TASM form (I can't stand NASM's positional based macro parameter names, FASM had no list support, and I couldn't get my segments to link in the proper order for a mostly C version using OW).

NASM is, bluntly put, crippled and underpowered compared to MASM and TASM, but it has a few good ideas. It would be hard to argue that eliminating the whole peek-a-boo, am I a memory reference, am I a constant value, game is anything but progress.

If hoi polloi were not screaming for a "non-evil", open-source, cross-platform, free assembler, though, I can't see NASM moving into mass usage where it competes with MASM/TASM. At least not for another few development iterations.

out of curiosity which version of atapicdd did you run this on?

I used whatever link Bernd gave. Since it's not the latest, I'm going to stop working on it as soon as I clean up a couple of exposed Nomyso chinks, because the 'old source' concept isn't terribly meaningful for a niche-use translator.

and did you do it on the TASM source (atapicdd.asm) or NASM source (atapicdd.nsm)?

I used the ASM extension source. I thought it might not have NASM constructs; instead it had a number of them invoked by the IFDEF __NASM_MAJOR__ predefined symbol. And those cross-compatible macros for using segment overrides with mov, test, and call inflicted the most pain. I would up with this burst of line noise at Nomsyo invocation to get them working:

./nomyso.pl -xr'/IFDEF(\s+)__NASM_MAJOR__/IF ${1}0/i' -xr'/callw(\s.*?),/call$1/ -xr/mov2(\s.*),/mov$1/' -xr'/movw(\s+)ptr\s+(.*?),/mov$1WORD $2/' -xr'/testb(\s+)ptr\s+(.*?),/test$1BYTE $2/' -xr'/movb(\s+)ptr\s+(.*?),/mov$1BYTE $2/' atapicdd.asm moo

Looks like NSM source might have been the better translation input choice, but I'm not sure why the extensions are named that way, as they appear to be reversed for their intended assembler.




-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
Freedos-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to