2007年,我開(kāi)發(fā)了一種名為PERSEUS-3的計(jì)算機(jī),以克服1980年自制的機(jī)器語(yǔ)言計(jì)算機(jī)遭受的挫折。其功能如下。
(1)可以在沒(méi)有PC的情況下用機(jī)器語(yǔ)言編程。
(2)可以手動(dòng)執(zhí)行單條指令,并在此時(shí)顯示執(zhí)行地址。
(3)我自己的微型翻譯語(yǔ)言已開(kāi)發(fā)到這臺(tái)計(jì)算機(jī)上。
(4)最初,我使用PC作為操作字符終端,后來(lái)我開(kāi)發(fā)了一個(gè)自制終端并使用了它。
(5)后來(lái),此計(jì)算機(jī)的概念成為我的#6502獨(dú)立計(jì)算機(jī)項(xiàng)目的PERSEUS-7計(jì)算機(jī)的基礎(chǔ)。
1.硬件配置 圖1顯示了硬件配置。CPU執(zhí)行指令時(shí),CPU會(huì)訪(fǎng)問(wèn)存儲(chǔ)設(shè)備和外圍設(shè)備。編程時(shí),CPU通過(guò)直接內(nèi)存訪(fǎng)問(wèn)(DMA)電路與總線(xiàn)分開(kāi),并且面板上的開(kāi)關(guān)和LED直接連接到內(nèi)存設(shè)備。
2. CPU 我之所以選擇摩托羅拉的MC6802作為該計(jì)算機(jī)的CPU,是因?yàn)槲以?980年對(duì)該計(jì)算機(jī)進(jìn)行了機(jī)器語(yǔ)言開(kāi)發(fā)經(jīng)驗(yàn),并且易于制作DMA電路。MC6802具有與流行的MC6800相同的指令,但是在暫停狀態(tài)下,地址總線(xiàn)不會(huì)變?yōu)楦咦钁B(tài),而是繼續(xù)輸出下一個(gè)可執(zhí)行地址。這對(duì)于常規(guī)的DMA電路設(shè)計(jì)是不方便的,但是它適合在LED上顯示運(yùn)行地址。
3.記憶 存儲(chǔ)設(shè)備是一個(gè)16 k位SRAM(HM6116LP-3)和一個(gè)64 k位SRAM(6264A-10L)。總存儲(chǔ)容量為10 k字節(jié)。這兩款設(shè)備均由3.6 V,70 mA h NiMH電池備份。電池充滿(mǎn)a電。HM6116的2 k字節(jié)區(qū)域(包括系統(tǒng)向量地址)具有寫(xiě)掩碼開(kāi)關(guān)。解釋器已安裝到該區(qū)域。使寫(xiě)保護(hù)開(kāi)關(guān)可寫(xiě),然后輸入程序。然后將寫(xiě)保護(hù)開(kāi)關(guān)設(shè)置為可禁用狀態(tài),然后您將運(yùn)行該程序。這樣,如果程序失控,程序?qū)⒉粫?huì)中斷。
4.面板開(kāi)關(guān)和LED 在這臺(tái)計(jì)算機(jī)上,使用面板上的開(kāi)關(guān)輸入程序。通過(guò)三態(tài)緩沖器(74HC244)將十六個(gè)地址開(kāi)關(guān)連接到地址總線(xiàn)。八個(gè)數(shù)據(jù)開(kāi)關(guān)也通過(guò)三態(tài)緩沖器(74HC244)連接到數(shù)據(jù)總線(xiàn)。DMA電路控制3狀態(tài)緩沖器。在串行接口中,發(fā)送/接收信號(hào)上有LED,因此您可以直接識(shí)別通信狀態(tài)。并行接口的一個(gè)位還配備了一個(gè)開(kāi)關(guān)和一個(gè)LED,可讓您輕松了解接口的操作。
5.按照指令一一調(diào)試 當(dāng)面板上的RUN / HALT開(kāi)關(guān)置于停止側(cè)時(shí),CPU的HALT輸入信號(hào)變?yōu)榈碗娖?,CPU停止運(yùn)行。地址LED指向已停止指令的下一個(gè)執(zhí)行地址。存儲(chǔ)器地址總線(xiàn)和數(shù)據(jù)總線(xiàn)通過(guò)DMA電路連接到開(kāi)關(guān)。數(shù)據(jù)顯示LED顯示地址開(kāi)關(guān)指向的地址的存儲(chǔ)數(shù)據(jù)值?,F(xiàn)在,當(dāng)按下寫(xiě)開(kāi)關(guān)時(shí),數(shù)據(jù)開(kāi)關(guān)的值將被寫(xiě)入存儲(chǔ)器,并且LED顯示屏將變?yōu)閷?xiě)值。 按下步驟開(kāi)關(guān),CPU將執(zhí)行一條指令并停止。在地址LED顯示屏上可以看到程序的正確進(jìn)度。當(dāng)開(kāi)關(guān)設(shè)置為RUN側(cè)時(shí),CPU將從停止位置開(kāi)始連續(xù)執(zhí)行。
6.周邊設(shè)備 該計(jì)算機(jī)具有一個(gè)RS-232C串行接口和一個(gè)8位并行輸入/輸出接口。作為串行接口,使用了異步通信接口適配器(ACIA)MC6850(HD6350 Hitachi)。并行接口配置有標(biāo)準(zhǔn)邏輯74LS374、74HCT374。該計(jì)算機(jī)還具有模擬輸入/輸出接口。使用8位A / D轉(zhuǎn)換器(AD7820)作為模擬輸入,使用8位D / A轉(zhuǎn)換器(AD558JN)作為模擬輸出。動(dòng)態(tài)范圍為0v至2.5V。這是模擬信號(hào)處理的實(shí)驗(yàn)。
7.建立 筆記本計(jì)算機(jī)使用30厘米x 30厘米x 9厘米的鋼制外殼,但面板由鋁制成。該外殼用于制作自制的音頻放大器。使用變壓器和穩(wěn)壓器IC 7805的5V,1A電源安裝在機(jī)柜的背面。交流電源輸入為100V。通用板上的接線(xiàn)是繞線(xiàn)。
8.微小的口譯語(yǔ)言 我制作了名為Computation Interpreter -1(CI-1)的微小的16位整數(shù)解釋器語(yǔ)言。RS232C串行終端可以對(duì)該解釋器進(jìn)行編程和輸出。變量是‘A’到‘Z’的26個(gè)變量。運(yùn)算符只是四個(gè)算術(shù)運(yùn)算。數(shù)學(xué)表達(dá)式的表示法是反向波蘭表示法(RPN)。提供了條件決策語(yǔ)句和跳轉(zhuǎn)語(yǔ)句。我還提供了直接訪(fǎng)問(wèn)參數(shù)指定的內(nèi)存空間的函數(shù)。這使我可以描述一個(gè)數(shù)組。該語(yǔ)言還包括行編輯器。如果某行沒(méi)有行號(hào),則直接執(zhí)行。如果一行具有行號(hào),則會(huì)將其添加到程序中。解釋器是用機(jī)器語(yǔ)言編寫(xiě)的,并在此計(jì)算機(jī)上進(jìn)行手工組裝和調(diào)試。程序大小為1.7 k字節(jié)。
9.結(jié)果 我能夠制造一臺(tái)6802機(jī)器語(yǔ)言計(jì)算機(jī)和一個(gè)微型解釋器。1980年,當(dāng)我自己建造一臺(tái)這樣的計(jì)算機(jī)時(shí),調(diào)試程序很困難,因?yàn)闆](méi)有地址LED。相比之下,這臺(tái)計(jì)算機(jī)PERSEUS-3具有LED指示程序的手動(dòng)進(jìn)度,并使調(diào)試機(jī)器語(yǔ)言變得實(shí)用。 該計(jì)算機(jī)PERSEUS-3成為仿真器,用于在2015年開(kāi)發(fā)用于老式無(wú)線(xiàn)電數(shù)字顯示器的嵌入式后續(xù)計(jì)算機(jī)PERSEUS-4,并在2018年開(kāi)發(fā)用于RS232C串行終端的嵌入式計(jì)算機(jī)PERSEUS-5
責(zé)任編輯:pj
-
cpu
+關(guān)注
關(guān)注
68文章
11066瀏覽量
216617 -
計(jì)算機(jī)
+關(guān)注
關(guān)注
19文章
7649瀏覽量
90537 -
語(yǔ)言編程
+關(guān)注
關(guān)注
0文章
23瀏覽量
10032
發(fā)布評(píng)論請(qǐng)先 登錄
計(jì)算機(jī)語(yǔ)言概述
匯編語(yǔ)言與機(jī)器語(yǔ)言!
計(jì)算機(jī)編程 精選資料分享
計(jì)算機(jī)組成原理 精選資料分享
計(jì)算機(jī)組成期末復(fù)習(xí) 精選資料分享
機(jī)器語(yǔ)言是什么_機(jī)器語(yǔ)言指令大全

面向機(jī)器語(yǔ)言有哪些

計(jì)算機(jī)編程語(yǔ)言的發(fā)展趨勢(shì)分析
計(jì)算機(jī)語(yǔ)言的分類(lèi)

計(jì)算機(jī)語(yǔ)言的發(fā)展過(guò)程
計(jì)算機(jī)編程語(yǔ)言發(fā)展的三個(gè)重要階段你都知道嗎?

評(píng)論