Welcome to XIDE - an online x86 Assembly IDE (Integrated Development Environment) set up by ASD0x41!
The purpose of this tool is to facilitate students who are studying assembly language. It eliminates the need for downloading and installing tools like assemblers, debuggers, and emulators separately. Instead, all you need to do is go to https://xide.nullprime.com/ and your browser itself will become your IDE for assembly language programming.
More specifically, this tool is a combination of the Netwide Assembler (NASM), the Advanced Fullscreen Debugger (AFD), and the DOSBox Emulator (technically, a WASM port of DOSBox Emulator). If you are interested in further details about how exactly XIDE has been implemented, visit the project's GitHub repo using the button on the top-right and read the documentation.
With regard to the usage of this tool, most of it is quite self-explanatory. You can open a .asm file using the Open File button (or by pressing Ctrl + O) and modify it or start from scratch inside the Editor. At any point, you can also download the contents of the Editor as a .asm file using the Save File button (or the Ctrl + S keys). Once you are done with coding, you can press the Assemble button (or Alt + A) to reload the Emulator and assemble your code (which will be present as code.asm inside the Emulator) using NASM to an executable file (which will be called prog.asm). You can also press Execute (or by pressing Alt + X) to both assemble as well as execute the assembled program inside the DOSBox Emulator. Alternatively, you can press Debug (or Alt + D) to assemble your code and then open the assembled program in the Advanced Fullscreen Debugger (AFD).
If you just want to be able to access your code inside the Emulator and enter commands for assembly, debugging, execution etc. yourself, press the Restart button (or Alt + R). It will restart the Emulator after which your code will be available as code.asm in its root directory. The Restart button can also be used to restart the Emulator for other purposes, such as to stop the execution of a program that keeps running indefinitely. This document can, of course, be accessed by pressing the Help button (or by pressing Alt + H).
Note that the code editor embedded in this IDE is the Ajax.org Cloud9 Editor (ACE). This means that many of the keyboard shortcuts supported by ACE should work while the Editor is in focus (though some might not due to certain interactions with other components of the IDE). A list of those shortcuts can be seen at https://ace.c9.io/demo/keyboard_shortcuts.html. Furthermore, to enhance user experience, one particular functionality that has been implemented in the Editor is that you can press Ctrl (+) to increase the font size and Ctrl (-) to decrease the font size.
It is also important to keep in mind that the working of these keyboard shortcuts as well as the target of your keyboard input (such as typing something) depends on which component of the IDE is in focus (i.e. the Editor, the Emulator, or neither). The one in focus will receive the keyboard input (and these shortcuts will not work if it is the Emulator that is in focus at the time). To shift focus to another component, simply click on that particular component (i.e. the Editor, the Emulator, or anywhere else). Furthermore, there is a problem that sometimes comes up due to certain issues with the loading of the Emulator: at times, upon clicking a button (or pressing a key), the Emulator loads but stays on drive Z and does not mount C or perform any action. In case this happens, please click that button (or key) again, and it should hopefully work as intended. Sorry for the inconvenience in this regard, but the issue is difficult to resolve without adding considerable complexity to the project. In any case, efforts have been made to reduce the frequency of the problem so that the user experience is not too adversely affected.
Anyways, that's all with regard to the usage instructions. Support for multiple files is in the works and will likely be made available in the next update, so stay tuned. Also, if you are interested in this project or have found it useful, please visit its GitHub repository at https://github.com/ASD0x41/xide/ and give it a star to show your support. And if you are even more deeply interested, do check out the repository for the WASM port of DOSBox at https://github.com/dreamlayers/em-dosbox as well, which is a very interesting project and forms the core of this one.
For reporting bugs, providing feedback, requesting features, etc., you may contact me at: contact@nullprime.com.
Regards,
ASD0x41