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