介紹一個穿梭於高階應用與機碼的神奇工具『 328eFORTH 』

328eFORTH 是何方神聖?

說到 Arduino 相信所有玩家們一定會想到高階語法的簡單與便利性,但是很可惜的是效率與便利時常都成反比,舉例來說點亮一個位於Pin 13 的 LED 這個範例其實就做了很多的除法或乘法,目的就是換算出它的真實位置 ( Port B 的第 5 個 bit ),說穿了很費事但很方便。今天我要介紹各位玩家一個非常有趣的語言『 328eFORTH 』,一個用於航太及天文的語言,如今卻於這個小小的8位元CPU展現了他的身影,透過他簡單的語法你可以發現編寫一個程式可以很簡單卻很有效率,最神奇的就是我們不用裝一個龐大無比的IDE只要一個 附小型IDE功能的『 KTTY 終端機 』( 推薦使用,也可以用一般的終端機軟體 )就可以開始寫程式。

上圖為 KTTY 終端機。

以下我們來一些簡單的小範例『 大家熟悉的點LED燈 』來做比較:

首先出場的是『 ARDUINO IDE 』

int ledPin = 13; // LED connected to digital pin 13

void setup()
{
pinMode(ledPin, OUTPUT); // sets the digital pin as output
}

void loop()
{
digitalWrite(ledPin, HIGH); // sets the LED on

}

接下來我們來看看『 328eFORTH 』

5 PB OUTPUT \ sets the digital pin as output
5 PB HIGH \ sets the LED on
\ Forth 語言最重要的就是用空格分開每一個指令

下圖是實際應用。

由上可知 328eFORTH 的精簡,與便利當然如果程式很大的話,您就會發現精簡的程式才會有好的執行效率及穩定性,不僅如此語言Forth 語言最重要的就是它是一個雙生態系統,『 直譯模式 』與『 編譯模式』兩種生態,詳細說明如下

直譯模式:

我們用來檢查動作是否正確,利用人與電腦的溝通,我們不用一直燒入就可以直接測試動作與功能,確定對了在用 編譯模式 定義成新的指令,而我們可以把每一個指令都想像成具有功能的『 積木 』,而每一個積木可以組合成更大的積木。

編譯模式:

這是一個教導電腦的模式,我們把一連串的動作組合在一起,並給予它一個名稱,意思就是說如果下次有這一連串的動作時,我只要告訴電腦剛剛賦予它的名稱就行了,而這個名稱我們可以想成『 積木 』的名字。

廢話不多說了,我們開始看看如何安裝328eFORTH 及 取得他的編輯環境, 首先拜訪『 臺灣符式推廣協會的網站 』點選 左側

4.1入門學習 進入頁面後在下方點 『 4.1.7 第一次使用328EFORTH快速安裝手冊 』網址如下 :

https://sites.google.com/site/figtaiwanfigtaiwan/tutor/tutor_startup/4-1-7-di-yi-ci-shi-yong328eforth-kuai-su-an-zhuang-shou-ce

當然如果對於安裝有問題或無法安裝的玩家們,可以 email 給協會,裡面有很多熱心的高手們會協助您,當然我也是初學者也時常向他們請教很多各方面的問題,目前 328eFORTH 也有了它的官方網站 http://www.328eforth.org 裡面也提供了很多的安裝資訊與教學支援,有興趣的玩家也可以一起來學習。

協會台北email: fig.taiwan@gmail.com

ps . 這個協會每個月會有一次於週六的聚會,於各大學校或公司舉辦,詳情可參閱網站資訊。

Utter nonsense.
There is no multiplication or division behind the given C code, just simple lookups.