操作系统开发——NASM集成开发环境设置 zz

邢浩邈
2023-12-01

http://blog.csdn.net/xingwang75/article/details/4486353


写操作系统使用NASM比较方便,可是没有一个好的开发环境写起来真的很痛苦! 
RADASM默认只支持用Nasm开发win32应用程序,而写操作系统需要生成(flat)平面文件, 
只能自己修改配置来实现 


使用软件如下: 
IDE:RADASM 
ASM:NASM 
DEBUG: emu8086 
IDE和ASM自然不用说了,这里选用emu8086是因为emu8086支持对平面文件和DOS应用程序调试。 
RADASM默认使用的调试器OllyDBG无法正常调试这类应用程序。 
NASM编译DOS应用程序成obj文件,这时需要下载一个链接程序。我使用masm6.15内的link.exe 
来链接。 

这里贴出RADASM的NASM配置文件nasm.ini的部分内容,如果你的NASM和emu8086的位置和我的不一样,可以自行修改。 
好了,开始你的操作系统学习之路吧。 

[Paths] 
$A=$R/Nasm 
$B=$A/ 
$D=$R/AddIns 
$H=$A/Help 
$I=$A/Inc 
$L=$A/Lib 
$P=$R/Assembly/Nasm/Projects 
$S=$R/Assembly/Nasm/Sniplets 
$T=$R/Assembly/Nasm/Templates 
$M=$R/Assembly/Nasm/Macro 
$E=C:/Program Files/emu8086 

[Project] 
Type=Plat App,Dos App 
Files=Asm,Inc,Rc,Def,Txt,Mak 
Folders=Bak,Mod,Res 
MenuMake=Compile RC,Assemble,Link,Build,Go,Run,Run w/debug,Go All,Assemble Modules 
Group=1 
GroupExpand=1 

[Plat App] 
Files=1,1,0,0,0 
MenuMake=0,1,0,1,1,1,1,1,0,0 
1=rsrc.res,O,$B/GORC,rsrc.rc 
2=$.bin,O,$B/Nasm -fbin,$.asm,-o,$.bin 
3=$.com,O,$B/Nasm -g -fbin,$.asm,-o,$.com 
4=0,0,,$.com 
5=rsrc.obj,O,$B/CVTRES,rsrc.res 
6=*.bin,O,$B/Nasm -fbin,*.asm 
7=0,0,"$E/emu8086",$.com 
11=rsrc.res,O,$B/GORC,rsrc.rc 
12=$.bin,O,$B/Nasm -fbin,$.asm 
13=$.com,O,$B/Nasm -g -fbin,$.asm,-o,$.com 
14=0,0,,$.com 
15=rsrc.obj,O,$B/CVTRES,rsrc.res 
16=*.bin,O,$B/Nasm -fbin,*.asm,-o,$.bin 
17=0,0,"$E/emu8086",$.com 

[Dos App] 
Files=1,1,0,0,0 
MenuMake=0,1,0,1,1,1,1,1,0,0 
1=rsrc.res,O,$B/GORC,rsrc.rc 
2=$.obj,O,$B/Nasm -g -fobj,$.asm 
3=$.exe,O,$B/Link,$.obj,,,,,,, 
4=0,0,,$.exe 
5=rsrc.obj,O,$B/CVTRES,rsrc.res 
6=*.obj,O,$B/Nasm -g -fobj,*.asm 
7=0,0,"$E/emu8086",$.exe 
11=rsrc.res,O,$B/GORC,rsrc.rc 
12=$.obj,O,$B/Nasm -g -fobj,$.asm 
13=$.exe,O,$B/Link,$.obj,,,,,,, 
14=0,0,,$.exe 
15=rsrc.obj,O,$B/CVTRES,rsrc.res 
16=*.obj,O,$B/Nasm -g -fobj,*.asm 
17=0,0,"$E/emu8086",$.exe

 类似资料: