@DATABASE
@HELP hass:hypass.guide/main
@NODE main "[2] Listing of HSRC:demo/math.hsrc/main (1)"
@TOC hass:projects.guide/main
@{" Status " LINK HYPASS_STATUS} @{" Inc+Obj " LINK USED_FILES} @{" Macros " LINK USED_MACROS
 @{" Lab+Sym " LINK HSRC:demo/math.sym/main
 @{" Edit " SYSTEM "hass:tools/edithsrc_os36 HSRC:demo/math.hsrc main 0"
 @{" Assemble " SYSTEM "run hass:tools/assemble_ag40 HSRC:demo/math.hsrc syn,XASS math,HYP cpu,6502 obj,CBM def,_SHAREWARE_ LST SYM NOBJ v"}
HypAss 1.0, © 1998 RST Ralf Steines Trier, ALL RIGHTS RESERVED !
@{B}*$VER: HypAss math test V1.0 (19.7.96)
@{B}*©1998 RST Ralf Steines Trier, ALL RIGHTS RESERVED@{UB}

      6        0                   |    .SYN  xass,z2o,x2h,c2h
      7        0     *=    89AB    |    .ORG  $89AB
      8     89AB                   |    .cpu  6502

  @{" HypAss math directives  " LINK HYPASS_MATH_DIRECTIVES  }

  @{" HypAss math operators   " LINK HYPASS_MATH_OPERATORS   }

  @{" HypAss math constants   " LINK HYPASS_MATH_CONSTANTS   }

  @{" HypAss math symbols     " LINK HYPASS_MATH_SYMBOLS     }

  @{" HypAss math specifics   " LINK HYPASS_MATH_SPECIFICS   }


@ENDNODE
@NODE hypass_math_directives "[2] Listing of HSRC:demo/math.hsrc/hypass_math_directives (23)"
@{" Status " LINK HYPASS_STATUS} @{" Inc+Obj " LINK USED_FILES} @{" Macros " LINK USED_MACROS
 @{" Lab+Sym " LINK HSRC:demo/math.sym/main
 @{" Edit " SYSTEM "hass:tools/edithsrc_os36 HSRC:demo/math.hsrc hypass_math_directives 22"
 @{" Assemble " SYSTEM "run hass:tools/assemble_ag40 HSRC:demo/math.hsrc syn,XASS math,HYP cpu,6502 obj,CBM def,_SHAREWARE_ LST SYM NOBJ v"}
@{B}  * HypAss math directives@{UB}

     25     89AB      =    1234    |    e@ .equ $1234
     26     89AB      =    1234    |    e@    = $1234
     27     89AB      =    1234    |    e@     =$1234

     29     89AB     :=    1234    |    t@ .set $1234
     30     89AB     :=    1234    |    t@   := $1234
     31     89AB     :=    1234    |    t@    :=$1234

     33     89AB      =       0    |    t@    = $0000
     34     89AB     :=    1234    |    t@   += $1234
     35     89AB      =       0    |    t@     =$0000
     36     89AB     :=    1234    |    t@    +=$1234

     38     89AB      =    2345    |    t@    = $2345
     39     89AB     :=    1111    |    t@   -= $1234
     40     89AB      =    2345    |    t@     =$2345
     41     89AB     :=    1111    |    t@    -=$1234

     43     89AB      =       2    |    t@    = $0002
     44     89AB     :=    2468    |    t@   *= $1234
     45     89AB      =       2    |    t@     =$0002
     46     89AB     :=    2468    |    t@    *=$1234

     48     89AB      =    2469    |    t@    = $2469
     49     89AB     :=       2    |    t@   /= $1234
     50     89AB      =    2469    |    t@     =$2469
     51     89AB     :=       2    |    t@    /=$1234

     53     89AB      =    2469    |    t@    = $2469
     54     89AB     :=       1    |    t@   %= $1234
     55     89AB      =    2469    |    t@     =$2469
     56     89AB     :=       1    |    t@    %=$1234

     58     89AB      =    FFFF    |    t@    = $FFFF
     59     89AB     :=    1234    |    t@   &= $1234
     60     89AB      =    FFFF    |    t@     =$FFFF
     61     89AB     :=    1234    |    t@    &=$1234

     63     89AB      =       0    |    t@    = $0000
     64     89AB     :=    1234    |    t@   |= $1234
     65     89AB      =       0    |    t@     =$0000
     66     89AB     :=    1234    |    t@    |=$1234

     68     89AB      =    3434    |    t@    = $3434
     69     89AB     :=    2600    |    t@   ^= $1234
     70     89AB      =    3434    |    t@     =$3434
     71     89AB     :=    2600    |    t@    ^=$1234

     73     89AB      =    1234    |    t@    = $1234
     74     89AB     :=      12    |    t@  >>= 8
     75     89AB      =    1234    |    t@     =$1234
     76     89AB     :=      12    |    t@   >>=8

     78     89AB      =    1234    |    t@    = $1234
     79     89AB     :=12340000    |    t@  <<=    16
     80     89AB      =    1234    |    t@     =$1234
     81     89AB     :=12340000    |    t@   <<=16

@ENDNODE
@NODE hypass_math_operators "[2] Listing of HSRC:demo/math.hsrc/hypass_math_operators (85)"
@{" Status " LINK HYPASS_STATUS} @{" Inc+Obj " LINK USED_FILES} @{" Macros " LINK USED_MACROS
 @{" Lab+Sym " LINK HSRC:demo/math.sym/main
 @{" Edit " SYSTEM "hass:tools/edithsrc_os36 HSRC:demo/math.hsrc hypass_math_operators 84"
 @{" Assemble " SYSTEM "run hass:tools/assemble_ag40 HSRC:demo/math.hsrc syn,XASS math,HYP cpu,6502 obj,CBM def,_SHAREWARE_ LST SYM NOBJ v"}
@{B}  * HypAss math operators@{UB}

@{B}    * unary operators@{UB}

     89     89AB      =FFFFFFF0    |    t@ =   -$10         ; two's complement, negate
     90     89AB      =       1    |    t@ =   $11+-$10     ;
     91     89AB      =       1    |    t@ =   -$10+$11     ;

     93     89AB      =FFFFFFEF    |    t@ =   ~$10         ; one's complement
     94     89AB      =       F    |    t@ =   ~-$10        ;

     96     89AB      =FFFFFFFF    |    t@ =   !0           ; logical NOT
     97     89AB      =       0    |    t@ =   !$10         ;
     98     89AB      =       0    |    t@ =   !TRUE        ;
     99     89AB      =FFFFFFFF    |    t@ =   !FALSE       ;

    101     89AB      =      12    |    t@ =  ^^$12345678   ; high byte of 32-bit (MSB)
    102     89AB      =      34    |    t@ =   ^$12345678   ; high byte of 24-bit (MSB) (WD®)
    103     89AB      =      56    |    t@ =   >$12345678   ; high byte of 16-bit (MSB) (WD®)
    104     89AB      =      78    |    t@ =   <$12345678   ; low byte            (LSB) (WD®)

@{B}    * binary operators@{UB}

    108     89AB      =     100    |    t@ =   $10*$10    ; multiplication
    109     89AB      =  100000    |    t@ =   $10000*$10
    110     89AB      =       8    |    t@ =   $10/$02    ; division
    111     89AB      =    8000    |    t@ =   $10000/$02
    112     89AB      =       2    |    t@ =   $12%$08    ; remainder after division
    113     89AB      =       2    |    t@ =   $10002%$08
    114     89AB      =       2    |    t@ =   $12//$08
    115     89AB      =       2    |    t@ =   $10002//$08

    117     89AB      =      20    |    t@ =   $10+$10    ; addition
    118     89AB      =   10010    |    t@ =   $10000+$10
    119     89AB      =      10    |    t@ =   $20-$10    ; subtraction
    120     89AB      =   1FFF0    |    t@ =   $20000-$10

    122     89AB      =      10    |    t@ =   $30&$10    ; AND
    123     89AB      =      10    |    t@ =   $10030&$10
    124     89AB      =      30    |    t@ =   $10|$20    ; OR
    125     89AB      =   10030    |    t@ =   $10010|$20
    126     89AB      =      30    |    t@ =   $10!$20
    127     89AB      =   10030    |    t@ =   $10010!$20
    128     89AB      =      30    |    t@ =   $20^$10    ; EXOR
    129     89AB      =   10030    |    t@ =   $10020^$10

    131     89AB      =FFFFFFFF    |    t@ =   $30&&$10   ; LAND
    132     89AB      =FFFFFFFF    |    t@ =   $10030&&$10
    133     89AB      =FFFFFFFF    |    t@ =   $10030&&$10
    134     89AB      =       0    |    t@ =   $00&&$10
    135     89AB      =       0    |    t@ =   $10&&$00
    136     89AB      =FFFFFFFF    |    t@ =   $10||$20   ; LOR
    137     89AB      =FFFFFFFF    |    t@ =   $20||$20
    138     89AB      =FFFFFFFF    |    t@ =   $00||$20
    139     89AB      =       0    |    t@ =   $00||$00

    141     89AB      =      10    |    t@ =   $20>>1     ; shift right
    142     89AB      =    8010    |    t@ =   $10020>>1
    143     89AB      =      40    |    t@ =   $20<<1     ; shift left
    144     89AB      =   20040    |    t@ =   $10020<<1

    146     89AB      =      45    |    t@ =   $22?$45    ; if then
    147     89AB      =       0    |    t@ =   $0?$45
    148     89AB      =       0    |    t@ =   $0?-1

@{B}    * Comparison operators@{UB}

    152     89AB                   |    .macro compare,2
    153     89AB                  m|       t@ = ?0=?1
    154     89AB                  m|       t@ = ?0==?1
    155     89AB                  m|       t@ = ?0<>?1
    156     89AB                  m|       t@ = ?0!=?1
    157     89AB                  m|       t@ = ?0<=?1
    158     89AB                  m|       t@ = ?0>=?1
    159     89AB                  m|       t@ = ?0<?1
    160     89AB                  m|       t@ = ?0>?1
    161     89AB                   |    .endmacro

    163     89AB               m[1]|    compare 1,1
    153m    89AB      =FFFFFFFF    |       t@ = 1=1
    154m    89AB      =FFFFFFFF    |       t@ = 1==1
    155m    89AB      =       0    |       t@ = 1<>1
    156m    89AB      =       0    |       t@ = 1!=1
    157m    89AB      =FFFFFFFF    |       t@ = 1<=1
    158m    89AB      =FFFFFFFF    |       t@ = 1>=1
    159m    89AB      =       0    |       t@ = 1<1
    160m    89AB      =       0    |       t@ = 1>1
    163     89AB               m[0]|
    164     89AB               m[1]|    compare 1,2
    153m    89AB      =       0    |       t@ = 1=2
    154m    89AB      =       0    |       t@ = 1==2
    155m    89AB      =FFFFFFFF    |       t@ = 1<>2
    156m    89AB      =FFFFFFFF    |       t@ = 1!=2
    157m    89AB      =FFFFFFFF    |       t@ = 1<=2
    158m    89AB      =       0    |       t@ = 1>=2
    159m    89AB      =FFFFFFFF    |       t@ = 1<2
    160m    89AB      =       0    |       t@ = 1>2
    164     89AB               m[0]|
    165     89AB               m[1]|    compare 2,1
    153m    89AB      =       0    |       t@ = 2=1
    154m    89AB      =       0    |       t@ = 2==1
    155m    89AB      =FFFFFFFF    |       t@ = 2<>1
    156m    89AB      =FFFFFFFF    |       t@ = 2!=1
    157m    89AB      =       0    |       t@ = 2<=1
    158m    89AB      =FFFFFFFF    |       t@ = 2>=1
    159m    89AB      =       0    |       t@ = 2<1
    160m    89AB      =FFFFFFFF    |       t@ = 2>1
    165     89AB               m[0]|

@{B}    * Parenthesized expressions@{UB}

    169     89AB      =      30    |    t@ =   $10+$10*2
    170     89AB      =      40    |    t@ =  ($10+$10)*2
    171     89AB      =      40    |    t@ =  [$10+$10]*2

@ENDNODE
@NODE hypass_math_constants "[2] Listing of HSRC:demo/math.hsrc/hypass_math_constants (175)"
@{" Status " LINK HYPASS_STATUS} @{" Inc+Obj " LINK USED_FILES} @{" Macros " LINK USED_MACROS
 @{" Lab+Sym " LINK HSRC:demo/math.sym/main
 @{" Edit " SYSTEM "hass:tools/edithsrc_os36 HSRC:demo/math.hsrc hypass_math_constants 174"
 @{" Assemble " SYSTEM "run hass:tools/assemble_ag40 HSRC:demo/math.hsrc syn,XASS math,HYP cpu,6502 obj,CBM def,_SHAREWARE_ LST SYM NOBJ v"}
@{B}  * HypAss math constants@{UB}

    177     89AB      =7FFFFFFF    |    t@ =    2147483647  ; dec
    178     89AB      =7FFFFFFF    |    t@ =    2147483647d ; dec
    179     89AB      =7FFFFFFF    |    t@ =    2147483647D ; dec
    180     89AB      =7FFFFFFF    |    t@ =    2147483647t ; dec
    181     89AB      =7FFFFFFF    |    t@ =    2147483647T ; dec
    182     89AB      =7FFFFFFF    |    t@ =  d'2147483647' ; dec
    183     89AB      =7FFFFFFF    |    t@ =  D'2147483647' ; dec
    184     89AB      =7FFFFFFF    |    t@ = 10#2147483647  ; dec

    186     89AB      =12345678    |    t@ =     $12345678  ; hex
    187     89AB      =12345678    |    t@ =      12345678h ; hex
    188     89AB      =12345678    |    t@ =      12345678H ; hex
    189     89AB      =12345678    |    t@ =     x12345678  ; hex caz only
    190     89AB      =12345678    |    t@ =     X12345678  ; hex caz only
    191     89AB      =12345678    |    t@ =     #12345678  ; hex caz only
    192     89AB      =12345678    |    t@ =    0x12345678  ; hex
    193     89AB      =12345678    |    t@ =    0X12345678  ; hex
    194     89AB      =12345678    |    t@ =    h'12345678' ; hex
    195     89AB      =12345678    |    t@ =    H'12345678' ; hex
    196     89AB      =12345678    |    t@ =   16#12345678  ; hex
    197     89AB                   |    .radix 16
    198     89AB      =12345678    |    t@ =      12345678  ; hex
    199     89AB                   |    .radix HEX
    200     89AB      =12345678    |    t@ =      12345678  ; hex
    201     89AB                   |    .radix DEC

    203     89AB      =   53977    |    t@ =    &1234567    ; oct
    204     89AB      =   53977    |    t@ =    @1234567    ; oct
    205     89AB      =   53977    |    t@ =    01234567    ; oct as6502 ONLY!
    206     89AB      =   53977    |    t@ =     1234567o   ; oct
    207     89AB      =   53977    |    t@ =     1234567O   ; oct
    208     89AB      =   53977    |    t@ =   o'1234567'   ; oct
    209     89AB      =   53977    |    t@ =   O'1234567'   ; oct
    210     89AB      =   53977    |    t@ =   8#1234567    ; oct
    211     89AB                   |    .radix 8
    212     89AB      =   53977    |    t@ =     1234567    ; oct
    213     89AB                   |    .radix OCT
    214     89AB      =   53977    |    t@ =     1234567    ; oct
    215     89AB                   |    .radix DEC

    217     89AB      =      AA    |    t@ =    %10101010   ; bin
    218     89AB      =      AA    |    t@ =   0b10101010   ; bin
    219     89AB      =      AA    |    t@ =   0B10101010   ; bin
    220     89AB      =      AA    |    t@ =     10101010b  ; bin
    221     89AB      =      AA    |    t@ =     10101010B  ; bin
    222     89AB      =      AA    |    t@ =   b'10101010'  ; bin
    223     89AB      =      AA    |    t@ =   B'10101010'  ; bin
    224     89AB      =      AA    |    t@ =   2#10101010   ; bin
    225     89AB                   |    .radix 2
    226     89AB      =      AA    |    t@ =     10101010   ; bin
    227     89AB                   |    .radix BIN
    228     89AB      =      AA    |    t@ =     10101010   ; bin
    229     89AB                   |    .radix DEC

    231     89AB                   |    .syn xass ; to escape zero2octal

    233     89AB      = 331F2FB    |    t@ =   36#vwxyz     ; special
    234     89AB                   |    .radix 36
    235     89AB      = 331F2FB    |    t@ =     0vwxyz     ; special
    236     89AB                   |    .radix DEC

    238     89AB      =      61    |    t@ =    "a"         ; string (only in .equ/.set)
    239     89AB      =    6162    |    t@ =    "ab"        ; string (only in .equ/.set)
    240     89AB      =  616263    |    t@ =    "abc"       ; string (only in .equ/.set)
    241     89AB      =61626364    |    t@ =    "abcd"      ; string (only in .equ/.set)

    243     89AB      =      41    |    t@ =    a'A'        ; char
    244     89AB      =      41    |    t@ =    A'A'        ; char
    245     89AB      =      42    |    t@ =    a'A'+1      ; char
    246     89AB      =      42    |    t@ =    A'A'+1      ; char

    248     89AB      =      41    |    t@ =    'A'         ; char
    249     89AB      =      41    |    t@ =    'A          ; char
    250     89AB      =      42    |    t@ =    'A'+1       ; char
    251     89AB      =      42    |    t@ =    'A+1        ; char

    253     89AB      =       7    |    t@ =    '\\a         ; $07 BEL Bell, alert
    254     89AB      =       8    |    t@ =    '\\b         ; $08 BS  Backspace
    255     89AB      =       C    |    t@ =    '\\f         ; $0C FF  Form feed
    256     89AB      =     D0A    |    t@ =    '\\n         ; $0A LF  Line feed
    257     89AB      =       D    |    t@ =    '\\r         ; $0D CR  Carriage return
    258     89AB      =       9    |    t@ =    '\\t         ; $09 HT  Horizontal tabulator
    259     89AB      =       B    |    t@ =    '\\v         ; $0B VT  Vertical tabulator
    260     89AB      =      5C    |    t@ =    '\\\         ; $5C \\   Backslash
    261     89AB      =      3F    |    t@ =    '\\?         ; $3F ?   Question mark
    262     89AB      =      27    |    t@ =    '\\'         ; $27 '   Single quote, apostrophe
    263     89AB      =      22    |    t@ =    '\\"         ; $22 "   Double quote
    264     89AB      =       F    |    t@ =    '\\017       ; Octal number, leading zero, 2 octal digits
    265     89AB      =      1F    |    t@ =    '\\x1F       ; Hex.  number, leading x,    2 hex.  digits

    267     89AB      =      22    |    t@ =    '"          ; quote $22
    268     89AB      =      27    |    t@ =    ''          ; apost.$27
    269     89AB      =      3B    |    t@ =    ';          ; semic.$3B
    270     89AB      =      2C    |    t@ =    ',          ; comma $2C

    272     89AB      =      20    |    t@ =    '           ; space $20
    273     89AB      =      20    |    t@ =    '
    274     89AB      =      21    |    t@ =    ' +1

    276     89AB                   |    .CONV   $0A,$0D0A   ; amiga LF to PC CRLF
    277     89AB      =     D0A    |    t@ =    '\\n         ; LF  = $0D0A

@ENDNODE
@NODE hypass_math_symbols "[2] Listing of HSRC:demo/math.hsrc/hypass_math_symbols (281)"
@{" Status " LINK HYPASS_STATUS} @{" Inc+Obj " LINK USED_FILES} @{" Macros " LINK USED_MACROS
 @{" Lab+Sym " LINK HSRC:demo/math.sym/main
 @{" Edit " SYSTEM "hass:tools/edithsrc_os36 HSRC:demo/math.hsrc hypass_math_symbols 280"
 @{" Assemble " SYSTEM "run hass:tools/assemble_ag40 HSRC:demo/math.hsrc syn,XASS math,HYP cpu,6502 obj,CBM def,_SHAREWARE_ LST SYM NOBJ v"}
@{B}  * HypAss math special symbols@{UB}

    283     89AB      =    89AB    |    t@ =    *             ; the actual value of the PC     (not a PeeCee)
    284     89AB      =    89AB    |    t@ =    $             ; the same
    285     89AB      =    89AB    |    t@ =    .             ; the same
    286     89AB      =    89AB    |    t@ =    PC            ; the same

    288     89AB      =    89AC    |    t@ =    *+1
    289     89AB      =    89AC    |    t@ =    $+1
    290     89AB      =    89AC    |    t@ =    .+1
    291     89AB      =    89AC    |    t@ =    PC+1

    293     89AB      =FFFFFFFF    |    t@ =    TRUE          ; =-1 ($FFFFFFFF)
    294     89AB      =       0    |    t@ =    FALSE         ; =0

@ENDNODE
@NODE hypass_math_specifics "[2] Listing of HSRC:demo/math.hsrc/hypass_math_specifics (298)"
@{" Status " LINK HYPASS_STATUS} @{" Inc+Obj " LINK USED_FILES} @{" Macros " LINK USED_MACROS
 @{" Lab+Sym " LINK HSRC:demo/math.sym/main
 @{" Edit " SYSTEM "hass:tools/edithsrc_os36 HSRC:demo/math.hsrc hypass_math_specifics 297"
 @{" Assemble " SYSTEM "run hass:tools/assemble_ag40 HSRC:demo/math.hsrc syn,XASS math,HYP cpu,6502 obj,CBM def,_SHAREWARE_ LST SYM NOBJ v"}
@{B}  * HypAss math syntax specifics@{UB}

@{B}    * XAss64@{UB}

    302     89AB                   |    .syn xass,xass

    304     89AB      =      10    |    t@ =   $20>1     ; old shift right
    305     89AB      =    8010    |    t@ =   $10020>1
    306     89AB      =      40    |    t@ =   $20<1     ; old shift left
    307     89AB      =   20040    |    t@ =   $10020<1

    309     89AB      =       7    |    t@ = 1+2*3       ; cares of preced.
    310     89AB      =       7    |    t@ = 1+(2*3)


@{B}    * AS6502@{UB}

    315     89AB                   |    .syn xass,as02

    317     89AB      =      10    |    t@ =   $20>1     ; old shift right
    318     89AB      =    8010    |    t@ =   $10020>1
    319     89AB      =      40    |    t@ =   $20<1     ; old shift left
    320     89AB      =   20040    |    t@ =   $10020<1

    322     89AB      =       9    |    t@ = 1+2*3       ; left to right
    323     89AB      =       7    |    t@ = 1+(2*3)


@{B}    * ProfiAss64@{UB}

    328     89AB                   |    .syn xass,pass

    330     89AB                   |    READY.           ; you remember?

    332     89AB      =      10    |    t. =   $20>1     ; old shift right
    333     89AB      =    8010    |    t. =   $10020>1
    334     89AB      =      40    |    t. =   $20<1     ; old shift left
    335     89AB      =   20040    |    t. =   $10020<1

    337     89AB      =       7    |    t. = 1+2*3       ; cares of preced.
    338     89AB      =       7    |    t. = 1+(2*3)

    340     89AB                   |    READY.           ; redefinable!  ;-)


@{B}    * Motorola freeware@{UB}

    345     89AB                   |    .syn motf,motf

    347     89AB      =      10    |    t@ =   $20>1     ; old shift right
    348     89AB      =    8010    |    t@ =   $10020>1
    349     89AB      =      40    |    t@ =   $20<1     ; old shift left
    350     89AB      =   20040    |    t@ =   $10020<1

    352     89AB      =       9    |    t@ = 1+2*3       ; left to right
    353     89AB      =       7    |    t@ = 1+(2*3)


@{B}    * AS09@{UB}

    358     89AB                   |    .syn motf,as09

    360     89AB      =      10    |    t@ =   $20>>1    ; C style shift right
    361     89AB      =    8010    |    t@ =   $10020>>1
    362     89AB      =      40    |    t@ =   $20<<1    ; C style shift left
    363     89AB      =   20040    |    t@ =   $10020<<1

    365     89AB      =       7    |    t@ = 1+2*3       ; cares of preced.
    366     89AB      =       7    |    t@ = 1+(2*3)


@{B}    * HitAsm@{UB}

    371     89AB                   |    .syn motf,hit

    373     89AB      =      10    |    t@ =   $20>>1    ; C style shift right
    374     89AB      =    8010    |    t@ =   $10020>>1
    375     89AB      =      40    |    t@ =   $20<<1    ; C style shift left
    376     89AB      =   20040    |    t@ =   $10020<<1

    378     89AB      =       9    |    t@ = 1+2*3       ; left to right
    379     89AB      =       7    |    t@ = 1+(2*3)


@{B}    * MpAsm@{UB}

    384     89AB                   |    .syn mpic,mpasm

    386     89AB      =      10    |    t@ =   $20>>1    ; C style shift right
    387     89AB      =    8010    |    t@ =   $10020>>1
    388     89AB      =      40    |    t@ =   $20<<1    ; C style shift left
    389     89AB      =   20040    |    t@ =   $10020<<1

    391     89AB      =       7    |    t@ = 1+2*3       ; cares of preced.
    392     89AB      =       7    |    t@ = 1+(2*3)


@{B}    * PicAsm@{UB}

    397     89AB                   |    .syn mpic,picas

    399     89AB      =      10    |    t@ =   $20>>1    ; C style shift right
    400     89AB      =    8010    |    t@ =   $10020>>1
    401     89AB      =      40    |    t@ =   $20<<1    ; C style shift left
    402     89AB      =   20040    |    t@ =   $10020<<1

    404     89AB      =       7    |    t@ = 1+2*3       ; cares of preced.
    405     89AB      =       7    |    t@ = 1+(2*3)


@{B}    * CAZ@{UB}

    410     89AB                   |    .syn caz,caz

    412     89AB      =      10    |    t@ =   $20>>1    ; C style shift right
    413     89AB      =    8010    |    t@ =   $10020>>1
    414     89AB      =      40    |    t@ =   $20<<1    ; C style shift left
    415     89AB      =   20040    |    t@ =   $10020<<1

    417     89AB      =       7    |    t@ = 1+2*3       ; cares of preced.
    418     89AB      =       7    |    t@ = 1+(2*3)


@ENDNODE

@NODE USED_FILES "Include and Object files of HSRC:demo/math.hsrc"
Includes overview:

      object   level          size      include filename
    ------------------------------------------------------------
        0        0            8842    HSRC:demo/math.hsrc/main
    ------------------------------------------------------------
                              8842


Objects overview:

        from    to            size    segment / object filename
    ------------------------------------------------------------


@ENDNODE
@NODE USED_MACROS "Macros used by HSRC:demo/math.hsrc"
Macros overview:

    macroname                        size   parameters  calls
    ------------------------------------------------------------
    compare                           149       2         3
    ------------------------------------------------------------
                                      149



@ENDNODE
@NODE HYPASS_STATUS "Status information of HSRC:demo/math.hsrc"
HypAss status information:

    Source:   HSRC:demo/math.hsrc/main                          
      Source:        8842    Syntax:     CAZ    Includes:     1
      Lines:          446    Math:       HYP    Labels:       1 of 2000
      Passes:           2    Cpu:       6502    Symbols:      8 of 2000
      Memory:      366424    Object:     ---    Macros:       1
      Time:       00:02.0    Dummies:      0    FwrdRefs:     0
    No errors.


@ENDNODE
