我正在编写一个16bit的小型操作系统,只是为了好玩,我想知道如何逐个扇区地读取磁盘。
我理解以下图片:
我也知道INT 13h
:
AH = 02
AL = number of sectors to read (1-128 dec.)
CH = track/cylinder number (0-1023 dec., see below)
CL = sector number (1-17 dec.)
DH = head number (0-15 dec.)
DL = drive number (0=A:, 1=2nd floppy, 80h=drive 0, 81h=drive 1)
ES:BX = pointer to buffer
但鉴于我在X区,我该如何计算所需的头/圆柱/扇区?此外,我不想将代码限制为1.44 MB软盘。该代码也适用于其他设备。