Create Microsoft Windows and MS-DOS applications with Visual MASM for Microsoft Macro Assembler (MASM).
“I have always wondered why there was no true, easy to use IDE available for assembly programmers. There were attempts in the past to create such IDE’s and in part they do work to some degree, but, they all lack ease-of-use with powerful features. I created Visual MASM to make a difference and to bring ease-of-use to the most powerful programming language there is. Microsoft’s Macro Assembler > (MASM) is the most powerful assembler available when compared to assemblers on other platforms including Windows, Linux, Mac OSX, etc. MASM deserves an awesome IDE to create modern Windows applications.”
– Thomas Jaeger, Creator of Visual MASM
February, 13th, 2018 - Update
In the last 3 months or so, I have been super busy with my day job. However, I have not forgotten about Visual MASM. Not at all. The same burning desire exists and Visual MASM is far from complete the way I want it to be. I will pickup with the updates and improvements soon. I just wanted to let you know of what is happening. As always, you can get the latest updates directly from Github.
July 13th, 2017 - Major Update Available
I finished the major refactoring. Latest version is available as usual on the Github repo for Visual MASM. I’m thinking to continue to work on the user-mode debugger in Visual MASM. My plan is to allow debugging your assembly programs including setting break-points, stepping line-by-line, etc. One of my goals is to see the register values and being able to modify the registers while you are debugging and stepping thru your code. It will also show loaded modules, current threads executing. Visual MASM could also disassemble applications where no source code / symbols are available. But, I think I will wait on that piece until later. Still, lot’s of work to do in Visual MASM until I consider it a first class assembly IDE that professionals can use.
Another goal of mine with Visual MASM is that I want to use it to create other Windows applications in vertical markets. For example, I want to create a Windows application with Visual MASM that can communicate to a REST based API running on multiple EC2 instances in AWS. This backend is written in C# and based on high performance CQRS and Event Sourcing using Redis in a distributed cluster. So, this Windows client will be written in Visual MASM, be ultra-small and pure 100% MASM assembly. How cool is this? I can’t wait.
Having a goal for creating some real professional applications is important. However, I would also like to share this knowledge with others and maybe, just maybe awaken the spark that assembly is COOOOOOL and you can create apps just as quickly as you can in C and Delphi using Visual MASM.
DO NOT LISTEN to the ignorant of telling you that “No one is using assembly anymore”. Be different! Create the highest quality of software with the absolute power of assembly! Yeah!
July 6th, 2017 - Major Improvements
For those of you who are keeping track of the latest version of Visual MASM on my Github repo, I’m currently working on some major changes and will commit the code changes when I’m done. I’m hoping these improvements will be done in less than two weeks. Since some of this work is like an open heart surgery, I won’t commit these changes until they are working properly. So, hang in there for the latest version.
Here is what I’m currently working on:
- Full docking capabilities just like Visual Studio / Delphi IDE
- Replacing some controls with new ones for consistent look & feel that is clean and modern
- Prep-work for the build-in user mode debugger
- Adding IDE layout management
- Adding object tree panel
- Several fixes
May 25th, 2017 - Visual MASM 2.0 Installer Ready
I created a new installer for those who don’t want to copy all the files from Github. It’s a little more convenient. You can download the installer from the download page.
January 16th, 2017 - Source Code on Github
I decided to release the source code of VisualMASM on Github. This allows me to share the code base for more feedback and also keep the project going with potential project contributors. The source code that I will be adding to Github is not the current code base but a new version of VisualMASM 2.0. I want to make some big changes to VisualMASM and I figured this is a good way to also share the source code at the same time. You can follow along the changes of VisualMASM as I will build it out more over time and when time permits at the Github repository here.
May 31st, 2016 - New Version
I just uploaded the latest version 1.11. This version includes some bug fixes as people have reported them. Please keep the bug reports coming.
October 11th, 2015 - Status
I’ve received a lot of good feedback since I have released Visual MASM. I wanted to give a quick status update. I’m planning on releasing an update with fixes and minor improvements. I’m not sure when it will be ready, that is my honest answer. My next major update would be the “Visual” part where you can drag & drop visual elements such as Forms, buttons, etc. around onto a form. Once these visual elements are placed, all you will need to do is to double-click on them and Visual MASM will switch to the code editor and a basic assembly stub that represents the visual element much like the Delphi IDE or Visual Studio IDE works. Anyways, tell your friends about Visual MASM. :-)
March 12th, 2015 - Visual MASM 1.1 is Released
Download Visual MASM 1.1 now. This new version includes 109 new themes so that you can customize the IDE and the code editor. It also includes small improvements and bug fixes. Below are just a few samples of what the 109 different themes look like.
March 5th, 2015 - Visual MASM 1.0 is Released
Download Visual MASM 1.0 now and let me know what you think. There are still some limitations and I did not finish all of the tooltip help; but, I figured you can start using it and let me know what you think. In the next few days, I will publish some videos on how to setup it up and how to use it to your first Hello World application. Version 1.0 allows you to create Windows 32-bit and 64-bit EXE’s, and also MS-DOS 16-bit COM and EXE’s even within the same project group as you can see below.
February, 21st, 2015 - Almost Ready!!!
Another quick update that Visual MASM is almost ready. I’ve been able to put in a lot of work and get it ready for a first version. I’m super excited and want to release it right now but it still needs a few more fixes and improvements. My hope is that I can release Visual MASM in 2-3 weeks from today. At least, it will be good enough for a first release. Stay tuned…
November, 27th, 2014
I’m working on Visual MASM and wanted to give a quick update. I’m currently working on the first run user experience. This means that Visual MASM will try to detect any copies of MASM on your computer or provide download options. If you choose to download, it will download and setup MASM for you. I have also worked on optimizing the IDE. It now runs without any problems on Windows XP all the way to Windows 8.1.
September, 22nd, 2014
I just published a quick sneak peek of the Visual MASM IDE on YouTube. Take a look at the video below.
Sneak Peak Video
August, 13th, 2014
This first working version of Visual MASM is the MS-DOS 16-Bit COM MASM project type showing DOS interrupt code complete feature using MASM v6.14. Visual MASM supports the following application types:
- 32-Bit Windows DLL
- 32-Bit Windows Application
- 64-Bit Windows DLL
- 64-Bit Windows Application
- 16-Bit Windows DLL
- 16-Bit Windows Application
- 16-Bit MS-DOS COM Application
- 16-Bit MS-DOS EXE Application
Depending on what type of application you are creating, Visual MASM will adjust itself accordingly on what type of help and features are available to you. The image below shows the lexer in action for syntax highlighting of specific MASM features like all of MASM’s Directives such as .MODEL, .CODE, etc.