aboutsummaryrefslogtreecommitdiff
path: root/amforth-6.5/avr8/lib/2evalue.frt
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2017-08-19 12:15:28 +0200
committerDimitri Sokolyuk <demon@dim13.org>2017-08-19 12:15:28 +0200
commit67d25d837ac55f28a366c0a3b262e439a6e75fc3 (patch)
treedf7715c7724c5935ab87c807f3b8b4ef529315e3 /amforth-6.5/avr8/lib/2evalue.frt
parente0d6784e89dba33226c0edb815bb974486fa7c48 (diff)
Add AmForth
Diffstat (limited to 'amforth-6.5/avr8/lib/2evalue.frt')
-rw-r--r--amforth-6.5/avr8/lib/2evalue.frt30
1 files changed, 30 insertions, 0 deletions
diff --git a/amforth-6.5/avr8/lib/2evalue.frt b/amforth-6.5/avr8/lib/2evalue.frt
new file mode 100644
index 0000000..6a1d3aa
--- /dev/null
+++ b/amforth-6.5/avr8/lib/2evalue.frt
@@ -0,0 +1,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
+;
+