アセンブリ地獄とは違うんだよ、アセンブリ地獄とは

ホントアセンブリでFDC制御プログラムを書いたときよりも
すっきりしすぎていて、怖いくらいだ。


まぁ前回も書いたが、毎回毎回つまづく人間です。
また今回も例によって、つまづいたのであります。


out8(0x81, (char)(addr & 0x00ff0000) >> 16 );


こんなコードです。これはDMAに読み出したFDの内容を格納するアドレスを設定します。
このコードは32bitアドレスから17bitから24bit辺りを
さくっと取り出し0x81に送るってことです。out8って関数は自作です。
標準で用意されているoutpとかは利用できませんので。


エラーの理由は簡単で、カッコが足りなかったのです。
下に正解を示します。


out8(0x81, (char)( (addr & 0x00ff0000) >> 16 ) );


こうしないと絶対に0になってしまいますよね。
そりゃね、動くわけも無いわけさ。馬鹿ですね、俺。


これでFDの読み込みが出来ました。次はFATの解読コードでも書きますか。
さて、寝るか。