嵌入式FORTH虛擬計算機的實現(xiàn)
5.NEXT核心算法與函數(shù)
本文引用地址:http://www.ex-cimer.com/article/256992.htm
FORTH虛擬機的核心算法--NEXT,它完成了指令的控制執(zhí)行過程。如借用以上描述,用形式化的方法表示為:
由于FORTH虛擬機是工作在真實計算機上,因此要實現(xiàn)FORTH虛擬機必須用真實計算機的代碼來實現(xiàn)這個核心過程,以X86匯編語言為例,其實現(xiàn)FORTH虛擬機核心過程的代碼為(16位地址空間):
ES:BX,SI MOV
SI,#2 ADD
ES:[BX]JMP
從代碼可以看出,它非常象一個子過程或函數(shù)的調(diào)用。在真實計算機中,函數(shù)是非常常用的一個功能,是若干指令的有序集合。
在FORTH虛擬計算機中高級字就可認為是“函數(shù)”。表3是真實計算機和FORTH虛擬計算機在函數(shù)調(diào)用中的執(zhí)行過程對比。
6.結(jié)論
對于嵌入式應用來說,一個可擴展性好、可移植性好、可裁剪、實現(xiàn)快速,并且便于調(diào)試的嵌入式虛擬機,能給嵌入式應用的開發(fā)帶來極大的方便?;贔ORTH構(gòu)筑的虛擬機,引入字典表完成指令和機器代碼的對應,并用字定義來完成指令的擴展,使系統(tǒng)的結(jié)構(gòu)具有了極大的靈活性和擴展性,僅僅通過對基本字的堆疊、組合就可完成高級字的層層定義,實現(xiàn)極其復雜的系統(tǒng)。在JLP FORTH中存儲分段使得程序指令和數(shù)據(jù)能相對獨立,有效地增強了系統(tǒng)的安全性。這些設計思路使得在其上構(gòu)建的FORTH虛擬機具有了代碼簡單、調(diào)試方便、安全性高、擴展性強等特點,特別適合應用于嵌入式系統(tǒng)中。
評論