aboutsummaryrefslogtreecommitdiff
path: root/amforth-6.5/avr8/lib/forth2012/core-ext/avr-defers.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/forth2012/core-ext/avr-defers.frt
parente0d6784e89dba33226c0edb815bb974486fa7c48 (diff)
Add AmForth
Diffstat (limited to 'amforth-6.5/avr8/lib/forth2012/core-ext/avr-defers.frt')
-rw-r--r--amforth-6.5/avr8/lib/forth2012/core-ext/avr-defers.frt20
1 files changed, 20 insertions, 0 deletions
diff --git a/amforth-6.5/avr8/lib/forth2012/core-ext/avr-defers.frt b/amforth-6.5/avr8/lib/forth2012/core-ext/avr-defers.frt
new file mode 100644
index 0000000..0421ab3
--- /dev/null
+++ b/amforth-6.5/avr8/lib/forth2012/core-ext/avr-defers.frt
@@ -0,0 +1,20 @@
+\ the following code works in the AVR only
+
+\ use the eeprom to keep the XT. Unlike the RAM/USER
+\ based locations, the EEPROM vector is available without
+\ initialization.
+: Edefer ( "name" -- )
+ (defer)
+ ehere dup ,
+ ['] Edefer@ ,
+ ['] Edefer! ,
+ cell+ to ehere
+;
+
+\ the flash is writable, not that often, but it is
+: Idefer ( "name" -- )
+ (defer)
+ ['] noop , \ a dummy action as place holder
+ [: @i execute ;] , \ XT is directly in the dictionary.
+ [: !i ;] ,
+;