雑記帳
ここはhideyosiの雑記帳です。テケトーに書き散らしてるだけなので間違っていたりとは普通にしてます。信用度は相当低いことをあらかじめご了承を。またご覧のようにWikiを使ってますが、hideyosi意外は書き込めません。
7: 2005-07-23 (土) 21:26:48 ソース バックアップ No.7 を復元して編集 8: 2005-07-24 (日) 02:23:38 ソース バックアップ No.8 を復元して編集
Line 359: Line 359:
 ;シリンダを求める  ;シリンダを求める
 Q = B ÷ A ÷ 2   ;先に一面のシリンダ数を求める  Q = B ÷ A ÷ 2   ;先に一面のシリンダ数を求める
- c = R ÷ Q + c = R ÷ A - (Q * h)
- +
-あーー! クソ! シリンダの計算がわからん!!! +
- +
 +うん!これでよさそうだぞ!
 +では、これらを実際のアセンブラにするってーと・・・・
 +まずはh。
 + ;h = R ÷ (B ÷ 2) (余りは破棄)だから、
 + PUSH    AX        ;AXには論理セクタ値が入っている。一旦バックアップ。
 + MOV    AX,2880  ;まず、AXに総セクタ数を入れる。
 + MOV    DX,2      ;DXレジスタに2を入れる
 + DIV    DX        ;AX ÷ DX を実行し、商をAXへ。余りをDXへ。
 + MOV    DX,AX    ;AXレジスタの値をDXにコピー
 + POP    AX        ;AXレジスタを元に戻す(論理セクタ値をセット)
 + PUSH    AX        ;もう一回バックアップ。
 + DIV    DX        ;これで、AXにはhの値が入っているはず。
 +ふむ・・・一旦DOSのDEBUGで確認してみよう。
 +・・・あっれえええええ??? 割り算(DIV)がどうしてもうまくいかないぞ??