Appendix B Expression Diagrams
The following diagrams depict valid expressions for DAT/Debug:
expression :=
---+--> simpexpr ---+-->
| |
+<-- simpexpr relop --+
simpexpr :=
[+-] --+--> term --+-->
| |
+<---- + - -----+ add, subtract
| |
+<---- OR -----+ logical OR
term :=
--+--> factor --+-->
| |
+<---- * / -----+ multiply, divide
| |
+<------- MOD -------+ modulus
| |
+<------- AND -------+ logical AND
factor :=
--+--> addrvalue -----+-->
| |
+<---- << -----+ left shift bits
+<---- >> -----+ right shift bits
| |
+<-------- BAND ---------+ bit AND
+<-------- BOR ---------+ bit OR
addrvalue :=
--+--> value --->
|
+--> value.value ---> a.cooo2c40
pc, cmpc, pw
value :=
--+--> numeric-literal ---+--> 224
| |
+--> string-literal -->+ "AB", 'ab', `ab`
| |
+--> variable -->+ sdst
| |
+--> [ indirect_addr ] -->+ contents of
| |
+--> ( simpexpr ) -->+ ( 25/3 + 1 )
| |
+--> NOT expression -->+ NOT (n < 6 )
+--> BNOT expression -->+ BNOT $FF0F
numeric-literal
:=
123 | %123 | #123 | $123 default, oct, dec, hex
string-literal :=
"ABCD" | 'ABCD' | `abcd`
relop :=
< <= = > >= <>
indirect-addr :=
CST seg.offset
CSTX seg.offset
DST seg.offset
ABS [offset]
DB [offset]
S [offset]
Q [offset]
P [offset]
REAL offset
[VIRT] offset
[VIRT] sid.offset
[VIRT] nmlogaddr
CMLOG cmlogaddr
SEC ldev.offset