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