。
“老大,我让你你看看我们的成果。
吴东说着,便打开了电脑,然后运行了一个类似于终端界面的程序。
这就是虚拟机的终端仿真界面,林鸿坐在电脑前,敲入了他们之前预设好的一个debug命令,便进入了编程模式。
这个模式下,就相当于是一个汇编编译器,直接输入cpu的指令,便可以进行执行。
林鸿输入了几个常见的cpf令·包括mov,addhm61lshllshror等等,执行完毕之后,他便直接将cpu的那些寄存器的内容直接dump了出来。
显示的结果是正确的,完全是按照80860pu的技术参数来实现的,包括指令格式和寻址方式都完全和8086一致。
整个程序·就相当于是一个计算机硬件,直接用文件来模拟cpu的寄存器以及内存结构。
在里面所执行的程序,不会对外面的操作系统产生任何影响,最多只是那个文件里面的内容发生了改变。
林鸿接下来查看了一下他们编写的源代码,所有内容都是用c语言编写的。
后面的实现代码编写得非常不错,无论是实现方法和执行效率,看得出来都经过了特别的优化,看来那个新加入的计算机老师果然不愧是在这一行研究了这么久,实现这种东西来,简直有些得心应手的感觉。
林鸿笑道:“那个老师果然不愧是教计算机组成原理的。”
吴东点头道:“是啊,他说他教这门课程好几年了,天天照着课本给同学讲枯燥的理论知识,大家根本没有任何概念,刚考完试转眼就把所有的内容都还给他了。他看到我们这个项目之后,高兴地不得,认真研究了两天就说要加入我们,然后他将接下来的那指令实现任务全包了下来,不到一周的时间就全部实现了。”
要想将这个做出来,如果不对cpu的结构以及运行原理完全掌握,肯定是完成不了的。
就拿8086的寻址方式来说,就有好多种实现方式,这可不是寄存器到寄存器这么简单,还得考虑直接寻址和间接寻址,其中间接寻址又分好其中情况。
吴东继续说道:“还有,那个郭老师还问我这个项目是不是基于开源协议,他想要用这个项目改造一下,专门为他的课程定制,以后教学的时候,就分步骤让自己的学生去分别实现,从而让他们真正掌握这些知识。”
“这个没问题,他想用就用吧,反正这个项目也主要是用于学习。
“老大,我们接下来该做什么?”吴东又问起了这个问题。
林鸿:“当初让你做这个项目,主要是让你理解一下cpu的基本原理,现在看来,这个目的已经达到了,相信你对底层的编程也有了足够的认识。按照我原来的计划,做到这一步,这个项
请收藏:https://m.syyh.cc
(温馨提示:请关闭畅读或阅读模式,否则内容无法正常显示)