《x86汇编语言:从实模式到保护模式》 前几章配置环境说明总结

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/OneTrianee/article/details/80410816

前言:
这本书在寒假看完王爽的《汇编语言》后就想好好看看,当时买了电子版一直没看进去,偶然在图书馆发现有纸质书,所以就拿来好好读一读。这本书一直被很多人推荐,作者曾写过《穿越计算机迷雾》,挺赞的。

但是,在阅读过程中,尤其在前几章的配置时,发现作者自己编写的软件都是32位,毕竟是很多年前的了,现在在Win10的64位环境下很多不兼容,这里给出了替代工具,和操作方法及汇编代码的错误之处。

经过这些步骤,我们能在第一部分最后的VirtualBox实现中完美运行(这样对我来讲就远离了DOSBOX,那真复古。。把写好的二进制文件放入虚拟机中直接运行就好)

下面以我遇到的问题的顺序叙述,作者给出的工具下载地址已经无法使用,但直接百度就可以搜到。

1.Nasmide程序无法使用**

我在windows 64位环境下无法操作,这个在WIndows下推荐使用 notepad++,本身汇编语言不需要IDE,用自带的记事本太蛋疼了。当你文件格式为 asm 时,则会出现语法高亮。

然后我们直接使用nasm来编译程序就好,注意,我们来编译成bin格式的二进制文件,不需要EXE文件。用指令nasm -f bin filename -o objname,其中-f是指明二进制文件。

当运行NASM终端时,要在它刚开始默认的文件夹中运行,如果是在别的文件夹会出现无nasm指令的状况,这里应该要修改windows环境变量吧。(把你写好的汇编代码存入默认的文件夹中就好)

2.HexView程序无法使用

这里工具HexView虽然没想上边那个打不开,但是使用时依然无法看到机器代码,这个我用windows平台下的WinHex工具来代替,这个有汉化版的,功能强大,而且下载45天免费使用,看个机器代码用这个就可以。

3.用VirtualBox建立虚拟机

这里和传统的虚拟机不太一样,这里只有一个虚拟硬盘,操作系统啥的统统没有,虚拟硬盘如书上所说使用VHD,而且该文件已经在工具包中给出你了,你直接新建,然后版本,类型都是选择`other就好。

重点:对于选择的磁盘文件,我们直接选择书上的就好,这里,需要注意,当你选择完成之后,其文件地址就被保存,下次按照这个地址来搜索VHD这个文件,所以,我们 不要再改变这个VHD文件的位置了!

补充:以前都用VMware,没用过VirtualBox,可能有时会出现这个虚拟机莫名的为空,这时,重新启动一下就好。

4.使用FixVhdWr工具写入文件

首先说明,这个工具可以使用。

我们在选择虚拟文件时,直接选择上面那个VHD文件就行!

书中图4-8中,上面可能存在误导,当时我用“向磁盘文件中写入二进制文件时,原以为是在新建虚拟机的文件夹中找磁盘文件,结果没找到,还傻乎乎的把该文件直接移动到虚拟机文件中,结果查看启动错误之后,查看错误信息,才发现其搜索路径是当时的文件。

5.代码错误

检测点4.2中的代码错误,会提示没有指明字符大小,其实有过汇编基础的也会发现,它未指明是字还是字节,这里直接给出作者写的勘误表:

http://blog.163.com/leechung@126/

6.总结

如果你都操作正确,那么你最后运行你新建的连操作系统都没有的虚拟机时,其在屏幕上显示asm,完成了。

阅读更多
换一批

没有更多推荐了,返回首页