2012年5月25日 星期五

JForthBlocks--向量表(VectorTable)

Jimmy's papa今天的學習內容,是如何製作向量表,這在寫C程式是很常見的技巧,大概就是將函式指標存在陣列供大同卻有小異的狀況下使用, 相關積木可參考 JForthBlocks--execute指令, JForthBlocks--variable & create積木的用法

Jimmy's papa簡單的拉拉積木,做了3個高階積木Binary, Decimal, Hexadecimal來將數字以不同進制印出,接著建立名為VectorTable的記憶體區塊, 並將上述3個高階積木的序號id存入
寄件者 scratchlab02
結果將數字16顯示為10000(二進制) 16(十進制) 10(十六進制)
寄件者 scratchlab02
這是產生出來的Forth原始碼,並附上註解
: Decimal 10 base! . ; \ 十進制
: Binary 2 base! . ; \ 二進制
: Hexadecimal 16 base! . ; \ 十六進制
\ 建立向量表儲存三個高階詞序號id
create VectorTable ' Binary , ' Decimal , ' Hexadecimal ,
16 dup dup \ 16複製3份
VectorTable @ execute \ 執行向量表第一個指令也就是Binary
VectorTable 1 + @ execute \ 執行向量表第二個指令也就是Decimal
VectorTable 2 + @ execute \ 執行向量表第三個指令也就是Hexadecimal

沒有留言:

張貼留言