アセンブリ地獄とは違うんだよ、アセンブリ地獄とは
ホントアセンブリでFDC制御プログラムを書いたときよりも
すっきりしすぎていて、怖いくらいだ。
まぁ前回も書いたが、毎回毎回つまづく人間です。
また今回も例によって、つまづいたのであります。
out8(0x81, (char)(addr & 0x00ff0000) >> 16 );
こんなコードです。これはDMAに読み出したFDの内容を格納するアドレスを設定します。
このコードは32bitアドレスから17bitから24bit辺りを
さくっと取り出し0x81に送るってことです。out8って関数は自作です。
標準で用意されているoutpとかは利用できませんので。
エラーの理由は簡単で、カッコが足りなかったのです。
下に正解を示します。
out8(0x81, (char)( (addr & 0x00ff0000) >> 16 ) );
こうしないと絶対に0になってしまいますよね。
そりゃね、動くわけも無いわけさ。馬鹿ですね、俺。
これでFDの読み込みが出来ました。次はFATの解読コードでも書きますか。
さて、寝るか。