[问题]nasm 编译一个程序出错
发表于 : 2008-09-15 17:18
我这两天在做这部分:
在LINUX下用NASM编译KERNEL.ASM的时候,发现总是出现WARNING:DWORD DATA EXCEEDS BOUND.我这个KERNEL是一个很简单的部分,应该算是最不应该出现错误的地方,其代码就是在屏幕固定位置打印一个字符.我试了一下,相同的代码在WINDOWS下可以编译通过(也加了-f elf),但是在LINUX下就有这个警告.请教有经验的人士解答.在网上和这个论坛以及英文论坛都找过,没有找到什么相关的问题,所以没有什么解答. 代码我也附在下面:
编译用nasm -f elf kernel.asm -o kernel.o
希望各位能给点帮助.谢谢!
在LINUX下用NASM编译KERNEL.ASM的时候,发现总是出现WARNING:DWORD DATA EXCEEDS BOUND.我这个KERNEL是一个很简单的部分,应该算是最不应该出现错误的地方,其代码就是在屏幕固定位置打印一个字符.我试了一下,相同的代码在WINDOWS下可以编译通过(也加了-f elf),但是在LINUX下就有这个警告.请教有经验的人士解答.在网上和这个论坛以及英文论坛都找过,没有找到什么相关的问题,所以没有什么解答. 代码我也附在下面:
代码: 全选
[section .text]
global _start
_start:
mov ah, 0Fh
mov al, 'K'
mov [gs:((80 * 1 + 39) * 2)], ax ;第1行第39列显示一个字符K
jmp $
希望各位能给点帮助.谢谢!