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