● Jul 8, 2001 (Sun) 21:57 - あせんぶら #~~~~ # あー、Z80っぽいですねぇ。 とすると、PUSH/POP は 16ビットロード # 命令ですので、 オペランドは16ビットのペアレジスタを指定します。 AFでペアでしたか.(^^; Z80って,そこらへんがなんかあまり好きではなかったり. x86も,386以前はインデックス指定時のレジスタの組み合わせの 制限が大きくてイマイチだし. ([bx+cx*2+500] とかの指定が出来ないし(^^;) 386になってからそこら辺は使いやすくなったカンジですが‥‥‥. 386で,構造化アセンブラ使ってゴリゴリコード書いてました. で,スレッド自力で実装してみた後,システムコールが リエントラントではないことに気づく罠. % タイマ割り込みで駆動するやつ作ったのに‥‥‥(笑) # もし UNIX系の OSのソースコードを読むチャンスがあったら、 # メモリ管理の一番下で使われてる関数 (sysbrk() とか) を # 鑑賞して欲しいなぁ。 そこには牙を剥き出しにした C言語が # 嬉々としてメモリと格闘する様が書かれております。 OS のコードは・・・(^^; タスク切り替えあたりも複雑そうだし. アセンブラは勉強して,どんなカンジでやってるのかの 想像はだいたいはつきますが,詳細知っても使い道なさそうなので(^^; アセンブラの方は,PS2のVUあたりを勉強したいですねぇ. Linuxキットに資料ついてくるらしいので,それが楽しみです. |
|