Skip to content

Latest commit

 

History

History
110 lines (81 loc) · 4.97 KB

README.md

File metadata and controls

110 lines (81 loc) · 4.97 KB

Basic support for MASM/TASM v1.x

Chinese|English| 中文 in gitee

Basic language support for assembly in DOS environment. may be suitable for studying MASM/TASM in DOSBox or courses like principles& peripheral technology of microprocessor.

  • Language Support: Offer grammar,basic outline view,hover,code formate support for DOS assembly language
  • Run and debug: Right click on the VSCode editor panel, run and debug your code
  • Diagnose: process the output of ASM tools and display them in VSCode
  • support all platform including Web, see platform support
  • Note: this extension is built for learning assembly in DOS, it can not work with assembly for win32

Demo

Demo 1: Language Features

Formate Codes Diagnose

The extension offers some language features like "hover","formate","jump to definition" as language id assembly. You can also use other extension for Assembly language Support, for example language ID asm-collection by installing extension ASM Code Lens.

Demo 2: Run and Debug

using TASM via DOSBox using MASM via msdos-player

when you are editing assembly files ,you can right click at the editor panel,then you will see several choices listed below:

  1. Open Emulator: Open the dosbox, prepare the environment
  2. Run ASM code: Assemble,link and Run the program
  3. Debug ASM code: Assemble,link and Debug the program

RunDebug Notes

  • If your code just in a single file, set configuration masmtasm.ASM.mode as single file. The extension will copy your file to a seperate space in your machine to keep your workspace Folder clean.
  • If your project is complex and making up with many files, you may set configuration masmtasm.ASM.mode as workspace and keep your files' names follow the emulator's limitation.
    • take include <filename> for example, the <filename> should be the relative path to your workspace Folder
  • Obviously, this extension may be not suitable for complex project

Platform Support

The extension depend on vscode-dosbox for intergration with DOS emulator. It has packaged all binary files for windows system.

Follow its doc for installing emulator like DOSBox in other system.

About DOSBox 's disk

The extension will mount some folder to DOSBox 's disk.

in DOSBox real path in the computer
C: the path of tools folder
D: the path of the work space

Compile to .com files

You can change the command to exec in setting masmtasm.ASM.actions. For example, if you want to compile your code to .com, you can add a setting like this. And set masmtasm.ASM.assembler to its key TASM-com

"masmtasm.ASM.actions": {
     "TASM-com": {
      "baseBundle": "<built-in>/TASM.jsdos",
      "before": [
        "set PATH=C:\\TASM"
      ],
      "run": [
        "TASM ${file}",
        "TLINK /t ${filename}",
        "${filename}"
      ],
      "debug": [
        "TASM /zi ${file}",
        "TLINK /t/v/3 ${filename}.obj",
        "TD ${filename}.exe"
      ]
    }
}
"masmtasm.ASM.assembler":"TASM-com"

where-are-extensions-installed

According to VSCode-doc, the extension will be installed in following folder:

  • Windows %USERPROFILE%\.vscode\extensions
  • mac-OS ~/.vscode/extensions
  • Linux ~/.vscode/extensions

Docs & Thanks & Licenses

Enjoy!:smile: