看板 CompilerDev 關於我們 聯絡資訊
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