One real test of a language's usefulness is its readability. Here you will be given the opportunity to test your skills at reading some examples. Although is not an assembler, you still "think" at the register level when you use it. Its real strength comes from its intuitive, descriptive notation. For example the statements:
generate the following assembly code:
What could be simpler? Since , like it's name implies, is a very concise representation of assembly language, it is ideal for communicating low-level concepts to other programmers as well to the "machine." It also features what I call structured flow control giving your programs a clean, structured look and there is never the need to invert another conditional or invent yet another meaningful label. Copy and paste all day long and never have a label conflict!
Here are two trivial examples:
This is an if-then-else. It sets
eax to one if
eax was ten, otherwise it sets it to zero. It does this with a
Short, and a final
This one's a while statement. It initializes
1000 and then goes into a delay loop, decrementing
dx and looping back to the top of the loop while
dx is non-zero. The code generated for this one is a
Dec, and a
Of course is a
free-format language so you have total freedom to format your code
on the screen however you like. The whole idea behind
is to make machine
level code both easy to write and easy to
read. With ,
maintenance is a breeze. uses all the familiar operators
|, etc.) to represent the instructions in the x86
instruction set and supports compound statements to eliminate redundant
information, for example:
Notice that chained assignments are performed right to left and
computations are performed left to right. Pushing, Popping, Calling,
etc., have all been made much simpler to both write
and read! also allows you to intermix standard assembly right along
with your statements
allowing you to use either syntax, whichever is more to your liking. This
"intermixing" feature also guarantees you access to any new
instructions that may be added to the processor's repertoire in the future
without the need to upgrade your compiler. If your assembler supports it, so
There is so much more that has to offer like built-in pointer advancing
al=[bx+];), etc., I can't possibly describe it all in
one web page! If you would like to see some more complex examples, please
send me an E-Mail and I'll be happy
to send you some. For now, let me tell you a bit about how works.
.ASM files as its output. I did this to assure you compatibility
with whatever development tools you may be using. You continue to use the
same operand syntax you are already familiar with.
There are several philosophical differences between all the different assemblers being used out there. There is "the standard" MASM, there is TASM with its "ideal mode", there's A86 with its "no red tape" way of doing things. Not to mention NASM, etc., the list goes on. Since doesn't generate anything without being "told to," the language "configures" itself to conform to the assembler you choose to use as the common code generator (CCG) "back end" to the compiler. will work with any assembler that accepts standard Intel mnemonics.
The compiler is totally debugged, tiny (a trim 23,917 bytes) and very fast. It comes with a beautiful 220 page manual packed with tips and examples, written in a clear style that explains the reasoning and logic behind the selection of each operator. These explanations help you form a mental image for each operator making learning and remembering the syntax as simple as:
There is also a Memory Jogger tear-out reference card in the back of the manual. Of course there is a complete table of contents, comprehensive index, the complete language BNF, conversion tables, and several sample programs with their source files included on the diskette. For more information on everything you get, check out the Risk FREE Special Money Back Offer. You have nothing to lose but a whole lot of MOVes!
© . All Rights
The word OPTOMIZED, the name TERSE, and the logo are Trademarks of .