B
This commit is contained in:
parent
e5e8880e41
commit
518da4a923
1019 changed files with 15877 additions and 0 deletions
21
Task/Bitwise-IO/Forth/bitwise-io.fth
Normal file
21
Task/Bitwise-IO/Forth/bitwise-io.fth
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
\ writing
|
||||
|
||||
: init-write ( -- b m ) 0 128 ;
|
||||
|
||||
: flush-bits ( b m -- 0 128 ) drop emit init-write ;
|
||||
|
||||
: ?flush-bits ( b m -- b' m' ) dup 128 < if flush-bits then ;
|
||||
|
||||
: write-bit ( b m f -- b' m' )
|
||||
if tuck or swap then
|
||||
2/ dup 0= if flush-bits then ;
|
||||
|
||||
\ reading
|
||||
|
||||
: init-read ( -- b m ) key 128 ;
|
||||
|
||||
: eof? ( b m -- b m f ) dup if false else key? 0= then ;
|
||||
|
||||
: read-bit ( b m -- b' m' f )
|
||||
dup 0= if 2drop init-read then
|
||||
2dup and swap 2/ swap ;
|
||||
Loading…
Add table
Add a link
Reference in a new issue