090302

|



机の引き出しの取手部分を切削する治具を作りました。簡単なものなのに試作
の切削で失敗を繰り返してしまった。うっかりして治具まで削ってしまって作
り直したり。


ちょっと切り込み深くし過ぎたと思ったらモーター火吹いた。そろそろ代替機 を用意しておいてもいいかなとマキタの3707F を道具道楽 で注文。トリマ作業は 仕上面の綺麗さが欲しい作業だ。となると、できるだけ高回転がいいと思うの で35000rpmの3707F(電子制御の3707FCだと26000rpm)。重量も1.2kgと軽い。

x86リセットから。
アドレス0xfffffff0から命令を実行する。
最初のセグメント間ジャンプあるいはCALL命令が実行されるとアドレスライン
A20-A31はCD相対メモリサイクルではLOWにドライブされ、物理メモリの下位の
1Mバイトの命令だけを実行する。これによってシステムを初期化するために物
理メモリの一番上位のROMを使用できる。


セグメント間を移行しなければハードウェアサポートで、上位空間での実行に
なる。セグメント間移行をするとCSは0xf000に、EIPは0xfff0に初期化されてい
るので、リアルモードとなる。

セグメント間移行をするまでに保護モードまでのお膳立てをすれば(上位64KB
の中で)保護モードから出発もできる設計
ここからはPC/ATについて。
ターゲットのストレージの最初の1セクタ(512byte)の510byteからが0xaa55なら
ブートセクタとして0x7c00にロードする。
7c00はCS:IP=(0:0x7c00)と(0x7c0:0)の2パターンがあるのでljmpして
CS:IPを想定した位置に再設定すると確実。
JMP addr
 EA  kk jj hh gg
kk IPの下位8bit
jj IPの上位8bit
hh CSの下位8bit  JMP命令が自動的にCSレジスタにロードする。
gg CSの上位8bit