BB

編程語言

BB是BBK BASIC的簡稱,是可以開發BBK電子詞典程序的一種語言。這個語言採用Quick Basic的語法,方便朋友們開發程序。目前的編譯器和連接器版本是1.5,大部分的功能已經支持,基本可以滿足用戶朋友開發程序的需要。

由來


一、BB的由來
QB相比較,BB大部分的語法和函數是一樣的,當然也有不同的地方。詳細的區別和練習。我們將在後面的文章中詳細闡述。有QB編程經驗的朋友使用BB將非常容易上手。BASIC是自學編程的最好語言,基本每個自學編程的高手,都有過學習BASIC的經歷。因為BASIC本身具有高級語言的基本特性,比如:結構化程序設計,但有很簡單。可以讓初學編程的朋友把主要的精力放在對編程思想的領悟上,而不用過多的去關注所用語言本身的細節。
由於我們的詞典用戶,多數都是未接觸過編程的學生朋友,為了很好的鍛煉大家的邏輯思維能力,可以讓大家能輕鬆體會編程的樂趣,我們公司組織專人開發了BBK BASIC這種可以開發在詞典上運行的程序的編程語言。這個語言的後繼版本將會推出可以在詞典機上編程的版本,目前還必須在電腦上編程,生成的最終.BIN文件可以在詞典機上運行。
目前已經支持的機型是9188/9288/9288T。其他機型的虛擬機將在後期提供。

構成


二、BB的構成
目前BB還沒集成的IDE開發環境
開發環境是由編譯器、連接器和基本庫構成的。詞典機的運行環境就很簡單了,只需要一個BB虛擬機。
程序文件的編寫可以使用任意的文本編輯器,例如:windows自帶的記事本等。
編譯器:BBasic.exe
你所寫的BB程序需要經過這個可執行程序編譯成虛擬機的彙編代碼,彙編代碼是以和你程序文件同名的.obj文件存放的。你所寫的BB源程序可以以任何擴展名存放,標準的是.bas
編譯器的用法:BBasic.exe + 源程序文件
例如:你的源程序叫yzdel.bas,那麼編譯它的命令行為
BBasic.exe yzdel.bas
| |
| ————————源程序文件
——————————————編譯器
編譯後生成的目標文件是yzdel.obj
編譯器有幾個編譯選項,下面分別介紹一下:
-opt:優化編譯選項。將會優化你所寫的程序,使程序的效率更高,容量更小。Ver1.4以後的編譯器都支持本選項。
-hr:保留註釋代碼選項。主要用來對比優化是否正確的。普通用戶用不到這個選項,可以看懂BB彙編的用戶可以
用這個選項查查看是否由於優化造成了你程序錯誤。
-nc:不連接公共段選項。這個選項任何人都禁止使用。主要用途是我用來調試單行代碼生成的。
連接器:Blink.exe
編譯后的.obj文件需要經過連接器連接成.bin文件才能最終被虛擬機解釋執行。
連接器的用法:Blink.exe + objfile + binfile
例如:連接上面被編譯的文件yzdel.obj成為可執行文件的命令行為
Blink.exe yzdel.obj 勇者斗惡龍.bin
| | |
| | ————被連接成的目標文件
| ———————————被連接的OBJ文件,由編譯器生成
————————————————連接器
連接后的目標文件為.bin文件才可以被虛擬機識別
連接器的連接選項如下:
-r:反位元組選項。這個選項的提供,是由於9188機型本身的一個問題,所以這個選項也只用在編譯9188程序時。
基本庫:StdLib.fls和StdLib.lib
StdLib.lib是基本庫的索引文件,StdLib.lib是基本庫的代碼文件。
虛擬機:BB虛擬機.exe
用在詞典機上的虛擬機,可執行由連接器生成的.bin文件。

運行


三、BB的模擬器運行
為了方便程序在電腦上調試,我們提供了一個模擬器環境,模擬器的界面如下:
為了模擬屏幕大小不同的機型,模擬器窗口的大小是可以通過函數SETLCD(WID,HGT)來設置的。初始的大小是320×240的,所以若你開發的程序是9188/9288使用的話,就不需要重新設置模擬器的大小了。若你開發的機型是9288T的,就需要調用SETLCD(240,160),將模擬器窗口設置為9288T的屏幕大小。
模擬器目前還是固定執行sim\BBasic目錄下的test.bin,因此要使你開發的程序可以在模擬上被執行,就必須將你生成的.bin文件copy到sim\BBasic下,並將文件名改成test.bin。
模擬器目前查找資源文件也是固定在sim\debug目錄下進行的,所以若你的程序使用了資源文件,請將資源文件copy到該目錄下。
完成了以上所有的動作后,即可通過調用sim\debug目錄下的GamDev.exe來啟動模擬器。
四、BB的詞典機運行
BB的詞典機環境,主要由對應機型的BB虛擬機.exe和對應機型的BBLoGo.bbs兩個文件組成。
BB虛擬機.exe是BB程序可以在詞典機上運行的關鍵程序。
BBLoGo.bbs是BB開頭的那個圖片,如下圖所示:
想讓你的BB程序在詞典機上運行?只要將你的.bin文件copy到詞典上的“系統\程序\目錄”下,和BB虛擬機.exe文件放在同一個目錄下,就OK了。

編寫


五、用BB寫程序可採用的方式:
使用BB寫程序,可以有兩種方式。
第一種是使用命令行來進行,當然這種方式一般都喜歡晉陞成用批處理文件(.bat文件)方式來完成。使用這種方式的門檻比較高,它需要比較深入的DOS知識,才能玩的轉。而且,採用這種方式的人,也不用我浪費唾沫給他講解的,只要有個例子看。他馬上就可以自己配置自己需要的.bat文件了。所以這裡不會詳細講解這種方式,有想用這種方式的朋友,可以參看開發環境下“推箱子”目錄下的“9288.bat”,文件中有詳細的說明。
第二種是使用我們提供的可視化編譯工具來完成編譯/連接/文件拷貝/啟動模擬器等一系列動作。你所需要左的工作只是編寫好你的源程序文件,然後選中它,但個按鈕就可以了。下面詳細說說這種方法的流程。
STEP1:打開記事本,寫下你的第一個程序。如圖:
圖1 記事本程序在開始如上圖所示的位置。
圖2 在記事本中寫下如上的程序代碼
STEP2:保存你寫的程序(保存的文件名BB不做任何要求,你可以任意取。比如本例中就叫 我來了.bas。路徑也隨便,只要你自己等下能找到就可以^_^)。如圖:
圖3 保存你的程序文件
STEP3:打開 可視化編譯工具(BB).exe(在BB1.7的開發環境中附帶了這個工具,沒有的朋友就快取下最新的BB環境吧),選中你剛才編寫的文件到BAS文件欄中。如圖:
圖4 BB可視化編譯工具界面
圖5 通過紅色箭頭所指的按鈕,將你寫的程序選擇進來。由於你的程序沒使用到rlb文件,所以下面的那個rlb文件不用理它。
STEP4:點編譯並執行按鈕。即可執行你剛才寫的程序了。如圖:
圖6 編譯並執行你的程序。
到這裡,你已經明白如何編寫並在模擬器運行一個BB程序了。若想生成對應機型的程序,你可以在機型下拉框中選中對應的機型,然後點擊編譯按鈕即可。目標欄對應的是你程序最後生成的名字,若你沒填寫,工具會自動幫你起名test.bin。若你的程序中使用到了RLB文件,則把你的RLB文件選到RLB文件對應的框中即可。
是不是很簡單呢?