3

私は楽しみのために OS を作成しており、ディスクにアクセスするための PATA/IDE ドライバーを作成しようとしていますが、うまくいきません。unsigned char status = port_byte_in(ATAPort + COMMANDPORT);88 (10 進数) の値を返すこの行があります。これは私が間違ったことを示している可能性があり、他の人への参照として、PATA/IDE ステータス コードは何ですか?

私のドライバーは28 ビット PIO PATA/IDE プロセスに従います。

編集 - 明確にするために、ここにport_byte_in機能があります:

unsigned char port_byte_in(unsigned short port) {
    unsigned char result;
    __asm__("in %%dx, %%al" : "=a" (result) : "d" (port));
    return result;
}

ATAPortあり、=0x1F0COMMANDPORT0x07

4

2 に答える 2