home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 5 / DATAFILE_PDCD5.iso / utilities / f / forthmac / !Forthmacs / lib / arm / avarage next >
Encoding:
Text File  |  1997-05-04  |  632 b   |  31 lines

  1. \ creates avaraging
  2. \ hs 02.05.97
  3.  
  4. \ avarage structure
  5. \ 0 mask of elements
  6. \ 1 log2 of elements
  7. \ 2 element to be replaced
  8. \ 3 sum of elements
  9. \ array of data
  10. needs log2 lib.arm.log2
  11. : avaraging    \ ( elements -- )
  12.     create 20 cells allot ;
  13. : set-avaraging        \ ( avaraging n -- )
  14.     4 min 0 max locals| n avar |
  15.     avar 20 cells erase
  16.     1 n lshift 1- avar !  n avar cell+ ! ;
  17. code avarage    \ ( n1 avarager -- n2 )
  18.     r4    sp        pop    \ r4 new val
  19.     r0 r1 r2 r3 4    top ia!    ldm
  20.     r5    top r2 2 #asl    add
  21.     r6    r5 )        ldr
  22.     r4    r5 )        str
  23.     r3    r3    r6    sub
  24.     r3    r3    r4    add
  25.     r3    top -1 cells d)    str
  26.     r2    1        incr
  27.     r2    r2    r0    and
  28.     r2    top -2 cells d)    str
  29.     top    r3    r1 asr    mov c;
  30.  
  31.