home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 4 / DATAFILE_PDCD4.iso / utilities / utilsa / asm / Docs / About next >
Encoding:
Text File  |  1996-04-03  |  2.2 KB  |  51 lines

  1. About !ASM
  2. ----------
  3.  
  4. !ASM is an advanced ARM code assembler with none of the limits imposed on 
  5. you as you would find using BASIC assembler, !AAsm or !ObjAsm. New features
  6. include:
  7.  
  8. Support for floating point instructions
  9. Local labels
  10. ADR can address a 2-gigabyte range (should be enough...)
  11. LDR can do that also, as can STR, STF and LDF...
  12. All data processing instructions can take any constant
  13. A full expression parser (not new over BASIC, but a rarity nonetheless.)
  14.   Proper ordering of operations (brackets, +-*/, etc etc)
  15.   Can tell the difference between SWIs and labels
  16.   Has 'fast mode' if no parsing required
  17. Structures
  18. Very flexible macro support
  19. Nice wimp front end
  20. Can output in AIF format
  21. Can use throwback
  22. Default header can be automatically included and assembled at start of 
  23. process
  24. A smiley for those that like these things.
  25.  
  26. There are three stages to assembling any program:
  27.  
  28. 1. The PreProcessor. This collects any #included file, and processes the
  29.    various preprocessor instructions (those that begin with '#').
  30. 2. The MacroScanner. This finds all the macros and defines references to
  31.    them.
  32. 3. The multi-pass assembler. Due to the ability to auto-expand labels, the
  33.    assembler can take large numbers of passes in order to create meaningful
  34.    code. The minimum is two passes...
  35.  
  36. BASIC assembler code translates very well into !ASM assembler code, because
  37. the syntax is designed to be the same (!extASM code also translates very
  38. well, seeing as !ASM is based around it). In fact, the only real difference
  39. is that you no longer need the BASIC bits at the start and end, and the file
  40. is pure text. !ASM can do almost everything that you would want from the
  41. BASIC assembler, and one or two things that BASIC could never do...
  42.  
  43. !ASM consists, basically, of the assembler itself, written in C, and the
  44. front-end, written in BASIC. The assembler is compiled from about 4000 lines
  45. of source code (wow...) into a 58k executable using Beebugs rather excellent
  46. Easy C++. (The code itself is actually C, due to implementation differences
  47. in structs). The front end uses the task window module in order to multitask
  48. the single tasking ASM code, producing a nice window at the end where you
  49. can view the output.
  50.  
  51.