HPlogo System Debug Reference Manual > Appendix B Expression Diagrams

Appendix B Expression Diagrams

MPE documents

Complete PDF
Table of Contents
Index

E0201 Edition 4
E0300 Edition 3 ♥
E0692 Edition 3

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




Technical Summary


Appendix C Emulated/Translated CM Code