NASM - The Netwide Assembler

Related Projects => NASMX => Topic started by: Rob Neff on March 16, 2014, 05:21:48 PM

Title: Announcing NASM-X v1.4
Post by: Rob Neff on March 16, 2014, 05:21:48 PM
The NASM-X team is proud to announce that NASM-X v1.4 is available for download.

The NASM-X Project is a collection of macros, includes, and examples, which are meant to help NASM programmers develop 32-bit and 64-bit BSD, Linux, Windows, and XBOX software in a fraction of the time it normally takes.

The following 32-bit and 64-bit Operating Systems are officially supported with this release:
All supported OSes have fully functional demos that you can assemble and run.
You can choose the appropriate download for your distribution:

    Linux/BSD - http://sourceforge.net/projects/nasmx/files/nasmx-1.4/linux/

    Windows - http://sourceforge.net/projects/nasmx/files/nasmx-1.4/windows/

The following changes are made available in this release:
Please read the CHANGES.TXT file for latest updates and any README.TXT files located in the package.

We hope you find NASM-X useful in your own development efforts.
Thank you and enjoy!
Title: Re: Announcing NASM-X v1.4
Post by: nasm32 on April 01, 2015, 04:14:01 PM
I was looking for include files for nasm and I found a ton of them in nasmx and I dont have to create them myself, it's so much work, I appreciate the help from the people who made these include files for me. (It seems as if I have the entire windows library worth of include files now)

These are not just ordinary include files they seems to be organized in a luxurious way. This saved me at least 4 months of work. I hope the include files are correct and don't disappoint. Other assemblers often come with bad include files. So far the nasmx include files haven't made me disappointed. I'm nervous when I'm using them, but it seems to be consistent so far.

nasm32 uses nasmx. nasmx for nasm32.
Title: Re: Announcing NASM-X v1.4
Post by: agguro on April 09, 2015, 09:17:15 AM
Hello, I got a suggestion for a small change in the nasmx syscall.inc file.
Since I use syscalls sometimes without macro arguments I modified this file (for 64 bits) into:

%imacro syscall 0-7.nolist
%if %0 > 0

[ here comes the original macro ]

%else
  syscall  ; again, the opcode, not the macro
%endif 
%endmacro

We can use this macro without arguments and just the opcode for syscall will be generated.
If there are no errors residing from this modification, I suggest to modify syscalls.inc in the next release?
Since I don't use 32 bits a lot I don't have a modification for this macro but it can also be done in a next release..... perhaps.

it's just a suggestion.
Title: Re: Announcing NASM-X v1.4
Post by: agguro on April 09, 2015, 09:23:39 AM
found a bug:

the instruction on line 40 is wrong (I hope I'm wrong :) )

%elifnidi %{7}, r9 , gives an error when assembling
if I look up why six arguments can be passed without error I see on line 55

%elifnidni %{6}, r8

so line 40 must be:

%elifnidni %{7}, r9
Title: Re: Announcing NASM-X v1.4
Post by: Rob Neff on April 09, 2015, 03:57:43 PM
Thank you for the excellent feedback.  We'll get this added when time permits.
Title: Re: Announcing NASM-X v1.4
Post by: ben321 on August 15, 2023, 07:50:00 AM
Interesting project, is it possible to use macros with NASM to write assembly code for any architecture? For example, in SNES assembly, there's not the 8 main registers found in an Intel chip. There's only 3 main registers, and they are called A, X, and Y. Is it possible to "teach" NASM, using macros to recognize other registers for other system architectures? Or are its hardcoded Intel register names the only register names that can be used in NASM? How extensible is NASM in terms of using macros to define assembly code for other architectures?
Title: Re: Announcing NASM-X v1.4
Post by: Frank Kotler on August 15, 2023, 08:53:09 AM
Unlikely to work on another cpu. Nothing to lose but your time trying.

Best,
Frank