FORTH 的發明人曾經提出 ColorFORTH 的觀念。
有一個外國人 Sean Pringle 據此做出了 Enth OS 系統。
很久之後他的主要網站倒了,重建站也有放這個系統。
一段時間之後他的重建站也倒了,但我有做部分備份。
目前我備份的完整原始系統放這裡,可用 qemu 玩 32-bit FORTH OS。
https://github.com/HexColors60/enth04
其中的 Assembler 編碼不全,但是算是很乾淨的傳統 Forth Assembler
https://github.com/HexColors60/enth04/blob/master/Sasm.f
很接近 table-driven 的程式碼寫法。
例如: adc/add 相關的內容,程式碼行數不多,全部三頁內可以完成。
\ 列出部分;
: log-nr-nr ( a - ) 0c, c0 op-pop 8* or op-pop or b, ;
: log-nr-mem ( a - ) 1c, op-pop op-pop 8* 5 or b, d, ;
via-dp log-nr-? log-nr-nr log-nr-mem log-nr-lit log-nr-ba err
via-dp log-mem-? log-mem-nr err log-mem-lit err err
via-dp log-ba-? log-ba-nr err log-ba-lit err err
create log-options xt: log-nr-? xt: log-mem-? xt: err
xt: log-ba-?
: log-opco ( n n2 n3 n4 - ) create c, c, c, c,
does> log-options do-swap do-pop via bt-drop bt-drop ;
02 15 13 11 log-opco (adc)
00 05 03 01 log-opco (add)
04 25 23 21 log-opco (and)
07 3d 3b 39 log-opco (cmp)
01 0d 0b 09 log-opco (or)
' (adc) 2 opcode adc
' (add) 2 opcode add
' (and) 2 opcode and
' (cmp) 2 opcode cmp
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.249.79.60 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/CompilerDev/M.1596289629.A.25C.html