Author Topic: How to build nasm 0.99 in Windows from CVS  (Read 2273 times)


  • Guest
How to build nasm 0.99 in Windows from CVS
« on: July 30, 2007, 09:52:52 AM »

I want a 64-bit nasm for Windows. And as per docs, it will be available with 0.99 version, but we can pull out the development code from CVS and build it.

Can anyone plz tell me, how to build the nasm 0.99 code with Visual Studio 2005 for Windows 64-bit ?

I have tried to build with: nmake /F
But it rasing error, saying does not know how to build config.h

Plz help

Offline Frank Kotler

  • NASM Developer
  • Hero Member
  • *****
  • Posts: 2379
  • Country: us
Re: How to build nasm 0.99 in Windows from CVS
« Reply #1 on: July 30, 2007, 01:59:55 PM »
As a "beginner's question", the answer is "don't!". 0.99.xx versions of Nasm are badly broken, and won't be usable if you build 'em. The only reason you'd want 0.99.xx is to help us fix it (which you are invited to do). That was a premature release (my ex-wife used to complain about that...)

Anyway... If you want to try this... "config.h" is intended to be generated by "autoconf" (and/or "autoheader"???). I don't know what Windows equivalents, if any, are called. I stuck a copy with the autogenerated files included - like a release", rather than a CVS checkout - on my website:

Ahhh... you got bzip2 for Windows? You can find it... or I can make a .zip for ya...

Lessee, the static makefiles have been updated with "mkdep", but there's more to do - look for remaining instances of "output/outelf.c". "outelf.c" has been replaced by "outelf32.c" and "outelf64.c".

There are two instances of "#include " in the rdoff/ directory. You probably don't have that file - it's a "Unix thing". Delete 'em, or don't build the rdoff/ directory at al...

Mmmm... that may do it. If not, follow your nose from there...

But it probably isn't something you want to do. If you need a 64-bit assembler, stick with Fasm or Yasm for now. We're workin' on it.



  • Guest
Re: How to build nasm 0.99 in Windows from CVS
« Reply #2 on: August 14, 2007, 05:30:44 AM »
Hi Frank

I have successfully built NASM 64-Bit for Windows using VS2005.
And its working fine, but now I'm stuck with a section of assembly code where its giving "INVALID EFFECTIVE ADDRESS".
I do not understand the assembly code error there. Plz guide me where it is wrong.
movapd xmm0,  [rsi + r12*8]
movapd xmm2,  [rsi + r12*8 + 16]
movapd xmm4, [rsi + r12*8]
movapd xmm6, [rsi + r12*8 + 16]

I'm using the command from Windows 2003 Server SP1 R2 console (command window) like: nasmw.exe -f win64 *.s
And the above code are distributed lines inside the whole code. Can you help me for the above error in these lines ?
These lines are working perfectly in Linux/gcc as they follow AMD64 ABI, but Windows does not follow the same specification and used its own Windows 64-bit ABI.