ASM64






2.25/5 (5 votes)
Jun 13, 2006
2 min read

31292

736
An editor for 64-bit assembler code.
Introduction
ASM64 is an assembler editor using DOS, in a way that DOS commands are written once in the settings so they don’t have to be rewritten every time the code gets assembled.
Using the program
- Open the DOS settings window: Settings->DOS Settings (see image above):
- Declare the path of the assembler ml64.exe, the linker link.exe etc. (these settings remain the same until you change them):
Default: Path ml64.exe: C:\Program Files (x86)\Microsoft Visual Studio 8\VC\bin\amd64
- Complete the DOS commands in the same way you would use them under DOS (these settings are unique for every project):
Default: Assemble: ml64 xxx.asm /c Link: link xxx.obj Assemble and Link: ml64 xxx.asm /link Lib: Lib Editbin: Editbin Dumpbin: Dumpbin
[When creating a new ASM file, xxx.asm and xxx.obj will be replaced by the new name.]
When using libraries like user32.lib, they should be in the same directory as the xxx.asm file. Otherwise, the commands have to be prepared:
- Paths in the DOS commands should be written between quotation marks because of space characters in DOS applications.
- Special characters in DOS commands, like ‘(’ and ‘)’ should be written between curly brackets, like ‘{(}’ and ‘{)}’ because of the ‘
SendKeys.Send
’ function (see Visual Studio help).
[This is already done for the ML64.exe path string by the function
PrepareToDosCommand()
.] - Declare the path of the assembler ml64.exe, the linker link.exe etc. (these settings remain the same until you change them):
- Write the assembler code, and compile and link it: Assembler->Assemble, Link etc.
When compiling the code, the DOS application is set to the foreground and the eventual errors are shown there.
There are a few examples in the Zip file.
Classes in the code
- ASM64.cs:
This class represents the ASM64 form.
- DosSettings.cs:
This class represents the settings form.
- DosProzess.cs:
This class manages the communication with the DOS console.
- FileHandling.cs:
This class manages the opening and saving of the assembler code and the settings.
- EditFindReplace.cs:
This class invokes a Find/Replace dialog.
- EditUndoRedo.cs:
This class manages multiple undo/redo actions.
- DialogSave.cs:
This class invokes a save (Yes/No) dialog.
Final
Parts of the program are lent from the Code Project WinDOS Tool by msmits, Notepad II by Mike Gold, and Leo’s Icon Archive.