aboutsummaryrefslogtreecommitdiff
path: root/amforth-6.5/avr8/words/fill.asm
diff options
context:
space:
mode:
Diffstat (limited to 'amforth-6.5/avr8/words/fill.asm')
-rw-r--r--amforth-6.5/avr8/words/fill.asm26
1 files changed, 26 insertions, 0 deletions
diff --git a/amforth-6.5/avr8/words/fill.asm b/amforth-6.5/avr8/words/fill.asm
new file mode 100644
index 0000000..e8bcacc
--- /dev/null
+++ b/amforth-6.5/avr8/words/fill.asm
@@ -0,0 +1,26 @@
+; ( a-addr u c -- )
+; Memory
+; fill u bytes memory beginning at a-addr with character c
+VE_FILL:
+ .dw $ff04
+ .db "fill"
+ .dw VE_HEAD
+ .set VE_HEAD = VE_FILL
+XT_FILL:
+ .dw DO_COLON
+PFA_FILL:
+ .dw XT_ROT
+ .dw XT_ROT
+ .dw XT_QDUP,XT_DOCONDBRANCH
+ DEST(PFA_FILL2)
+ .dw XT_BOUNDS
+ .dw XT_DODO
+PFA_FILL1:
+ .dw XT_DUP
+ .dw XT_I
+ .dw XT_CSTORE ; ( -- c c-addr)
+ .dw XT_DOLOOP
+ .dw PFA_FILL1
+PFA_FILL2:
+ .dw XT_DROP
+ .dw XT_EXIT