Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

ASM64

0.00/5 (No votes)
27 Jun 2006 1  
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

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

  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.

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.

License

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