
#E32
Q: What is the Symbolic Addressing Mode?
Symbolic Addressing in Program Mode
|
The vector comment field can be employed for
symbolic addressing. Certain rules are enforced, primarily to extend
program mode to QuickLoad in AutoTest. This beta feature is invoked by
the SpScript keyword: 'AllowSymbolicAddressInComments'. The following
Rules & Regulations apply:
2. First line of program must be PAGE 0, and second line of program must be JMP 2. Note: these program commands are automatically generated (the aforementioned keyword does the invocation). 3. Vector 2 comment must begin with ':BEGIN' (which is a 'label' preceded by the key delimiter ':'). Again, the ETS2k generates it automatically. 4. Last vector comment indicates last vector by the keyword '_LastVec' - inserted automatically. This, however, is not a label; just a comment convenient when the feature of comment search is used. Similarly, the StopVector will have the comment '_StopVector' inserted. (CommentSearch makes these comments an operating convenience). 5. The comment for the last vector minus 1 must begin with ':END'. This label is also generated automatically. Between 'BEGIN' and 'END' (inclusive) is the program space accessible as references by the various branch instructions of the program. The syntax for the program itself is simple and summarized by the following rules: A. Only branch instructions associated with labels (JMP, CJMP, CALL, CCALL) need to be considered for programming in the comment field. The LOOP instruction has by our new convention no label associated with it. It is called LOOP@, indicating looping to itself. If the user desires the old convention, we have provided equivalency by invoking the SpS keyword 'UseOldProgramRules'. |
C. The LabelName associated with a vector must appear in the comment field and be preceded by the delimiter ':'. The label name itself could be any alphanumeric string of which the first fifteen characters have significance. The following vector display illustrates the concept: Note: the line with '_StopVec', indicating the Stop Vector, which is not the same as Last Vector. The ETS2k warns the user of this deviation from the rules, but allows it to run anyway. The warning message will only appear one time during the entire session. Importantly, this real time compilation (perhaps more correctly assembly) slows down the running process as a function of several factors, primarily the number of lines of comments and the total number of comments. While, the translation will only occur as required (a subsequent pressing of the RUN button will skip the compilation process), it slows down the run when a comment is added or changed. We understand the essence of the element of time during the debugging process, and have done our utmost to mitigate this timing predicament. However, assembly is never done instantly and the price to pay may warrant temporary deviations from the norm. Do this by changing the aforementioned keyword '_PrgCmd' to 'PrgCmd', and the software will behave as if no compilation existed. Then, when the job nears completion, you can reintroduce '_PrgCmd' and finish off the job with a program well documented and easily enhanced and modified. Also See:
Qe32.zip is a zipped Word file of this Q'nApp.
|