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计算机与外设频道
存储器相关文章:存储器原理
尘埃粒子计数器相关文章:尘埃粒子计数器原理
评论