12345678910111213141516171819202122232425 |
- start-microcode dna
- : 1+ d# 1 + ;
- : 2* d# 2 * ;
- : dna@ ( -- u ) h# 8018 c@ ;
- : dna! ( u -- ) h# 8008 c! ;
- : dnaclk ( u -- ) dup dna! 1+ dna! ;
- : dnaread ( ) d# 4 dnaclk ;
- : dnashift ( ) d# 2 dnaclk ;
- : dnabit ( u -- u ) 2* dna@ + dnashift ;
- : dnabyte ( -- u ) \ read byte from DNA
- d# 0
- dnabit dnabit dnabit dnabit
- dnabit dnabit dnabit dnabit ;
- : main \ write 7 byte DNA to COMM
- dnaread dnashift
- COMM+7 COMM+0
- begin
- dnabyte over c!
- 1+ 2dup=
- until
- begin again ;
- end-microcode
|