COMET虛擬機的設(shè)計與實現(xiàn)
===============
100
5050[root@knuth /root]#
表示1+2+…+100等于5050,結(jié)果正確。
4.2 調(diào)試運行
輸入命令:comet –d sum
===============
COMET虛擬計算機
===============
調(diào)試 (幫助輸入 help)...
輸入命令: t
指令顯示功能打開
輸入命令: p
指令計數(shù)功能打開
輸入命令: r
顯示寄存器數(shù)據(jù)
GR[0] = 0 PC = 0
GR[1] = 0 SP = fc00
GR[2] = 0 FR = 01
GR[3] = 0
輸入命令: d
顯示內(nèi)存數(shù)據(jù)
mem[0 ] = 1200
輸入命令: i
顯示內(nèi)存指令
mem[0]: JMP 5
輸入命令:g
mem[0]: JMP 5
mem[5]: ST GR0, fe00
mem[7]: PUSH fe00
mem[9]: LEA GR0, 4
mem[b]: ST GR0, fd10
mem[d]: LEA GR0, c01
mem[f]: ST GR0, fd11
mem[11]: POP GR0
3
mem[12]: LD GR0, 4
mem[14]: ST GR0, 2
……
6mem[4f]: JMP 51
mem[51]: HALT
執(zhí)行指令數(shù)目 = 71
輸入命令: q
退出調(diào)試...
其中t、p、d、r、g分別是調(diào)試命令trace、print、dMem、regs、go的縮寫;3(mem[11 ]的下一行)是用戶輸入的數(shù)據(jù),不是調(diào)試命令。6(mem[4f ]行)表示1+2+3的和為6。
COMET虛擬機內(nèi)嵌的調(diào)試器功能非常強大,熟練掌握后對COMET虛擬機的程序開發(fā)會有很大的幫助。調(diào)試命令細(xì)節(jié)可以通過幫助命令help獲得。
5 結(jié)語
本文給出了COMET虛擬機的硬件設(shè)計方案。該方案闡述了虛擬機各個基本部分的詳細(xì)設(shè)計思路及需要注意的問題。目前已經(jīng)實現(xiàn)了COMET虛擬機、CASL匯編器和TINY編譯器。我們將基于COMET虛擬機開發(fā)一個小型的文件系統(tǒng),使得其應(yīng)用于實際教學(xué)任務(wù)[1,4,5]。
參考文獻(xiàn)
[1] CASL匯編語言文本[M].中國計算機軟件專業(yè)技術(shù)資格和水平考試大綱
[2] 劉福江,柴樹杉. CASL匯編器的設(shè)計與實現(xiàn)[J].計算機與信息技術(shù).2006,7:76-78
[3] (美)Kenneth C. Louden. 編譯原理及實踐[M].北京:機械工業(yè)出版社,2003
[4] (澳)John Lions.萊昂氏UNIX源代碼分析[M].北京:機械工業(yè)出版社,2000
[5] (美)Bill Blunden.虛擬機的設(shè)計與實現(xiàn)——C/C++[M].北京:機械工業(yè)出版社,2003
[6] 王亞平,陳甫舟.基于Linux平臺上的BOST虛擬機的硬件設(shè)計與實現(xiàn)[J].現(xiàn)代電子技術(shù).2004,15:8-10
更多計算機與外設(shè)信息請關(guān)注:21ic計算機與外設(shè)頻道
存儲器相關(guān)文章:存儲器原理
塵埃粒子計數(shù)器相關(guān)文章:塵埃粒子計數(shù)器原理
評論