OTHER INFORMATION


COMPLEMENTS


MULTIPLE INSTRUCTIONS ON A SINGLE LINE

ESA accepts several instructions and/or constructions on a single line:

         lea.l buffer,a0 § bool d1=d2,d0.b § add.b d7,d7 § ...

The instructions in the example are separated by § (the leading SPACE is compulsory, the following not), the default separator (which can be substituted with the SEPARATOR option).
Labels, of course, cannot be specified after a separator.


ERROR REPORTS

Error reports are shown in this form:

"ERROR" NUMBER ":" MESSAGE

or, when needed:

"ERROR" NUMBER ":" MESSAGE "at line" LINE "of" FILE ":"
">" CODE

where:

In some cases, the same report can be given for different errors.


MISCELLANEOUS NOTES

These notes reveal, in no particular order, some interesting aspects that are not so obvious.


NOTE ABOUT SPEED

Basic, speedy, flexible... but hard to work with due to the complexity of usage. Often, to make things easier for us humans, simplicity, speed and flexibility are sacrificed. This applies to almost everything in computing (and in the "real" world as well). And this is exactly what naturally happens with ESA.
ESA code is normally quite efficient - sometimes even perfectly efficient -, but obviously it cannot match the performance of hand-written assembly in all cases. So, WHEN WRITING TIME-CRITIC ROUTINES, DO NOT RELY ON ESA CODE SPEED!
That said, do not be afraid: not only generated code is normally good, but inefficiencies can be kept under control by understanding well the behaviour of the constructions.



home