Click here to Skip to main content
15,887,027 members
Articles / Programming Languages / C#
Article

ASM64

Rate me:
Please Sign up or sign in to vote.
2.25/5 (5 votes)
27 Jun 20062 min read 30.9K   733   19   1
An editor for 64-bit assembler code.

Image 1

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


Written By
Engineer
Germany Germany
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
QuestionDOS ? Pin
n7yap23-Jan-07 7:53
n7yap23-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.