Click here to Skip to main content
13,090,299 members (77,128 online)
Click here to Skip to main content
Add your own
alternative version


19 bookmarked
Posted 13 Jun 2006


, 27 Jun 2006
Rate this:
Please Sign up or sign in to vote.
An editor for 64-bit assembler code.


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

  1. 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):
      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):
      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().]

  2. 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.


Parts of the program are lent from the Code Project WinDOS Tool by msmits, Notepad II by Mike Gold, and Leo’s Icon Archive.


This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


About the Author

Germany Germany
No Biography provided

You may also be interested in...

Comments and Discussions

QuestionDOS ? Pin
n7yap23-Jan-07 7:53
membern7yap23-Jan-07 7:53 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Terms of Use | Mobile
Web02 | 2.8.170813.1 | Last Updated 27 Jun 2006
Article Copyright 2006 by SaschaMichael
Everything else Copyright © CodeProject, 1999-2017
Layout: fixed | fluid