版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、南湖計(jì)算機(jī)和南山計(jì)算器1 南湖計(jì)算機(jī)是一臺使用WD FORTH語言的計(jì)算機(jī)一、南湖計(jì)算機(jī)是一個程序開發(fā)和應(yīng)用的平臺南湖計(jì)算機(jī)可以編譯執(zhí)行用WDFORTH語言寫的計(jì)算機(jī)程序。通過編程,你可以用南湖計(jì)算機(jī)開發(fā)科學(xué)計(jì)算等各種應(yīng)用。由于采用FORTH語言,南湖計(jì)算機(jī)不但可以將程序編譯后供執(zhí)行,你也可以從命令窗口發(fā)布命令讓南湖計(jì)算機(jī)執(zhí)行。南湖計(jì)算機(jī)還自帶了一個“南山科學(xué)計(jì)算器”,它是由主機(jī)的FORTH語言支持的,功能強(qiáng)大。它不但可以供你進(jìn)行小計(jì)算(不用編程),而且把計(jì)算過程在命令窗中顯示出來,供你學(xué)習(xí)用。因此,南湖計(jì)算機(jī)是一個象Python、MATLB或者VB、VC這樣的程序開發(fā)環(huán)境和應(yīng)用平臺。二、南湖
2、計(jì)算機(jī)是一臺虛擬計(jì)算機(jī)南湖計(jì)算機(jī)的內(nèi)部已經(jīng)預(yù)置了一個32位的虛擬CPU,它有四個定名的整數(shù)通用寄存器和若干指針寄存器,也有四個定名的實(shí)數(shù)通用寄存器,實(shí)數(shù)是64位的。這個CPU有若干精簡的指令供你使用,基本語法參考X86匯編語言。南湖計(jì)算機(jī)的內(nèi)部已經(jīng)建立了一個虛擬堆棧計(jì)算機(jī)。這個計(jì)算機(jī)采用哈佛結(jié)構(gòu),代碼空間、數(shù)據(jù)空間、寄存器空間和虛擬空間都已經(jīng)分開。作為計(jì)算機(jī)南湖計(jì)算機(jī)已經(jīng)能夠理解FORTH計(jì)算機(jī)語言,因此你可以把南湖計(jì)算機(jī)按你的設(shè)想打造。因此,南湖計(jì)算機(jī)是一臺象8086、8051和STM32這樣結(jié)構(gòu)的虛擬嵌入式計(jì)算機(jī),你可以用來進(jìn)行計(jì)算機(jī)理論與技術(shù)的研究,進(jìn)行計(jì)算機(jī)語言理論與實(shí)現(xiàn)方法的研究。三
3、、南湖計(jì)算機(jī)是一個主機(jī)軟件系統(tǒng)開發(fā)平臺。南湖計(jì)算機(jī)運(yùn)行在PC機(jī)和Windows的主機(jī)環(huán)境下,通過加載不同的開發(fā)平臺模塊,就可以開發(fā)主機(jī)上的各種應(yīng)用程序。比如加載“金水明_X86開發(fā)系統(tǒng).DAT”的開發(fā)模塊,你就可以用X86FORTH匯編語言開發(fā)各種主機(jī)上的應(yīng)用程序。因此,南湖計(jì)算機(jī)是一個象VS一樣的通用軟件開發(fā)平臺,通過加載不同的模塊就可以使用不同的計(jì)算機(jī)高級語言開發(fā)主機(jī)應(yīng)用程序。四、南湖計(jì)算機(jī)是一個目標(biāo)機(jī)軟件系統(tǒng)開發(fā)平臺。雖然南湖計(jì)算機(jī)運(yùn)行在PC機(jī)和Windows的主機(jī)環(huán)境下,通過加載不同的開發(fā)平臺模塊,就可以開發(fā)各種嵌入式計(jì)算機(jī)上的應(yīng)用軟件。比如加載“金水明_X51開發(fā)系統(tǒng).DAT”的開發(fā)
4、模塊,你就可以用X51FORTH匯編語言開發(fā)各種基于8051CPU核的嵌入式計(jì)算機(jī)上的自動控制程序。因此,南湖計(jì)算機(jī)是一個象Keil一樣的通用單片機(jī)軟件開發(fā)平臺,通過加載不同的模塊就可以使用不同的計(jì)算機(jī)高級語言,為不同CPU架構(gòu)的嵌入式系統(tǒng)開發(fā)目標(biāo)機(jī)的應(yīng)用程序。2 南山計(jì)算器人類使用計(jì)算機(jī)的第一個目的是數(shù)值計(jì)算,當(dāng)初使用的手動計(jì)算裝置被稱為“手動計(jì)算機(jī)”,使用機(jī)械之后被稱為“機(jī)械計(jì)算機(jī)”,當(dāng)使用了電子真空數(shù)碼管作為顯示裝置后被稱為“電子計(jì)算機(jī)”,其實(shí)這些都只完成數(shù)值計(jì)算,準(zhǔn)確的名字應(yīng)該是“計(jì)算器”。計(jì)算器的特征是有一些按鍵和顯示一個數(shù)值的顯示器,人類通過按一定的次序按按鍵來實(shí)現(xiàn)數(shù)值的輸入和計(jì)算
5、,最后從顯示器看結(jié)果。計(jì)算器對人類的影響之嚴(yán)重,據(jù)說貨物交易的雙方都通過手持計(jì)算器來進(jìn)行,而年輕人最時髦的是掏出手機(jī)來進(jìn)行計(jì)算。這種影響大到在Windows操作系統(tǒng)中都提供了一個“計(jì)算器”軟件,在所有款的手機(jī)上都有這種計(jì)算器功能。計(jì)算器的最高境界是能夠編程,解決同一類問題的方法不需要重復(fù)地按鍵(Windows計(jì)算器居然也要用鼠標(biāo)去按鍵來輸入數(shù)據(jù),而不用一個文本框用鍵盤輸入,真是不可思議。)來進(jìn)行。為了實(shí)現(xiàn)讓計(jì)算機(jī)進(jìn)行數(shù)值計(jì)算目的,也為了研究建立計(jì)算機(jī)語言的基礎(chǔ),本文的第一部分最終用一個“懂計(jì)算機(jī)語言”的計(jì)算器來作為例子,這個計(jì)算器用一個通俗的名稱“南山計(jì)算器”來稱呼。與Windows計(jì)算器相比
6、,南山計(jì)算器除了可以讀懂FORTH計(jì)算機(jī)語言的文本外,還增加了許多實(shí)用的功能。南山計(jì)算器最重要的用途是進(jìn)行FORTH計(jì)算機(jī)語言的學(xué)習(xí),南山計(jì)算器其實(shí)只是一個界面,每個按鍵進(jìn)行的操作僅是把實(shí)現(xiàn)該功能的操作詞送給南湖計(jì)算機(jī),在南湖計(jì)算機(jī)中進(jìn)行運(yùn)算,南山計(jì)算器作為結(jié)果顯示的也只是南湖計(jì)算機(jī)算術(shù)堆棧頂?shù)娜齻€數(shù)。所有南山計(jì)算器送出的命令都顯示南湖計(jì)算機(jī)命令輸入歷史的文字框中了,通過這些命令,相信FORTH計(jì)算機(jī)語言的初學(xué)者會受益菲淺。更有甚者,如果你覺得南山計(jì)算器的功能不夠,你可以直接從南湖計(jì)算機(jī)的命令輸入框中輸入其他命令來幫你的忙!在“南湖計(jì)算機(jī)”上使用者可以手工輸入程序或者命令,也可以讓計(jì)算機(jī)輸入指
7、定的程序文件,計(jì)算機(jī)執(zhí)行程序的結(jié)果可以顯示在屏幕上,也可以輸出到指定的文件中?!澳虾?jì)算機(jī)”是一個在PC機(jī)上WindowsXP下運(yùn)行的軟件,它可以實(shí)現(xiàn)FORTH計(jì)算機(jī)語言功能。通過使用FORTH計(jì)算機(jī)語言編寫的程序,使用者不但可以實(shí)現(xiàn)許多的應(yīng)用功能,最重要的是可以用它開發(fā)出其他嵌入式計(jì)算機(jī)系統(tǒng)(比如使用8051核心和ARM核心的單片機(jī)系統(tǒng))使用的軟件,甚至開發(fā)出其他嵌入式計(jì)算機(jī)的操作系統(tǒng),使得這些系統(tǒng)也可以使用FORTH計(jì)算機(jī)語言來與人類進(jìn)行交流。因此“南湖計(jì)算機(jī)”有兩個功能,一個是“虛擬計(jì)算機(jī)”,它解釋執(zhí)行FORTH計(jì)算機(jī)語言,使用者可以用它來完成應(yīng)用任務(wù);另一個是“異機(jī)種計(jì)算機(jī)編譯器”,它
8、解釋執(zhí)行FORTH計(jì)算機(jī)語言,生成一個可以在其他計(jì)算機(jī)平臺運(yùn)行的二進(jìn)制機(jī)器碼程序,當(dāng)然也包括生成在在PC機(jī)上WindowsXP下運(yùn)行的二進(jìn)制機(jī)器碼可執(zhí)行程序?!澳虾?jì)算機(jī)”自己能理解和執(zhí)行FORTH計(jì)算機(jī)語言,但更重要的是用“南湖計(jì)算機(jī)”可以開發(fā)出來新的計(jì)算機(jī)軟件或者操作系統(tǒng),運(yùn)行這些新的計(jì)算機(jī)軟件或者操作系統(tǒng)的計(jì)算機(jī)也能夠能理解和執(zhí)行FORTH計(jì)算機(jī)語言來與人類交流,甚至再新平臺上再造一個新的“南湖計(jì)算機(jī)”。FORTH計(jì)算機(jī)語言是人與計(jì)算機(jī)交流的語言,本文以下所說的計(jì)算機(jī)如何如何,可以理解為是“南湖計(jì)算機(jī)”如何如何,可以在“南湖計(jì)算機(jī)”動手研究。在“南湖計(jì)算機(jī)”上使用者可以手工輸入程序或者命
9、令,也可以讓計(jì)算機(jī)輸入指定的程序文件,計(jì)算機(jī)執(zhí)行程序的結(jié)果可以顯示在屏幕上,也可以輸出到指定的文件中。3 安裝與運(yùn)行南湖計(jì)算機(jī)軟件發(fā)布包是一個壓縮文件,文件名為“南湖計(jì)算機(jī)_Setup.rar”,將其解壓后有三個文件:(1)首先建一個自己的工作學(xué)習(xí)目錄,比如:D:學(xué)習(xí)(2)雙擊運(yùn)行“setup.exe”文件,出現(xiàn)以下安裝界面。(3)選擇確定。(4)選擇“更改目錄”,更改到剛才新建的目錄選擇確定(5)單擊計(jì)算機(jī)圖標(biāo)按鈕將軟件安裝到“學(xué)習(xí)”目錄中。選擇繼續(xù),選擇確定。(6)安裝后“學(xué)習(xí)”目錄中新增了三個文件。以后雙擊“南湖計(jì)算機(jī).exe”文件就可以運(yùn)行程序了,并且這是軟件運(yùn)行中缺省的文件目錄就是該
10、目錄了。如果在安裝中出現(xiàn)下列問題,一律選擇“忽略”。選擇“忽略”安裝成功后雙擊“南湖計(jì)算機(jī).exe”運(yùn)行,可以得到主界面圖1南山計(jì)算機(jī)主界面4南山可編程計(jì)算器的界面和基本操作在圖1主界面中,屏幕分為左右兩個部分,左邊是輸出信息部分,計(jì)算機(jī)輸出給使用者看的信息顯示在“文字”框里。上面幾個是示意性的指示燈。右邊的部分是輸入信息部分,下面的白底色的文字框是命令框,使用者將命令輸入在里面,然后按下面的“發(fā)送”按鈕就可以將命令發(fā)給南湖計(jì)算機(jī)執(zhí)行。比如輸入“12+.I”后按“發(fā)送”按鈕,就得到以下結(jié)果:可以看到(1)計(jì)算的結(jié)果“3”已經(jīng)出現(xiàn)在左邊輸出信息框了;(2)已經(jīng)發(fā)送的命令復(fù)制到了右邊上面的命令歷史
11、文字框了;(3)剛才的命令仍然留在命令框中,這樣方便修改后再次發(fā)送。如果不需要了,可以按“清空”按鈕將其清空。右邊輸入信息的歷史文字框里的內(nèi)容可以用鼠標(biāo)選擇和右鍵彈出菜單來復(fù)制出來。左邊輸出信息中的內(nèi)容可以按“保存”按紐將輸出結(jié)果保存到文本文件中。文字框中的文字太多時可以用“清空”按紐清除。當(dāng)鼠標(biāo)移到屏幕左邊時,左邊會彈出“南湖計(jì)算機(jī)”的工具夾來,當(dāng)鼠標(biāo)移到右邊時這個工具夾會自動消失。圖2南湖計(jì)算機(jī)的界面計(jì)算機(jī)上部有4個文字框,上面的三個顯示了南湖計(jì)算機(jī)算術(shù)堆棧中棧頂?shù)?個數(shù)(如果實(shí)數(shù)功能關(guān)閉,代表3個單元,如果實(shí)數(shù)功能打開則代表6個單元,每兩個單元作為一個實(shí)數(shù)顯示)。通過按數(shù)字按鈕輸入的單個
12、數(shù)字先顯示在下面的“輸入數(shù)”文字框中,然后需要按“發(fā)送”按鈕才會將整個數(shù)字發(fā)送到南湖計(jì)算機(jī)中,這個數(shù)字將出現(xiàn)在堆棧頂“堆棧(1)”的文字框中。輸入數(shù)字到“輸入數(shù)”文字框中,除了按按鈕,可以直接把鼠標(biāo)將光標(biāo)放在框中直接用鍵盤輸入。第3行最右邊的按鈕“清空”是清空整個算術(shù)堆棧。南湖計(jì)算機(jī)的操作要按照逆波蘭的形式,比如要計(jì)算“3-2”,就要先輸入數(shù)字“3”,然后輸入數(shù)字“2”,結(jié)果見下圖圖3輸入數(shù)字3和2之后的結(jié)果從圖可以看出這兩次操作的結(jié)果:(1)堆棧中有兩個數(shù),先輸入的是3,后輸入的是2;(2)在右邊輸入信息的輸入歷史框中可以看到是如何輸入這兩個實(shí)數(shù)的在輸入數(shù)之前先輸入“RealFunction
13、On”的詞將實(shí)數(shù)功能打開,確保下一個輸入的數(shù)被轉(zhuǎn)換為實(shí)數(shù)。(當(dāng)然這個字輸入一次就可以了,這里是保險起見)然后再按“-”減號按鈕,可以看到結(jié)果這時可以從右邊看到進(jìn)行實(shí)數(shù)減法的詞是“R8-”,從左邊可以看到減法的兩個數(shù)已經(jīng)不見了,結(jié)果“1”已經(jīng)放在堆棧頂了。但是在中間的輸出信息框中沒有信息,這是因?yàn)橛?jì)算結(jié)果是放在堆棧里,沒有人的命令計(jì)算機(jī)不自動進(jìn)行輸出。雖然作為計(jì)算器已經(jīng)在堆棧頂看到結(jié)果了,但要想將結(jié)果實(shí)數(shù)“1”輸出出來,必須在右面的命令框中輸入“.R8”,然后按“發(fā)送”按鈕,結(jié)果如下圖:剛才的計(jì)算結(jié)果“1”已經(jīng)被輸出到中間的輸出信息框中了。不過執(zhí)行“.R8”的命令是把堆棧頂上的實(shí)數(shù)取走進(jìn)行輸出,
14、所以從左邊可以看出現(xiàn)在堆棧里什么都沒有了。以后如果想偷看堆棧頂上的數(shù)又不把它取走,可以輸入命令“DDUP.R8”,它的意思是在將堆棧頂?shù)膶?shí)數(shù)復(fù)制一份在堆棧頂上,然后再輸出。當(dāng)然也可以在發(fā)送“.R8”命令前先按南山計(jì)算器的“DUP”按鈕將堆棧頂?shù)膶?shí)數(shù)變成雙份。5 南山可編程計(jì)算器功能(1)學(xué)習(xí)。由于計(jì)算器的界面很簡單,只需要注意采用“逆波蘭”方式,先輸入數(shù),再按加減乘除和函數(shù)鍵就行了。當(dāng)你在進(jìn)行這些操作的時候,堆棧頂?shù)臄?shù)據(jù)會跟著變化,你可以直觀感受“堆棧運(yùn)算”的過程和各個操作的意義。同時與操作對應(yīng)的命令也顯示在右邊的輸入信息框了,這例子可以用來學(xué)習(xí)編寫程序。其實(shí)把整個輸入的命令歷史全部復(fù)制粘貼到
15、一個文本文件中,這就是解決問題的程序了。(2)編程。把操作的過程復(fù)制粘貼到文本文件中,然后再加上一些變化,就可以編寫成為一個新程序了。比如給一個求自由落體的拋物線運(yùn)動的過程,改變時間,就可以算出位置來了。為了幫助學(xué)習(xí)FORTH計(jì)算機(jī)語言,本文也提供了一些例子程序,讀者也可以作為參考,修改后編寫自己的程序。自己寫的程序可以通過頂部的“文件”菜單加載執(zhí)行。(3)擴(kuò)展。計(jì)算器頂部的四個按鈕是“自定義”功能按鈕。在安裝目錄下有一個“南山計(jì)算器_配置.txt”文件,其中的內(nèi)容為:Func1="單詞表",".Words"Func2="堆棧深度",
16、"AS_DEEP.I"Func3="顯示堆棧",".AS_STACK"Func4="任務(wù)重啟","Task_Reset"很顯然,第一個引號對(英文的雙引號)中間的是按鈕的名稱,第二個引號對中間的是命令,可以包括多個詞。當(dāng)你按功能按鈕時,對應(yīng)的命令就被發(fā)送到南湖計(jì)算機(jī)中去執(zhí)行。因此使用者可以用它來擴(kuò)展計(jì)算器的功能。6 南湖虛擬計(jì)算機(jī)學(xué)習(xí)版(1)學(xué)習(xí)版主要用于FORTH計(jì)算機(jī)語言和各種計(jì)算機(jī)系統(tǒng)開發(fā)的學(xué)習(xí),因此沒有加入GUI和數(shù)據(jù)庫方面的支持原語。(2)系統(tǒng)啟動后已經(jīng)具有了基本的詞匯。通過界面上的按
17、鈕“輸出虛擬機(jī)詞匯”,你任何時候可以將當(dāng)前系統(tǒng)具備的詞匯輸出到一個文本文件中做學(xué)習(xí)參考。(3)系統(tǒng)的功能模塊必須放在本EXE程序所在目錄下的子目錄“Data”中??梢酝ㄟ^界面上的按鈕“加載虛擬機(jī)映象”來加載功能模塊,也可以在程序中動態(tài)加載。(4)為了方便使用,你可以通過界面上的按鈕“輸出虛擬機(jī)映象”來輸出功能模塊。輸出的功能模塊中包括了所有你已經(jīng)編好的FORTH字。因此你用FORTH源程序?qū)懞昧艘粋€應(yīng)用程序,你只要將輸出映象分享給別人就行,不需要提供你的源程序。這個過程類似VS開發(fā)工具生成EXE可執(zhí)行程序一樣。與EXE程序不一樣的地方是,你可以接著使用別人已經(jīng)定義的FORTH字來編譯自己的程序
18、。然后你也可以再次生成輸出映象來讓別人共享。(5)與通常窗口式的FORTH不同,人輸入的FORTH命令和程序是從“命令窗”中寫入和編輯,然后按“發(fā)送”才發(fā)送給FORTH虛擬機(jī)執(zhí)行。FORTH執(zhí)行的結(jié)果顯示在“信息輸出窗”中。(6)“信息輸出窗”中出現(xiàn)“FORTH>”的提示符,說明FORTH虛擬機(jī)已經(jīng)空閑,你可以輸入下一個命令了。FORTH虛擬機(jī)忙時頂部的執(zhí)行燈會亮。(7)本計(jì)算機(jī)有左、右和頂三個工具欄,平時是隱藏的。需要時你將鼠標(biāo)移動到屏幕的左、右和頂?shù)倪吷?,工具欄會自動彈出。?dāng)鼠標(biāo)回到屏幕中間部分,工具欄會自動縮回。(8)你可以通過右側(cè)的工具欄上的“終止”按鈕來終止FORTH程序的執(zhí)行,比如程序在執(zhí)行死循環(huán)。程序一旦終止,后果很難預(yù)料。建議從重新加載某個映象開始。加載某個映象導(dǎo)致系統(tǒng)恢復(fù)到那個模塊的初始狀態(tài),以后建立的新FORTH字都“忘了”。(9)FORTH程序是文本格式,用記事本等任何軟件都可以編。本系統(tǒng)不使用任何缺省的文件名后綴,使用時必須全名給出。建議FORTH程序以".wdf"
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 塑料加工設(shè)備節(jié)能降耗-洞察分析
- 2024年05月江蘇中國建設(shè)銀行蘇州分行“建習(xí)生”暑期實(shí)習(xí)生暨萬名學(xué)子暑期下鄉(xiāng)實(shí)踐隊(duì)員招考筆試歷年參考題庫附帶答案詳解
- 《目視管理與應(yīng)用》課件
- 2025年粵教版高二生物下冊階段測試試卷
- 2025年外研銜接版八年級數(shù)學(xué)下冊階段測試試卷
- 2025年浙教新版三年級語文下冊月考試卷
- 2025年牛津上海版二年級語文上冊階段測試試卷
- 2024年浙教版選修6地理下冊階段測試試卷
- 2024年昌平機(jī)車車輛廠職工醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點(diǎn)附帶答案
- 酒店業(yè)員工薪酬管理策略
- 2024年小學(xué)五年級科學(xué)教學(xué)工作總結(jié)(2篇)
- GB/T 31900-2024機(jī)織兒童服裝
- 2024-2025學(xué)年冀教版數(shù)學(xué)五年級上冊期末測試卷(含答案)
- 2025年上半年浙江金華市永康市選調(diào)市紀(jì)檢監(jiān)察信息中心工作人員2人重點(diǎn)基礎(chǔ)提升(共500題)附帶答案詳解
- 美國制造業(yè)經(jīng)濟(jì)2024年度報(bào)告-2024-12-宏觀大勢
- 小區(qū)充電樁安全協(xié)議書范本(2篇)
- 2024年安徽省公務(wù)員錄用考試《行測》真題及答案解析
- 第二講 七十五載迎盛世 砥礪前行續(xù)華章2024年形勢與政策(課件)
- 檢驗(yàn)科15項(xiàng)質(zhì)量控制指標(biāo)(檢驗(yàn)科質(zhì)控小組活動記錄)
- 5S評分基準(zhǔn)模板
- 外研社小學(xué)英語三起點(diǎn)五年級上冊(中英文對照)
評論
0/150
提交評論