Making Your Windows XP Ready For NASM
Making Your Windows XP Ready For NASM
Making Your Windows XP Ready For NASM
Table of Contents
• Installing the files
• Configuring Windows XP
• Configuring NASMIDE
• Running some test programs
K.Campos June-14-2006
Distribution CD Manual
Installing the files
Locate the NASMv0˙98˙39.exe file found in the distribution CD under the NASM folder.
Run the installer and the following window shows up:
Make sure that the Destination folder is C:“NASM“. If the folder is not yet created, the
installer will automatically create one for you. Also make sure that there is no previous
NASM installation when installing the ones in the distribution CD. If you have a previous
installation, simply transfer the old files to a new location or rename the old installation
with, say, c:“nasm˙old, then you can proceed with the new installation.
Click Install and the program will extract and copy the NASM files to the C:“NASM folder.
The program will exit automatically after installing the files. Follow the next step to let
Windows XP recognize the Netwide Assembler.
Configuring Windows XP
You need to configure Windows XP to allow the NT Environment recognize the
commands (especially nasm.exe)˙of the Netwide Assembler.
In your desktop, right click on your My Computer, select Properties, and click the
Advanced Tab of the System Properties window. OR you may go to the Control Panel;
open the System icon and select the Advanced Tab. Doing either will show you the
following window.
Click the Environment Variables button to configure Windows XP to let it recognize the
Netwide Assembler. The Environment Variables window is shown in the next page. You
will see that it contains two parts: User variables for <username> and System
variables.
At the System variables part, locate the Path variable and click Edit.
Edit the Variable value entry by adding at the end of the entire string with:
;C:“nasm
Make sure that you have a semi-colon before the C:“nasm (if the previous entry has ended
the string with a semi-colon, then you do not need to add one)
Click OK when you are done. Then Click OK again for the Environment Variables
window. Lastly, click OK for the System Properties window.
The next step for preparing Netwide Assembler for Windows XP is to enable the ANSI
driver. By default, Windows disables this. You should manually configure the
CONFIG.NT file found in C:“WINDOWS“SYSTEM32“ to enable the driver. Use a text editor
program, like Notepad, to edit CONFIG.NT file. *
We are after only for the few last lines of the file as shown in BOLD.
Save the CONFIG.NT file. This finalizes the configuration of the DJGPP.
* NOTE: If you see that the ansi.sys has already been added. You do not need to
perform this task. You can skip this and proceed to testing if NASM is working smoothly.
Configuring NASMIDE
The distribution package for Netwide Assembler contains a free Integrated Development
Environment (IDE) program which is called as NASMIDE. Configuring properly the
previous step allows you to run NASMIDE in anywhere; this will not bother you to go the
c:“NASM“ folder.
In Windows XP, simply run the command prompt by going to the Accessories in the
Program Files of the Start menu. OR you may click the Run found in the Start menu and
type in there CMD as shown below.
The command prompt is shown below, run the NASMIDE by typing nasmide at the
command prompt. Notice that the folder is not c:“nasm“ but on a different folder.
Pressing Enter after typing nasmide will run NASMIDE as shown below.
You must configure nasmide to locate the nasm.exe file. Close the About window then
Click OPTIONS → ASSEMBLER.
Clicking Assembler… allows you to configure the type of output file you want to produce.
NASM can produce different binary files depending on the target architecture you want.
Simply follow the settings shown above. The Target can be COFF (i386) object file
(if you plan to program in Protected Mode) or COM executable binary file (if you
plan to program in Real-Mode). Check all Warnings. Parameters is left empty. NASM
Location is C:“NASM“NASM.EXE. Click OK when you are done.
Running some test programs
Before you test NASM, there are two things you need to know. Developing in low-level
environments requires you to (1) have a background about the underlying processor
architecture and including the operating system. Or generally speaking, (2) your typical
PC system has two modes: Real-Mode, and the Protected Mode.
Real-Mode Test
To work in Real-Mode, you must assemble your code without the use of a driver program.
Create a blank file using nasmide. Code the following:
Save the file as realtest.asm Assemble the code: click Assemble → Assemble.
The assembler will compile the ASM code. It will inform you the errors that occurred.
No errors occurred means that the code has been assembled successfully as shown
below.
You can run your assembled program by clicking Assemble → Run as shown below.
Or you may run the program by going back to the command prompt and execute
realtest.com
You should be getting the HELLO WORLD! message. If you get it, then you are good to go!
Protected-Mode Test
To work in protected mode, you must have a driver program – usually, we let a C
program call your assembly program. Code the following into a C file and name it as
driver.c You will be compiling this code using DJGPP and at this point it is assumed
that you know how to use DJGPP.
int main()
—
int ret˙status;
ret˙status = asm˙main();
return ret˙status;
˝
Then code the following into an ASM file and name it as pmtest.asm
Save both files into the same folder (can be any folder that you want).
First, assemble the pmtest.asm file using COFF (i386) object file in the Target
settings found in the Options → Assembler... The assembler will produce a pmtest.o
object file which your driver.c code needs.
Second, compile the driver.c code by typing the following at the command prompt
where you are working with the pmtest files.