Early October work on ident86, lDebug
ident86
Use IBL2 sequential 1 format, only read the label itself rather than the colon or keyword that is matched before or after it. (No corresponding revision of insbound.py was created.)
-
Simplify getlabelstring, it can be always used on a tuple object rather than the re.Match object, so that the type dispatch is no longer needed.
-
In insbound.py
generate IBL2 sequential 2 file, with new match to only match label name (not colons or keywords around the label) and to expand local labels. This points from the IBL entry to the last base label, not necessarily the last label.
-
In matchsize
handle simple TIMES directive with a DB, DW, or DD directive and a sequence of numbers or simple operators before the data directive.
-
Keep track of dynamic labels in ident86.py. These are only used for displaying the label found for --show-diff, and a dynamic label is only written separately if it doesn't match the static label already displayed. Dynamic labels are better in that they are easier to associate to the source when considering the resulting labels. They are useless for the original findsourceline purpose, which was to provide coordinates for editsource, so that use continues to operate on static labels.
(NB, the IBL2 sequential 2 format doesn't need to change. A dynamic base label that takes effect can never occur before a static base label, because then the static label would override the dynamic label. Therefore, both static and dynamic labels can be evaluated just by searching starting at the last static base label, which IBL2 sequential 2 format records.)
ETA:
lDebug (experimental)
-
Add SYMBOL.FAR. or SF. symbol prefix to return a pointer type expression (always Real/Virtual 86 Mode far address). Also relax the SYMBOL.OFFSET. matching so a symbol starting with eg "BASE." can be used. This changes the issymbol? function to allow returning pointer type expression terms.
-
-
-
-
-
-