HP 3000 Manuals

Expression Diagrams [ System Debug Reference Manual ] MPE/iX 5.0 Documentation


System Debug Reference Manual

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 



MPE/iX 5.0 Documentation