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