关于编译器的问题
我现在是在校学生,正在学习asm,看的是王爽出的《汇编程序》一书,书评还不错,是讲8086的ASM,我的CPU intel ,OS
2003,我想知道我怎么才能让书上的原代码编译并运行起来?我不是弱智的人:)
我在网上搜索了一下,得知radASM很好,我就去官网下载了最新的2.2.0.8版,并下载了所有其他文件,包括高级语言的包,IDE语言包等等,然后还下载了MASM32
的最新v9,也整合的很好,可以正常构建并运行网上搜索到的win32汇编源代码,并正常生成了图形界面。这些是已知条件,我现在要的是运行以下一段程序
assume cs:code
code segment
mov ax, 2
add ax, ax
mov ax, 4c00H
int 21H
code ends
end
很简单的程序是吧,是书上给出的程序,我还写不出来,但是我实在不知道用radASM如何构建这个代码,我新建一个console asm
project,把这个代码粘进去,编译OK,连接ERROR,直接GO
ALL也是ERROR,我对于这个问题向你请教解决方法,希望你能告诉我如何使我的radASM可以让上面这个代码转的动,另外,我看的书上,使用的是masm的命令行编译程序,和MS的连接程序,并在实DOS下编译连接成功。当然radASM这种IDE方式用起来很方便,但是我也想知道通过命令行来编译连接ASM代码的好工具,及其官网?
然后我有点疑惑,我现在的CPU当然是32位的,这样ax理应是32位,那么mov ax, 4c00H
就应该是错的吧?!我看的书出版日期是2002-2003年,我相信书的作者的CPU肯定是32位的,既然可以编译过,那么我推断肯定是因为实DOS是一个16位系统的原因,但是我用radASM在2003这个纯32位系统上写mov
ax, 4c00H,也是对的吗?