
Building YASM with Microsoft Visual Studio 2005
-----------------------------------------------

This note describes how to build YASM using Microsoft Visual Studio 2005.

1. The Compiler
---------------

If you want to build the 64-bit version of YASM you will need to install
the Visual Studio 2005 64-bit tools, which are not installed by default.

2. YASM Download
----------------

First YASM needs to be downloaded and the files placed within a suitable
directory, which will be called <yasm> here but can be named and located
as you wish.

3. Building YASM with Microsoft VC8
-----------------------------------

Now locate and double click on the yasm.sln solution file in the 'Mkfiles/vc8'
subdirectory to open the build project in the Visual Studio 2005 IDE and then
select:

    win32 or x64 build
    release or debug build

as appropriate to build the YASM binaries that you need.

4. Using YASM with Visual Sudio 2005 and VC++ version 8
-------------------------------------------------------

1. Firstly you need to locate the directory (or directories) where the VC++
compiler binaries are located and put copies of the appropriate yasm.exe
binary in these directories.

On a win32 system you will use the win32 version of YASM. On an x64 system
you can use either the 32 or the 64 bit versions.  The win32 YASM binary
should be placed in the 32-bit VC++ binary directory, which is typically
located at:

 Program Files (x86)\Microsoft Visual Studio 8\VC\bin

If needed the 64-bit YASM binary should be places in the 64-bit tools
binary directory, which is typically at:

 Program Files\Microsoft Visual Studio 8\VC\bin

2. To use the new custom tools facility in Visual Studio 2005, you need to
place a copy of the yasm.rules file in the Visual Studio 2005 VC project
defaults directory, which is typically located at:

 Program Files (x86)\Microsoft Visual Studio 8\VC\VCProjectDefaults

This allows you to configure YASM as an assembler within the VC++ IDE. To
use YASM in a project, right click on the project in the Solution Explorer
and select 'Custom Build Rules..'. This will give you a dialog box that
allows you to select YASM as an assembler (note that your assembler files
need to have the extension '.asm').

To assemble a file with YASM, select the Property Page for the file and the
select 'Yasm Assembler' in the Tool dialog entry. Then click 'Apply' and an
additional property page entry will appear and enable YASM settings to be
established.

As alternative to placing the yasm.rules files as described above is to set
the rules file path in the Visual Studio 2005 settings dialogue.

It is also important to note that the rules file passes the symbols 'Win32'
or 'x64' to YASM by using the Visual Studio 2005  $(PlatformName) macro in
order to obtain either a 32 or a 64 bit assembler mode. This is a recent
enhancement to YASM so you will need to be sure that your YASM files are at
revision r1331 or higher to use this facility.

5. A Linker Issue
-----------------

There appears to be a linker bug in the VC++ v8 linker that prevents symbols
with absolute addresses being linked in DLL builds.  This means, for example,
that LEA instructions of the general form:

   lea, rax,[rax+symbol]

cannot be used for DLL builds.  The following general form has to be used
instead:

   lea rcx,[symbol wrt rip]
   lea rax,[rax+rcx]

This limitation may also cause problems with other instruction that use
absolute addresses.

I am most grateful for the fantastic support that Peter Johnson, YASM's
creator, has given me in tracking down this issue.

  Brian Gladman, 16th January 2006
