April 8, 2016

Where to Even Start Assembly Adventures 01

This Sounded Better at 3am

This sounded a whole lot better the other night.

Learn Assembly?  What was I thinking? Where to start?

What is Assembly? That question is probably a great place to start. I knew from my conversation, I wanted to learn x86, 32bit, and for me I wanted to use it in Windows too.

Some Tools Required

I wanted to do this at little to no cost. A few quick google searches and it sounds like I need tools called MASM, and an IDE or Editor to work with and save the code. WinASM came up quite a bit so I'm looking at that too.


The Microsoft Assembler also called MASM is for programming "operating system level code and high performance object modules, executable files and dynamic link libraries". The MASM SDK can be downloaded in the link below.

Reference: https://www.masm32.com/

MASM Installation

After downloading the MASM SDK, extract the contents and execute install.exe.

Click on the Install graphic from the Welcome screen to begin the installation.

Select the Partition to install MASM.

Now set up will run through a series of checks with OK buttons. Proceed on.

Click on Extract

Click OK

At this point I received several errors like ones below when installing on Windows 10. Just OK through and ignore them for now.

After the installation is complete. Open a Command Prompt and run the below command to make any missing libraries. So far this has not inhibited me from continuing.


You could choose to use the DOS editor the came with the MASM SDK but I choose to install WinASM.


WinASM can be downloaded here https://www.winasm.net/free-downloads.html

Once it is downloaded extract the folder and contents to a location of your choice. It is a portable application you can move it anywhere.

Double click on WinASM.exe in the folder you just extracted and WinASM Studio should start.

We are ready to start learning some actual code and syntax. In the next post we will code a popup box with "Hello World!" in Windows.

I can't wait for the next step.