V i s u a l | A s s e m b l e r |
Visual Assembler is an IDE for assembly language program that incorporates Rapid
Application Development (RAD) features. Direct support is provided for win32
assembly programming on the Intel x86 processors, using the Masm, Nasm, or Tasm
assemblers.
Visual Assembler is still under development, with about 25% of the intended functionality implemented in the current version. There are screenshots of the current version; in addition, a sort of help wanted page has been put up as an introduction to the project for programmers who want to help out. The current list of people in one way or another affiliated with the project is here.
Date | Source | Binary | NasmPak | Tools | Docs | ||||||||||
05/25/99 | zip(1.0MB) | rar(608KB) | zip(1.7MB) | rar(1.4MB) | zip(364KB) | unchanged | unchanged | ||||||||
05/02/99 | zip(1.2MB) | unchanged | unchanged | ||||||||||||
02/20/99 | zip(973KB) | zip(1.8MB) | zip(989KB) | zip(72KB) |
Link | Description | ||
Include Files | Bundled include files for Visual Assembler and NASM. To download separately go here. | ||
Libs | Various routines for use with Visual Assembler and NASM. | ||
NasmPak | This full-featured pack supplies many tools needed for pre-Visual Assembler NASM development | ||
NASM Examples | Updates for the NasmPak Example directory. |
Developers' Site | Developer List | |
Thoughts | MessageBoard | |
Nasm/VisAsm workspace | ||
New Assignments | Old Assignments | |
Developer Specs | Version Control | |
W32ASM Samples | Wizard Sample |
Visual Assembler is an attempt to apply Rapid Application Development techniques to assembly language programming. The Win32 programming market is dominated by "visual" RAD tools such as Delphi, Visual Basic, and C++ Builder that offer the programmer a flexible class library represented within an IDE by objects and wizards; the lure of these development environments is their speed and easily-negotiated learning curve, the payoff is the inordinately large applications they produce. While it can be argued that the power of modern machines is such that a 70 to 100K "hello world" application is perfectly acceptable on a platform with 32-128MB RAM and 4-8 GB of hardr drive space, this train of thought ignores the fundamental principles that 1) smaller applications run faster, and 2) the continual development of needlessly larger and larger applications does not merely encourage the production of larger and faster machines, but also requires it, and ultimately contributes to the 16-month obsolescence that plagues computer hardware consumers and vendors to this day.
In the face of moden RAD tools, assembly language has been ignored not only for its complexity and the significant amount of knowledge required to use it effectively, but also because--broadly speaking--it does not have the capacity for implementing an extensible class library such as VCL, OWL, or MFC. Certainly the work of Barry Kauler, Sven Schreiber, and others has shown that assembly language can be realistically implemented on a Win32 GUI platform, using standard C Win32 programming techniques with MASM and C++ class-oriented methods with TASM. Visual Assembler is being developed based on the notion that not only can assembly language be used to program Win32 applications, but that is can be used quickly and easily through the careful implementation of reusable code modules rather than classes.
Visual Assembler will ship with a number of code-generating "wizards" that will guide the user through creating Win32 applications, libraries, drivers and VxDs. In addition, a large supply of code modules for Intel opcodes, DOS and BIOS interrupts, Win32 API calls, and standard programming libraries will be supplied for instant insertion into the user's source code. Project-browsing windows for quickly viewing and editting program source modules, data, resources, and message handlers will also be available. The IDE will have integrated tools including a debugger, calculator, binary editor, and disassembler, and will incorporate the compiling and linking of the final program into the development environment to make compilation and error correction easier.
The strength of Visual Assembler will lie in its wizard modules. The IDE will display all of the .dll files in the \Visual Assembler\Wizards directory using their internal names; these libraries will all be called using a standard (and documented) interface which will enable the user to create their own wizard modules. Each wizard will prompt the user for specific information such as the name and location of the project, and will proceed to create a project.ini file for the project which will contain a list of the source code modules to be included in the project. When finished the wizard module will turn control over to the IDE, which will open the project.ini file and use it to load the user-modifiable code modules in the project.
Visual Assembler will initially be designed to only make win32 assembly programs; eventually it will have the capacity to produce programs for non-Intel and non-Win32 platforms (such as Linux/X-Windows) and ultimately will be ported to run on these platforms as well.