私は楽しみのために 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
あり、=0x1F0
COMMANDPORT
0x07