• 締切済み

アセンブラ言語について

アセンブラ言語について質問です。 数式インタープリタ[INPRIX]に以下のコマンドを追加する。 変数名を再定義する RENAMEコマンド すでに定義されている変数ABを再定義するとき RENAME AB X →変数ABがXに置き換えられる RENAME AB XYZ →変数ABがXYZに置き換えられる すでに定義されている変数名の一部を再定義するとき RENAME A✳︎ XY →先頭文字がAで始まる変数名の部分がXYに置き換えられる RENAME AB✳︎ X →先頭文字がABで始まる変数名の部分がXに置き換えられる ※該当する変数名が存在しないときは何も行わない。 このようなプログラムを教えて下さい。 恥ずかしながら卒業かけての補習なのですが、全く分かりません。 すいませんが、どなたかお願いします。

みんなの回答

  • salsberry
  • ベストアンサー率69% (495/711)
回答No.6

> 卒業かけての補習なのですが、全く分かりません。 卒業できるレベルに達していないってことだから、素直に留年したら?

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.5

1. 数式インタープリタ[INPRIX]というのは講義で作っていったものだと思うのですが、そういうのは同じ講義を受けてた人にしか何の事かわかりません。 2. アセンブラはCPUによって異なりますから、CPUがなんなのかわからなければ答えようがありません。 3. 全く分からないということは講義で学ぶべき事を学んでないわけですから再度講義を受けましょう。その結果、卒業できなくても、それは仕方ない事です。

  • SPROCKETER
  • ベストアンサー率26% (2125/7984)
回答No.4

 アセンブラがわかっていない印象を受けます。  数式インタープリタと書かれていますが、インタープリタとは何かを御存知ですか。命令語を1命令ずつ解釈して実行するエミュレータのようなもので、機械語命令、マクロ命令、BASIC命令など、様々な言語にインタープリタがあります。  RENAMEコマンドの内部プログラムが知りたかったら、ソースリストが公開されていませんかね。公開されていないとしても、このくらいのプログラムがわからないのではちょっと心配ですね。  要するに変数名のラベルを別名に置き換えているだけです。8ビットパソコン時代の話に戻してお話しましょう。  変数名:AB____(6バイト)、【16ビット変数値】合計8バイト変数領域  AB→Xに変換すると、変数名の6バイトが以下のように置き換わる。      X_____(6バイト)、【16ビット変数値】  AB→XYZに変換すると、変数名の6バイトが以下のように置き換わる。      XYZ___(6バイト)、【16ビット変数値】  A*→XYに変換すると、A*****で始まる変数名全てがXY****に置き換わる。  例:ABC,AGF,ASBCD・・・→XYC,XYGF,XYSBCD・・・  AB*→Xに変換すると、AB****で始まる変数名全てがX*****に置き換わる。  例:ABCD,ABAB,ABL・・・→XCD,XAB,XL・・・・  実際にやっているのは、変数領域のラベル名を調べて、置き換え処理をしているだけです。変数値は変更されません。  変数領域の先頭アドレスを習得し、変数のラベル名を順次判定しながら、置き換えて行けば良いだけです。  プログラムはCPUによって違うので書きませんが、初歩の問題ですね。

回答No.3

http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10121939705 ん?マルチ投稿? とりあえず、何処まで出来ていて、何処が分からないのか。 それを教えて頂かないことには回答出来ませんね。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

もちろん前提がまったくないので答えようがないということについては同意しますが>#1, よしんば書いてあったとしても質問者にはほとんど役に立たないという現実はありますな. ここで回答をもらったとして, まさかそれを臆面もなく「自分か考えた」かのように他人に見せるわけにはいかんでしょ? さらにいえば, ここに挙がる回答をベースにしても「ここの回答をベースにした」ことは明言せにゃならんわけで.

  • Tasuke22
  • ベストアンサー率33% (1799/5383)
回答No.1

質問が質問になっていないと思いますよ。 この質問を見て回答が出来るのは、同じ授業を受けている人だけです。 インタプリタをアセンブラで作っているという話なのか? アセンブラは機種依存するけど何のマシンで命令セットの制限はどれか? また、当のインタプリタの内部処理だけど、各種テーブルに色々な定義内容があるはず。 それらのテーブルを開示しないで回答は不可能でしょう。 そのような前提がスポンと抜けているように思います。 まあ、前提を書くだけで文字数不足になるかも、ですね。

関連するQ&A