IA32汇编语言程序设计——Virtualbox、NASM、Fixvhdwr环境搭建

VirtualBox

出现的问题:

  • 安装包不能运行
    在这里插入图片描述
    解决方案:
    链接
    64位选amd64
    32位选x86
    进行运行然后按步骤安装即可

安装时一定要选择图中给的系统和版本,不要装成别的在这里插入图片描述
这里的位置选择它默认给的就好了,不然后面写磁盘时可能会出错。
在这里插入图片描述

NASM

出现的问题:
在这里插入图片描述
出现此问题的原因主要有两个:

  • 路径错误
  • 没有写入权限

解决方案:

  • 对于第一点,需要重新编辑compile.bat文件,用文本编辑器打开(记事本或者notepad++等),重新编辑路径,cd后面改为NASM的安装路径,-f bin和 - o后面要分别改为你写好的asm文件的地址,以及你想要使生成的bin文件的存放地址,且地址中均不能含有中文字符。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 对于第二点,记得以管理员身份运行即可。

若最后可以生成.bin文件这一步就完成了(.bin文件不显示后缀名)

nasmide

这玩意儿好像不兼容,卡的一批,也没什么卵用,直接用notepad++编写代码即可,不用管那个nasmide了。

Fixvhdwr

出现的错误:
在这里插入图片描述
这是由于新建虚拟硬盘时的位置自己重定义了硬盘的路径造成的。
解决方案:需要将虚拟机删除,重新创建一个,并按照默认的位置来生成虚拟硬盘,而不是自定义虚拟硬盘的位置。

测试

用notepad++编辑如下代码,保存为asm格式,保存到compile中的-f bin后的路径下。

		;显示Hello,world!
		jmp near start				;跳过数据段
		
	mytext: db 'H',0x07,'e',0x07,'l',0x07,'l',0x07,'o',0x07,',',0x07,\
				'w',0x07,'o',0x07,'r',0x07,'l',0x07,'d',0x07
	start:
		mov ax,0x7c0			;设置数据段基地址
		mov ds,ax
		
		mov ax,0xb800		;设置附加段地址
		mov es,ax
		
		cld										;正向传送
		mov si,mytext						;设置源索引地址
		mov di,0								;设置目标索引地址:
		mov cx,(start-mytext)/2		;设置传送次数
		rep movsw							;开始传送
		
		
	times 510-($-$$) db 0
					 db 0x55,0xaa

以管理员身份运行compile.bat即可在指定位置生成.bin文件。
用Fixvhdwr在.vhd虚拟磁盘中写入刚生成的.bin文件,LDA为0。
启动虚拟机,若屏幕中输出"Hello,world",则环境配置成功。
在这里插入图片描述

扫描二维码关注公众号,回复: 10014134 查看本文章
发布了45 篇原创文章 · 获赞 8 · 访问量 4037

猜你喜欢

转载自blog.csdn.net/qq_44290978/article/details/104913047
今日推荐