• ベストアンサー

STH命令

次の命令はどういう処理でしょうか。 STH 5,60(4,2) 5番レジスタの内容を、ベースレジスタ2にインデックスレジスタ4のデータを加算しさらに60バイト加算して求めた主記憶装置のアドレスに格納するのでしょうか。 60(4,2)は主記憶装置のアドレスですか?

質問者が選んだベストアンサー

  • ベストアンサー
  • terra5
  • ベストアンサー率34% (574/1662)
回答No.2

>命令の意味はこれでいいのでしょうか。 手元にも、会社にもマニュアル類が無いので、多分としか言えません(^^; 大型汎用機関係の情報って検索しても、ほとんど見付からないですし。 私は昔、前の会社で富士通のマシンで開発してました。 Cで作ったプログラムのデバッグでアセンブラを読む必要があったので見てたぐらいで、 当時もマニュアルを見ないとほとんどわからなかったぐらいで。 それがあるアセンブラのソースの一部なら、 そう仮定して読んでつじつまがあうかどうかで 検討がつくと思います。 ところで、これだけ具体的な内容の質問ができるということは、 なんらかの知識があるか、手元のそれなりのマニュアル等があるからだと思いますが。 もう一度調べてみては。

konnyaku
質問者

お礼

STH 5,60(4,2) ベースレジスタ2とインデックスレジスタ4の内容を加えて変位の60を加えて求められた番地にストアするようです。ありがとうございました。

その他の回答 (1)

  • terra5
  • ベストアンサー率34% (574/1662)
回答No.1

この種の命令はCPUによりますから、何のCPUのニーモニックか判らなければ正確にはわかりません。 多分,書いてあるような動作だろうとは思いますが。 理由は、STHの名前から想像するにStore命令。 Storeという命令を待つCPUの場合、Storeはレジスタの内容をメモリに入れる命令のことが私の経験上多い。 レジスタを単なる数字で表現し,数字だかレジスタだかよくわからないニーモニックは、昔大型汎用機のアセンブラで見覚えがあって、 それがベースレジスタ、インデックスレジスタ等のアドレッシングを持っていたような記憶がある。 Hはhalf wordのHかも知れない。 >60(4,2)は主記憶装置のアドレスですか? 主記憶でなければどこだと思いますか? 仮想記憶が有効な状態で仮想アドレスという可能性はあるでしょうが、まあ主記憶上と考えて良いでしょう。 めんどうなので、キャッシュは考慮しません。 まあ、これもCPUによるでしょうけど。

konnyaku
質問者

補足

レスありがとうございます。大型汎用機です。確かにHは "halrword" です。命令の意味はこれでいいのでしょうか。

関連するQ&A

専門家に質問してみよう