记录nasm使用基础流程
步骤一:编写代码
编写asm文件,上课示例代码如下:
start:
mov ax,0xb800
mov es,ax
mov byte [es:0x10],'P'
mov byte [es:0x11],0x0c
mov byte [es:0x12],'C'
mov byte [es:0x13],0x0c
x: jmp x
我的文件命名如图:
步骤二:编译
打开命令行,进入到nasm文件夹下:
执行命令:nasm test.asm
。此种方式test.asm
需在当前目录下。若命令行显示存在nasm
但无法执行的错误,且提示可以使用.\nasm
代替,那么执行命令改为:.\nasm test.asm
。
若代码没有错误,则不会报错,且文件夹下多了机器码文件,如图:
步骤三:winhex写入
-
解压老师给的winhex压缩包,找到winhex.exe文件,打开。
-
菜单栏处点击help下的register,会自动跳出注册码,直接点击ok完成即可。
-
菜单栏处点击options选项下的第一行general。将前三行文件地址改成自己想放的,以我为例,见图:
完成后点击左下角的ok完成操作。
-
将刚刚生成的
的直接拖入winhex,再将老师给的解压文件中的
uboot2.img
拖入winhex。 -
ctrl+A全选,ctrl+C复制。
点击
E,会有蓝色光标闪烁,ctrl+B写入,会显示写入偏移量为0的地方,那这就对了。写入后,另存为
uboot2.img
至安装的路径下,img文件夹自己建。
步骤四:修改bochs配置文件
-
老师给的压缩文件下有
,用记事本打开,俺下图修改三处路径,修改为你的安装路径。
-
-
将修改好的配置文件复制到步骤三中的最后一个图片的文件夹下。
-
在安装目录下找到:
-
此为调试程序,双击打开。
-
在跳出的框中点击load加载刚才复制进去的配置文件:
然后点击右半部分的start
。
在新跳出的框中选中点击ok。
- 在console控制台中输入:
b 0x7c00
(打断点),再输入c
(表示执行到断点处),运行后见图:
display窗口有了变化,再在console控制台中分批输入几次n
,效果见图:
display窗口中P字母已经变为红色,即步骤一中写的改变P字母颜色的代码已执行完毕。