这周项目进展缓慢,学习笔记上也只是写了点环境的搭建和虚拟软盘镜像img的创建,不过dd指令的灵活使得我对Linux系统颇有好感。
NASM是一个不错的汇编语言编译器,不过愿你们一辈子不需要用到它。
NASM的下载与安装(Windows):
1.下载
进入官网http://www.nasm.us/,选择“Thelatest stable version of NASM is 2.13.01”,选择win64,选择“nasm-2.13.01-installer-x64.exe”。
2.运行该exe,直接完成安装。
3.设置环境变量
复制nasm.exe和nasmw.exe到C:\Windows\System32。
(或者设置系统环境变量:假设NASM安装位置为C:\NASM,右键计算机——>属性——>高级设置——>环境变量——>再系统变量path后面加上“;C:\NASM”。经实践,不知为何此方法有丢失计算机系统变量的风险,请谨慎实施。)
4.确认是否成功安装
运行cmd,输入nasm –v,如果输出为版本信息,则安装成功。
NASM的下载与安装(Linux)
笔者运行环境为ubuntu14.04(32位)
1.下载
进入官网http://www.nasm.us/,选择“Thelatest stable version of NASM is 2.13.01”,选择Linux,选择32位系统选择“nasm-2.13.01-0.fc24.i386.rpm”,64位系统选择“nasm-2.13.01-0.fc24.x86_64.rpm”。
2.将rpm包转化为deb包
由于rpm是Redhat发行版安装软件使用的格式,而ubuntu下安装软件的格式是deb,因此需要转化。
Ctrl+Alt+T调出控制台窗口,首先安装转化工具alien。
sudo apt-get install alien
然后进入nasm-2.13.01-0.fc24.i386.rpm所在的文件夹,假设在下载的默认目录下。
cd /home/ubuntu/Downloads/
执行转换 sudo alien nasm-2.13.01-0.fc24.i386.rpm
3.安装
sudo dpkg -i nasm_2.13.01-1_i386.deb
4.确认是否成功安装
运行cmd,输入nasm –v,如果输出为版本信息,则安装成功。
使用NASM编译.asm文件为bin:
nasm -f bin test2.asm –o test.bin
制作虚拟软盘映像。Linux下dd指令将bin文件转化为img文件:
参考资料:http://blog.csdn.net/nethanhan/article/details/8096772
http://blog.163.com/niwei_258/blog/static/10628488201091892645507/
1.制作空白软盘镜像文件diska.img
命令:dd if=/dev/zero of=diska.img bs=512 count=2880
2.新建boot.bin:复制boot.bin到boot.img中
命令:dd if=boot.bin of=boot.img bs=512 count=1
3.复制diska.img中从第512字节往后的内容添加到boot.img中(这是dd最出彩的部分)
命令:dd if=diska.img of=boot.img skip=1 seek=1 bs=512 count=2879
(seek=x从输出文件开头跳过x个扇区,skip=x从输入文件开头跳过x个扇区)
另:dd指令非常强大,还有很多套路有待摸索。