07/04/12 15:55:32
68000の本をみても二段構えの間接アドレス指定が見つからなかったので
エクステンドインダイレクトは6809だけの異端技かと思い込んでたけど
つい最近フリースケールで昔のモトローラのマニュアルのpdfがあったので
ダウンして読み始めたら、68020以降はちゃんと
メモリインダイレクト・ポスト(またはプリ)インデックスド
プログラムカウンタインダイレクト・ポスト(またはプリ)インデックスド
ていうものすごく複雑な間接アドレッシングが復活してたので感動した
単に自分が20年間知らなかっただけのことだけど。
ネットで検索したら、F-BASIC(3.0)のROM-BIOSを呼ぶ時は
JSR [$FBFA] ;中身は $F17D ←実際のエントリ(v3.0のROMの場合)
を使えみたいなアドバイスがあって、これが間接アドレスの用途なのかと納得
でも、F-BASIC自体を解析してたら
00DE 7E F1 7D JMP $F17D
実際に呼ぶ場所はたとえば
D824 9D DE JSR <$DE ;DPRは$0なので$00DEをコール
となってて間接アドレッシングを使ってなかった。。。フック準備用かな?
他の石(Z80等)でもleaとかで分ければ同じことを実現できるから
一命令でアドレスバス2回アクセスできます!的なメリットは無意味なのかも
(今頃、懐古&勉強中の)読みにくい長文ですみません