Add word FILL

This commit is contained in:
Virgil Dupras 2020-04-27 21:22:06 -04:00
parent f605e2d85c
commit 2b2ccad96c
4 changed files with 11 additions and 10 deletions

View File

@ -10,7 +10,7 @@ C! c a -- Store byte c in address a
CURRENT -- a Set a to wordref of last added entry. CURRENT -- a Set a to wordref of last added entry.
CURRENT* -- a A pointer to active CURRENT*. Useful CURRENT* -- a A pointer to active CURRENT*. Useful
when we have multiple active dicts. when we have multiple active dicts.
FILL a n b -- Fill n bytes at addr a with val b.
HERE -- a Push HERE's address HERE -- a Push HERE's address
H@ -- a HERE @ H@ -- a HERE @
MOVE a1 a2 u -- Copy u bytes from a1 to a2, starting (cont.)
with a1, going up.

2
blk/051 Normal file
View File

@ -0,0 +1,2 @@
MOVE a1 a2 u -- Copy u bytes from a1 to a2, starting
with a1, going up.

15
blk/434
View File

@ -1,5 +1,4 @@
( a1 a2 u -- ) : MOVE ( a1 a2 u -- )
: MOVE
( u ) 0 DO ( u ) 0 DO
SWAP DUP I + C@ ( a2 a1 x ) SWAP DUP I + C@ ( a2 a1 x )
ROT SWAP OVER I + ( a1 a2 x a2 ) ROT SWAP OVER I + ( a1 a2 x a2 )
@ -7,10 +6,10 @@
LOOP LOOP
2DROP 2DROP
; ;
: FILL ( a n b -- )
: DELW 1- 0 SWAP C! ; SWAP 2 PICK + ( a b a+n ) ROT ( b a+n a ) DO ( b )
DUP I C!
: PREV LOOP
3 - DUP @ ( a o )
- ( a-o )
; ;
: DELW 1- 0 SWAP C! ;
: PREV 3 - DUP @ - ;

Binary file not shown.