|
「forth chip 40C18 出現了!」 let's try our best to see what's that. ... 40 顆 forth cpu 的 SEA-Forth chip 出來了,個人最近正在研究中,日昨寫出了它的assembler/disassembler 超簡單的, 任何人只要花一天的時間不到即可完成, 但要先嘹解其硬體構造才能 ....
Refer to the discussion thread for following updates. 2008/11/20 11:55 "可以用模擬器(simulator)跑喔! " <===== interesting ! 1. I followed holi's hyperlink and downloaded the 40c18sim1.exe that I guess is the simulator. 2. It looks like a Win32Forth executable. I run it . . . but two error box appear
3. 我發現它還是有 run 起來,but something wrong 13:21 目前先到這裡,待 simulator works 以後再繼續探討 . . . 11:38 Yahoo! Groups armForth : files >
holi has a lot of uploads >
40C18SIM2.EXE
type H to start the simulator. Download 40C18SIM2.EXE run it , I got Fig-1, Fig-2 and then Fig-3 as well. Type H, I got h words' 0 u 0 u' 80 uuuu' 0 g 12 34 sbpr 0 gg show.<ds>.<rs>.instruction...? ml holi ok........ 經網友 chang luke 點撥,原來這些都是可用的命令。 I try to type in ==> words' ( 0 1 2318F ) 16* ( 0 2 220E7 ) 2*: ( 0 3 100E7 ) -1 ( 0 5 6003 ) 1- ( 0 6 39407 ) +: ( 0 7 6005 ) negate ( 0 8 260E7 ) not: ( 0 9 6007 ) - ... snip .... ( 0 A5 6080 ) get+xcute.cmd ( 0 A6 601E ) get+xcute.cxd ( 0 AB 60A5 ) main ( 0 2 ) main -; \ AB ( 1 11 ) T: 16* 2* ( 11 ) 2* ( 11 ) 2* ( 2 11 ) T: 2*: 2* ( 0 ) ; ( 3 8 ) T: -1 3FFFF # ( 0 ) ; ( 5 3 ) T: 1- -1 \ 3 ( 6 1C ) T: +: . ( 14 ) + ( 0 ) ; ( 7 3 ) T: negate 1- \ 5 ... snip .... ooop! 我猜是列出了 s40c18 的 words 了。好玩好玩。 再試試 ==> 0 u ( 0 2 ) main -; \ AB ( 1 11 ) T: 16* 2* ( 11 ) 2* ( 11 ) 2* ( 2 11 ) T: 2*: 2* ( 0 ) ; ( 3 8 ) T: -1 3FFFF # ( 0 ) ; ( 5 3 ) T: 1- -1 \ 3 這個結果與 words' 部分重複了,應該是 DOS debug 的 u command, disassembly 的作用。 0 u' <=== verbose 版的 u , 所以 something' 就是 something 的一個變化, 與數學界的習慣相同。 ( 0=40 40AB 2 0 15 C=3 ) main -; \ AB ( 1=41 2318F 11 11 11 1C=7 ) T: 16* 2* 2* 2* . ( 2=42 220E7 11 0 1C 1C=7 ) T: 2*: 2* ; . . ( 3=43 100E7 8 0 1C 1C=7 ) T: -1 3FFFF # ; . . ( 4=44 3FFFF ----- # ----- ) ( 5=45 6003 3 0 0 C=3 ) T: 1- -1 \ 3 ( 6=46 39407 1C 14 0 1C=7 ) T: +: . + ; . ( 7=47 6005 3 0 0 14=5 ) T: negate 1- \ 5 ( 8=48 260E7 13 0 1C 1C=7 ) T: not: begin not ; . . ( 9=49 6007 3 0 0 1C=7 ) T: - negate \ 7 ( A=4A 280E7 14 0 1C 1C=7 ) + ; . . ( B=4B 10309 8 3 1 4=1 ) T: '0~f'->0~f 30 # - \ 9 ( C=4C 30 ----- # ----- ) 上列資料的線索, 寄件者: holi <holin...@yahoo.com.tw> 日期: Wed, 19 Nov 2008 07:03:34 -0800 (PST) 當地時間: 2008年11月19日(星期三) 下午11時03分 主旨: Re: forth chip 40C18 出現了! 提示兩句指引: 1. 這是真實的 forth cpu, 其指令 dup drop and over xor not + 2/ 2* nop ret call jmp >r r> next 都與一般 forth 語法指令的用法定義相同. 但if -if 指令執行後 stack 不會被 drop 掉. ret 是用 ; (semicolon) 取代. 容易誤導??? 2. T: T 就是 Tag(標籤), T: 是對 Target 下標籤之意. 它也是像組語裡頭的 label.所以它是 完完全全的forth組語寫法. 其原先是在 venture forth 下發展的, 我則在win32forth42671 下發展. 3. 我覺得有些觀念要當面討論才容易講清楚 .不是三言兩語可以說清楚的. 0 g <==== Trace from 0 0.0 12 34 0 0 0 0 0 0 12 34 main -; A6 0 0 0 0 0 0 AC A7 78 AB.0 12 34 0 0 0 0 0 0 12 34 get+xcute.cmd6 0 0 0 0 0 0 AC A7 79 A5.0 12 34 0 0 0 0 0 0 12 34 cr 0 0 0 0 0 0 AC A7 AC 80 80.0 12 34 0 0 0 0 0 0 12 34 D # 0 0 0 0 0 AC A7 AC A6 81 80.1 34 0 0 0 0 0 0 12 34 D emit 0 0 0 0 0 AC A7 AC A6 82 1D.0 34 0 0 0 0 0 0 12 34 D drop 0 0 0 0 AC A7 AC A6 82 83 1D.1 12 34 0 0 0 0 0 0 12 34 ; 0 0 0 0 AC A7 AC A6 82 84 82.0 12 34 0 0 0 0 0 0 12 34 A # A6 0 0 0 0 AC A7 AC A6 85 82.1 34 0 0 0 0 0 0 12 34 A emit -; A6 0 0 0 0 AC A7 AC A6 86 1D.0 34 0 0 0 0 0 0 12 34 A drop A6 0 0 0 0 AC A7 AC A6 87 1D.1 12 34 0 0 0 0 0 0 12 34 ; A6 0 0 0 0 AC A7 AC A6 88 A6.0 12 34 0 0 0 0 0 0 12 34 key AC A6 0 0 0 0 AC A7 AC 89 1E.0 12 34 0 0 0 0 0 0 12 34 1B # A6 0 0 0 0 AC A7 AC A7 90 1E.1 34 0 0 0 0 0 0 12 34 1B ; A6 0 0 0 0 AC A7 AC A7 91 A7.0 34 0 0 0 0 0 0 12 34 1B F # AC A6 0 0 0 0 AC A7 AC 92 A7.1 0 0 0 0 0 0 12 34 1B F and AC A6 0 0 0 0 AC A7 AC 93 A7.2 34 0 0 0 0 0 0 12 34 B 84 # AC A6 0 0 0 0 AC A7 AC 94 A7.3 0 0 0 0 0 0 12 34 B 84 AC A6 0 0 0 0 AC A7 AC 95 AA.0 0 0 0 0 0 0 12 34 B 84 + AC A6 0 0 0 0 AC A7 AC 96 AA.1 34 0 0 0 0 0 0 12 34 8F push AC A6 0 0 0 0 AC A7 AC 97 AA.2 12 34 0 0 0 0 0 0 12 34 ; A6 0 0 0 0 AC A7 AC 8F 98 8F.0 12 34 0 0 0 0 0 0 12 34 !a+ AC A6 0 0 0 0 AC A7 AC 99 8F.1 0 12 34 0 0 0 0 0 0 12 ; AC A6 0 0 0 0 AC A7 AC 100 AC.0 0 12 34 0 0 0 0 0 0 12 main -; A7 AC A6 0 0 0 0 AC A7 101 AB.0 0 12 34 0 0 0 0 0 0 12 oket+xcute.cmd7 AC A6 0 0 0 0 AC A7 102 ^ |<------ Data stack ------------>| |<------- Return stack ---------->| | '------ IP 12 34 sbpr 0 gg show.<ds>.<rs>.instruction...? <=== These commands are unknown to me so far. -hcchen5600 2008/11/22 17:10 大致如此。 16:07 照前輩網友垂示,上網把遊戲道具抓下來, 這裡面什麼都有 ===> VentureForth-1.3.5-s40dl.zip , ( D:\Program Files\IntellaSys\VentureForth\docs\ license.rtf , license.txt , readme.rtf , S24_DataSheet.pdf , S40C18_7G_SpecUpdate.pdf , S40C18_DataSheet.pdf , VF_ProgrammersGuide.pdf ) 還包括一個 VentureForth v1.3.5 。 16:32 把 VentureForth run 起來 see 一下 cells , 就發現這家公司的慣例原來如此: see cells 403E1F EBX 2 # SHL C1E302 <==== code address , Assembly mnemonics , OP Codes -hcchen5600 2008/11/22 16:25 403E22 RET C3 ok 這個方式很好,應該廣為採用。用 F-PC study 時,經常 dump 不停,還來來回回 sys debug,有這個好一點。最近不景氣比較有空閒,玩 forth 沒幾天,搞到一堆 forth !! 我自己做的 F Language, KsanaVM, F-PC, eforth , weforth, eforth32, ficl, henceForth, 這會兒又來了一個 VentureForth。 17:15 看資料吧! 先從 "D:\Program Files\IntellaSys\VentureForth\docs\readme.rtf" 開始 , blabla }
Title
{} Title { paragraph }
Title
{blabla
|
| ||||||||||||||||||||||||||||
| 建立群組 - Google 網上論壇 - Google 首頁 - 服務條款 - 隱私權政策 |
| ©2009 Google |