嘿,我对操作系统编写很感兴趣,我已经很长时间了,但仍然无法接受(我主要是“第一次阅读时你不能理解的事情你根本不应该做” - 而且它适用于我所做的所有其他事情,比如 PHP、HTML、AS3.0、C++ ......还有很多)刚刚我有点明白了。问题是——真的,ASM 直到现在我才需要一个特定的引导加载程序才那么有趣(我知道还有其他的,比如 GRUB 之类的,但这只是一个漫长的故事)。
显然,最重要的部分是实际从磁盘读取一些内容到图像扇区并跳转到那里。但是,INT 0x13 与 AH 0x02,即。从磁盘读取扇区并没有真正工作(或者我只是不明白)。
所以,我找到了这个信息: 点击
在对 Bochs 进行了一些研究之后,我发现了扇区数、柱面数、磁头数以及有关磁盘的所有信息。
现在,为了测试它,我想读取第一个扇区,并从中打印出几个字符——因为我一开始就知道有这个引导加载程序,我会看到使用的部分消息。
但是,它只是......不起作用。我正在尝试将缓冲区放到不同的地方、消息、不同的扇区...有人可以给我看一个这样读取指定点的例子吗?
谢谢。