如果你拿到了 NASM 的 DOS 安装包,'nasmXXX.zip'(这里.'XXX'表示该安装包的 NASM 版
本号),把它解压到它自己的目录下(比如:‘c:\nasm')
该包中会包含有四个可执行文件:NASM 可拟行文件'nasm.exe'和'nasmw.exe',还有
NDISASM 可执行文件'ndisasm.exe'和'ndisasmw.exe'。文件名以'w'结尾的是'Win32'
可执行格式。是运行在'Windows 95'或'Windows NT'的 Intel处理器上的,另外的是
16 位的'DOS'可执行文件。
NASM 运行时需要的唯一文件就是它自己的可执行文件,所以可以拷贝'nasm.exe'
和'nasmw.exe'的其中一个到你自己的路径下,或者可以编写一个'autoexec.bat'把
nasm 的路径加到你的'PATH'环境变量中去。(如果你只安装了 Win32 版本的,你可能
希望把文件名改成'nasm.exe'。)
就这样,NASM 装好了。你不需要为了运行 nasm 而让'nasm'目录一直存在(除非你把它
加到了你的'PATH'中,所以如果你需要节省空间,你可删掉它,但是,你可能需要保留
文档或测试程序。
如果你下载了 DOS 版的源码包,'nasmXXXs.zip',那'nasm'目录还会包含完整的 NASM源
代码,你可以选择一个 Makefiles 来重新构造你的 NASM 版本。
注意源文件`insnsa.c', `insnsd.c', `insnsi.h'和`insnsn.c'是由'standard.mac'中
的指令自动生成的,尽管 NASM0.98发布版中包含了这些产生的文件,你如果改动了
insns.dat,standard.mac或者文件,可能需要重新构造他们,在将来的源码发布中有
可能将不再包含这些文件,多平台兼容的 Perl可以从 www.cpan.org 上得到。
nasm对跳转的设计很人性化.一般来说nasm中跳转标明长度就可以了.在实模式跨入保护模式的那条经典jmp中,Linux的代码是直接编的机器码,nasm加一个dword就可以了.如果jmp这种方法解决不了的话,你可以试一试把地址压栈,然后执行一个retf就可以了欢迎分享,转载请注明来源:内存溢出
评论列表(0条)