aboutsummaryrefslogtreecommitdiff
path: root/amforth-6.5/avr8/lib/2evalue.frt
blob: 6a1d3aa669a2ea4c894dd02ebbfca598df329c57 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
\ use 2 cells of EEPROM
\ Author: Erich Wälde
\ Date: oct 2015

\ #require quotations.frt
\ #require eallot.frt

: 2@e ( eaddr -- n2 n1 )
  dup    \ -- addr addr
  cell+  \ -- addr addr+2
  @e     \ -- addr n2
  swap   \ -- n2 addr
  @e     \ -- n2 n1
;
: 2!e ( n1 n2 eaddr -- )
  rot    \ -- n2 eaddr n1
  over   \ -- n2 eaddr n1 eaddr
  cell+  \ -- n2 eaddr n1 eaddr+2
  !e     \ -- n2 eaddr
  !e     \ --
;

: 2Evalue ( d -- )
    (value)
    ehere ,
    [: @i 2@e ;] ,
    [: @i 2!e ;] ,
    ehere 2!e  2 cells eallot
;