Overview ..
RosAsm is a 32 bit specific assembler with an integrated IDE. As opposed to other Assembly IDEs, which tend to impress the user by a heavy overload of features and multiple windows, the one of RosAsm is as naked and simple as possible. Most advanced features require reading the Manual, like the very powerful Right-Click, that you will miss it you don't read Source_Editor. For the Assembler itself, it has been written with the following goals and characteristics:
Full assembler-written applications production.
Stand alone / all-in-one approach / Tends to include all Asm32 needed tools (Debugger, Linker, Disassembler, Resources Editors, IDE).
Fast output. A 1,000,000 octets application (1Mo is consistent for an Asm written Code), is built in 3.16 seconds on K6/300/win95, from full source analyses to PE writing. No relationship with the usual encodage speed given in other Assemblers documentation. The one of RosAsm is really blazingly fast and counts for few in calculations.
True pure assembly language without any C-like features. (no STRUC, PROC, USES, LOCALS and so on...). These HLL features are easy to simulate with RosAsm Macros. This exclusion goal is to let users define what HLL abstraction they want. RosAsm itself remains as low level as possible for a Win32 Assembler, but the Macros system is a wide open door to high level writing styles. Examples in Beginners' Tut 5. Added to User macros defined HLLs possibilities, RosAsm may also include selectable Pre_Parsers enabling 'Non-Asssembly' syntaxes, just like external 'Front-Ends' would do..
32 bit instructions full set (up to Pentium, FPU, MMX, 3D Now!, XMM SSE/SSE2/SSE3 ).
Specific programming. - One specific version for each application type. This first version is for ReactOs PE files production. As ReactOs is still under development, you can use it for Win32 applications (Win95/98/NT/2000/XP)
Just a few words to tell what I mean with 'specific'. I use this word in both of two meanings simultaneously:
- Specific as specifically designed for only one file type production;
- Specific as a programming style that does things the simplest way, without any portability or reuse claim. Portability is a wrong headed idea. Reuse of routines should be avoided as much as possible because this is the most assured way we will be calling for a truck to carry a single strawberry.
'One step' production of applications
(from source to application by one click on 'Compile')
Ease of use
No red tape (absolutely) everything as simple as possible (reformed syntax)
All needed tools are in a stand alone program. No external Linker, Debugger,... needed.
External File needed for compiling: Win32 Equates
Files also outside: Win32 Structures / Win32 Api Functions / Help Files
Full control for the programmer on what's going on
No internal hidden macros (user macros are easy and powerful).
Full control of jumps sizes.
No replacements features in any case (do it yourself).
Radical suppression of the no-end problem for Labels/Symbolics address/content addressing (reformed syntax, but, as close as possible to NASM's).
Free open source program written in RosAsm assembly language, of course. This is too a relative guarantee that 'it works', at least for the auto-compilation of its own source, more than 3 Megabytes. -not a tiny demo-....
~~~~~~~