【发布时间】:2015-10-18 20:40:38
【问题描述】:
我想获得硬盘驱动器的尺寸。我发现我需要使用 int 13h 和 ah = 08h。我在wikipedia 上发现它返回如下:
DH 逻辑最后一个头的索引 = number_of - 1(因为索引从 0 开始)
CX [7:6] [15:8] 柱面的逻辑最后索引 = number_of - 1(因为索引从 0 开始)
[5:0] 每个磁道的逻辑最后一个扇区索引 = number_of(因为索引从 1 开始)
问题是我不知道如何仅读取位 [5:0] 以获取每个磁道的最后一个扇区索引,并且与 [7:6][15:8] 相同以获取最后一个气缸索引。如果有人能指出正确的方法或解释如何做到这一点,我将非常感激。
【问题讨论】:
-
我没有任何代码,因为我从头开始,我正在考虑开发某种文件系统。我需要做的是计算这个驱动器中有多少 512 位扇区
-
我认为只要我不知道自己在做什么就没有意义
-
该代码并不难,它只是 5 行代码,可能是 6 行代码
xor ax,ax mov es,ax mov di,ax mov ah,0x08 int 13h和dl在读取引导加载程序时,BIOS 将驱动器号设置为正确的驱动器号 -
从 CX 寄存器中提取部分值是否有问题?
-
@up 是的,这是我的问题
标签: assembly nasm bootloader real-mode