免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: eggqq007
打印 上一主题 下一主题

发布一款前段时间写的虚拟机(LightMachine),可以运行DOS [复制链接]

论坛徽章:
0
111 [报告]
发表于 2010-11-19 22:08 |只看该作者
这是一款80x86 16位虚拟机。。。。附件里面有可执行程序,文档,源代码(包含VS2010工程文件)
   
   虚 ...
eggqq007 发表于 2010-08-22 21:31



    佩服楼主啊

论坛徽章:
11
数据库技术版块每日发帖之星
日期:2016-06-25 06:20:00数据库技术版块每日发帖之星
日期:2016-06-24 06:20:00数据库技术版块每日发帖之星
日期:2016-05-03 06:20:00数据库技术版块每日发帖之星
日期:2016-04-21 06:20:00数据库技术版块每日发帖之星
日期:2016-01-23 06:20:00数据库技术版块每日发帖之星
日期:2015-12-03 06:20:00综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-19 06:20:00数据库技术版块每日发帖之星
日期:2015-08-20 06:20:002015年辞旧岁徽章
日期:2015-03-03 16:54:15数据库技术版块每日发帖之星
日期:2016-07-30 06:20:00
112 [报告]
发表于 2010-11-20 00:07 |只看该作者
挺棒!
年轻人有前途!

论坛徽章:
0
113 [报告]
发表于 2010-11-26 23:44 |只看该作者
下来学习下,感谢楼主!

论坛徽章:
0
114 [报告]
发表于 2010-12-02 12:58 |只看该作者
楼主还是可以的吗

论坛徽章:
0
115 [报告]
发表于 2010-12-02 13:46 |只看该作者
不错,年轻有为。世界很大,早定目标

论坛徽章:
0
116 [报告]
发表于 2010-12-04 18:59 |只看该作者
太强悍了,顶起!!

论坛徽章:
0
117 [报告]
发表于 2010-12-05 13:41 |只看该作者
泪奔。。。。
发粪涂墙。。。。

论坛徽章:
0
118 [报告]
发表于 2010-12-05 21:28 |只看该作者
回复 1# eggqq007


    几乎同龄人,与楼主的差距相当大啊,
期待楼主成为中国开源的Linus Torvalds。

论坛徽章:
0
119 [报告]
发表于 2010-12-06 15:16 |只看该作者
很强。 代码比我写的下载器还少。


请教一下  这个虚拟机的指令,翻译以后 怎么运行呢?
比如add ax ,100.

你做的就是把相应的SP  AX 这样的寄存器(你模拟的)
都改掉。

然后呢? 下运行下一条指令?

就是不断的把那些指令都运行完?



比如外设 键盘 硬盘,这些操作是如何实现呢?
我看到还有屏幕显示的内容。 这些你做的只是修改了显存的数据, 催动 windows 显卡 显示的这部分 如何做?

论坛徽章:
0
120 [报告]
发表于 2010-12-07 11:33 |只看该作者
首先将2进制的数据翻译成一条指令,然后其IP指向下一个指令数据的位置。
接着执行指令,把100加到ax里面。接着继续翻译---》执行。。。。就这样生生不息。。。


键盘和磁盘是根据BIOS中断来虚拟的,并没有全模拟。 对虚拟磁盘的操作会调用windows API 来实现数据读写。

屏幕也一样。。使用win32,显示出来咯~~~

具体如何实现还是看代码吧~~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP