Posted: Wed Jul 18, 2007 7:49 pm
Close to forty years ago, at least some mainframe assemblers had sufficient expressive power to allow stacks and arrays. The Compass assembler by Control Data Corporation comes to mind; an ingenious coder could create and use all kinds of high level techniques given a sufficient grasp of the language's phone book sized manual. I recall seeing Compass being used to generate object files for all sorts of different target architectures and it was no big deal. Inventive authors had no difficulty implementing macros for nested high level sequencing structures.
Then there were the macros used to calculate things like logarithms, square roots, and even the current phase of the moon. How was this done? In part by the assembler's micro (yes, micro) definition and substitution facility. A micro is a string version of a macro and a micro call could appear just about anywhere, and new symbols could be manufactured by micro substitution, concatenation, and other tricks.
As for my assembler, the eventual exact feature set is dependent upon the needs of the (private) applications I'm developing. I'm hesitant to make it freely available as I really don't have enough spare time to handle support and I won't cede the development direction to others. Again, the priority here is with my personal applications.
Then there were the macros used to calculate things like logarithms, square roots, and even the current phase of the moon. How was this done? In part by the assembler's micro (yes, micro) definition and substitution facility. A micro is a string version of a macro and a micro call could appear just about anywhere, and new symbols could be manufactured by micro substitution, concatenation, and other tricks.
As for my assembler, the eventual exact feature set is dependent upon the needs of the (private) applications I'm developing. I'm hesitant to make it freely available as I really don't have enough spare time to handle support and I won't cede the development direction to others. Again, the priority here is with my personal applications.