Mark 一下,哈哈。不能偷懒哦。
呵呵,还得谢谢你哦。 就512字节,用C写?会不会更麻烦?估计不如用汇编来得快捷。 也不是说完全不能用 C 了,可以
gcc -S file.c
切记在 c 文件开头加上
asm(".code16gcc")
然后把生成的汇编 copy 过去。
不过大小是个问题,要好好斟酌。
原来一直以为是 ld 的 script 出问题,查了半天资料。后来才发现是 BIOS 只读了 512 byte,太残念了。
以前看 GRUB 代码时就注意到 loader 要先被 boot sector 的代码读入内存再 call,这下就没注意。只看不练果然不行啊。:outu: 原帖由 swordfish.cn 于 2009-2-19 20:42 发表 http://linux.chinaunix.net/bbs/images/common/back.gif
也不是说完全不能用 C 了,可以
gcc -S file.c
切记在 c 文件开头加上
asm(".code16gcc")
然后把生成的汇编 copy 过去。
不过大小是个问题,要好好斟酌。
原来一直以为是 ld 的 script 出问题 ...
mark一下 呵呵,不错
页:
1
[2]