基本情報過去問について

このQ&Aのポイント
  • 基本情報技術者試験の過去問について質問です。
  • アセンブラの問題について理解ができません。
  • 午後試験はJavaで受験する予定です。
回答を見る
  • ベストアンサー

基本情報過去問について

こんにちは、2010年10月の基本情報技術者試験を受験して 午後試験で 50.50点だったものです。 趣味でプログラミングをしていて、 Java で以下のサイトを参考にして、同様のゲームを作り、 http://www.crew.sfc.keio.ac.jp/~turkey/packman/ JavaScript でポーカーを再現するくらいです。 現在 暇な時間をみて、7月の同試験の受験に向けて勉強しているのですが、 わからないことが出てきましたので、質問させていただきます。 以下のサイトをみていただきたいのですが・・・ http://www.jitec.jp/1_04hanni_sukiru/mondai_kaitou_2010h22_2/2010h22a_fe_pm_qs.pdf 59ページから62ページのアセンブラの問題なのですが、 以下のサイトで同様の問題はいくつかわかったのですが・・・ http://www.rs.kagu.tus.ac.jp/~infoserv/j-siken/index.html やはり、基本情報の問題は難しいですね。 0に設定していたレジスタを左シフトしながら、右シフトさせ続ける下位ビットとの、 論理和を求めて設定していく、というものだと思うのですが、 言葉の意味もよくわかりません。 (1) 命令語一覧のサイトで見られる、「有効アドレス」と「実効アドレス」   とは同じものなのでしょうか。 (2) プログラム1の3行目、 LD GR4, =0 の「=」は レジスタに 定数0を設定する、 ということでしょうか。 (3) 同 4行目 LAD GR2, 15 は サイトでみてみると、COMETで廃止された、 LEAとほぼ同等の命令、ということですが、 ループする回数の 定数「15」 を設定している、ということでしょうか。 (4) 3行目、4行目の命令の第二引数に 汎用レジスタを指定できるのか、   そして、指定できる場合は、レジスタの内容が設定されるのでしょうか。   また、第二引数に実効アドレスも指定できるのでしょうか。   その場合には、どのような処理になるのでしょうか。   実効アドレスがよくわかっていないのかもしれませんが・・・ 午後試験は、Javaで受験する予定ですが、 ご存知の方、どなたか、教えていただけないでしょうか。 よろしくお願いします。

noname#173931
noname#173931

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

  • ベストアンサー
  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.1

(1) CASLIIでは「実効アドレス」という用語で統一されたはずです。   非公式な個人サイトなどで「有効アドレス」という用語が使われて   いたとしても,「実効アドレス」と同じと捉えてよいでしょう。 (2) はい,そうです。 (3) はい,そうです。 (4) > 3行目、4行目の命令の第二引数に 汎用レジスタを指定できるのか、 質問文に提示された公式サイトの過去問題冊子のp.75~p.77「アセンブラ言語の仕様」を参照のこと。オペランドが「r1, r2」の形式を認めているのは次の命令だけです。   LD, ADDA, ADDL, SUBA, SUBL, AND, OR, XOR, CPA, CPL > 指定できる場合は、レジスタの内容が設定されるのでしょうか。 はい,そうです。 > 第二引数に実効アドレスも指定できるのでしょうか。 はい,オペランドが「r, adr」「r, adr, x」の形式はどちらも実効アドレスを指定しています。 ------------------------ 質問者は,CASLIIの文法や概念の基本が分かっていない状態と言えるように思いました。 ちなみに質問者ご自身は,Javaや JavaScriptの文法や概念の基本が分かっていない者に対してどのようなアドバイスをなさいますか。 私なら,ネットサーフィンで玉石混淆の雑多な情報を浴びるよりも,まとまった入門書を一冊購入して勉強した方がずっと理解が早いですよ,とアドバイスします。 旧CASLからCASLIIに変わった当時,10年以上前のコンテンツでもかまわないのなら。 http://www.jjon.com/jitec/casl/caslindex.html 上記リンク先の「第2回:LAD命令,比較演算,分岐,加算/減算」をご覧いただければ,CASLIIの命令が実効アドレスをどのように扱うか理解できるかもしれませんし, 「第9回:命令の確認」をごらんいただければ,さまざまな値の与え方が理解できるかもしれません。

noname#173931
質問者

お礼

いつも回答していただき、ありがとうございます。 ご指摘の通り、入門書を買ったほうが理解が早まるかもしれません。 とりあえずは、教えていただいたサイトを参考にさせていただきたいと 思います。 貴重な時間をさいての回答、ありがとうございました。

関連するQ&A

  • アドレス指定モード(基本情報処理試験)について

    基本情報処理試験本の中に出てくる、「アドレス指定モード」即値アドレス指定、レジスタアドレス指定、ベースアドレス指定、等々、知識としてはよく解るのですが、実際のところ、どれを使ってコンピュータは計算しているのでしょうか。

  • メモリアドレスレジスタについて。

    メモリアドレスレジスタの説明について、テキストには、「命令が処理対象とするアドレス(実効アドレス)は、メモリアドレスレジスタで計算される。」とありますが、全く分かりません。 噛み砕いて教えて頂けないでしょうか?

  • 基本情報 過去問について 

    こんにちは、2010年10月の基本情報技術者試験を受験して 午後試験で 50.50点だったものです。 趣味でプログラミングをしていて、 JavaScriptでポーカーを再現し、 同じくJavaScriptで音声は出ませんが、 http://sdin.jp/browser/casino/blackjack/ と同様の動作をするブラックジャックを作るくらいです。 ( CGI, サーバーのことはよくわかりません。) 現在 暇な時間をみて、4月の同試験の受験に向けて勉強しているのですが、 わからないことが出てきましたので、質問させていただきます。 以下のサイトをみていただきたいのですが・・・ http://www.rs.kagu.tus.ac.jp/~infoserv/j-siken/H12b2/pm03.html 問3について質問させていただきたいのですが、 正直申しまして、問題の意味がよくわからないでいます。 いくつか教えていただきたいのですが… (1)   「局所変数をスタック領域に割り当て」、   「スタックは上位アドレス(番地の大きいほう)から   下位に向かって使用される」とありますが、   スタックポインタが図で見て、下位アドレスの位置にある、   ということは、スタックの下位(小さい番地)から   データが取り出される、ということでしょうか? (2)   原子プログラム1の先頭で s が宣言されていますが、   大域変数であり、データ領域に割り当てられるので、   スタックには格納されない、ということで   よろしいでしょうか? (3)   問題文中の「コード領域」、「スタック領域」、   「データ領域」というのは、コンピュータ上の   どこにあるものなのでしょうか? (4)   問題文中の「原子プログラム1」は主たる関数   ともいうべきもので、「原子プログラム2」は   その補助的な関数ということでしょうか? お手数ですが、どなたか教えていただけないでしょうか? よろしくお願いします。

  • コンピュータアーキテクチャの問題です

    (1)レジスタ、メモリに初期状態が以下表である時 レジスタ GR0 7 GR1 2 番地 データ 100 10 110 8 120 3 5÷3の計算を行うための一連の命令をニーモニック表現で示せ 値はすべて10進数とする。 ただし以下の3条件に従うこと 1.最初の命令をLI1、100とする 2.計算結果は120番地に格納すること 3.最低1回は命令でXRを指定すること。 (2)ハードウェア障害によってGR2とメモリの120番地が使用不能となったものとして、5÷3の計算を行うための一連の命令をニーモニック表現で示せ。 初期状態は(1)の開始時と同様とし、(1)とはことなり最初の命令は制限がない。 計算結果は110番地に格納すること。 という問題ですがわかる人教えてください。よろしくお願いします

  • 基本情報 過去問 スケジューラについて

    こんにちは、2010年10月の基本情報技術者試験を受験して 午後試験で 50.50点だったものです。 趣味でプログラミングをしていて、 JavaScriptでポーカーを再現し、 同じくJavaScriptで音声は出ませんが、 http://sdin.jp/browser/casino/blackjack/ と同様の動作をするブラックジャックを作るくらいです。 ( CGI, サーバーのことはよくわかりません。) 現在 暇な時間をみて、4月の同試験の受験に向けて勉強しているのですが、 わからないことが出てきましたので、質問させていただきます。 以下のサイトをみていただきたいのですが・・・ http://www.rs.kagu.tus.ac.jp/~infoserv/j-siken/H12a2/pm03.html 問3を 図を描きながら解いてみて、答えあわせをしたところ、 (b) の正解が、ページ内のセレクトボックスで参照できるとおり (カ) であるところを、(オ)と答えてしまいました。 それ以外は合っていたのですが、自分の描いた図に間違いがあるのでは・・・ そして、ということは、それいがいのところも、 たまたま正解しただけなのでは・・・と思ってしまうのですが、 図のどこが悪いのかわからないでいます。 見にくい図ですが、添付しましたので、見ていただいて、 どこが悪いのか指摘していただけないでしょうか。 よろしくおねがいします。

  • 基本情報技術者試験 過去問について

    こんにちは、2010年10月の基本情報技術者試験を受験して 午後試験で 50.50点だったものです。 趣味でプログラミングをしていて、 JavaScriptでポーカーを再現し、 同じくJavaScriptで音声は出ませんが、 http://sdin.jp/browser/casino/blackjack/ と同様の動作をするブラックジャックを作るくらいです。 ( CGI, サーバーのことはよくわかりません。) 現在 暇な時間をみて、4月の同試験の受験に向けて勉強しているのですが、 わからないことが出てきましたので、質問させていただきます。 以下のサイトをみていただきたいのですが・・・ http://www.rs.kagu.tus.ac.jp/~infoserv/j-siken/H11a2/pm03.html 問4の 設問2がよくわからないのですが・・・  正解は ウ なのですが、  ここで、記述されている 「正常値については、戻り値を求める 4 種類の計算式が   正しいかどうかを確認するデータ」  とはこの問題の場合ではどのようなデータになるのか、  例をしめしていただけないでしょうか。    設問1 のブラックボックステストのデータとどのように異なるのか、  教えていただけないでしょうか?  参考書などには、ホワイトボックステストの種類として  「命令網羅」  「分岐網羅(判定条件網羅)」  「分岐条件網羅(条件網羅)」  「複数条件網羅」  とありますが、自分の頭の中では  「条件を網羅すること」と、「計算式が正しいかどうか確認すること」  がうまく理解できません。 どなたか教えていただけないでしょうか よろしくお願いします。

  • 基本情報技術者試験の過去問について

    こんにちは、2010年10月の基本情報技術者試験を受験して 午後試験で 50.50点だったものです。 趣味でプログラミングをしていて、 JavaScriptでポーカーを再現し、 同じくJavaScriptで音声は出ませんが、 http://sdin.jp/browser/casino/blackjack/ と同様の動作をするブラックジャックを作るくらいです。 ( CGI, サーバーのことはよくわかりません。) 現在 暇な時間をみて、4月の同試験の受験に向けて勉強しているのですが、 わからないことが出てきましたので、質問させていただきます。 以下のサイトをみていただきたいのですが・・・ http://www.rs.kagu.tus.ac.jp/~infoserv/j-siken/H11a2/pm03.html 問4の 設問2がよくわからないのですが・・・  正解は ウ なのですが、  ここで、記述されている  「正常値については、戻り値を求める 4 種類の計算式が   正しいかどうかを確認するデータ」  とはこの問題の場合ではどのようなデータになるのか、  例をしめしていただけないでしょうか。    設問1 のブラックボックステストのデータとどのように異なるのか、  教えていただけないでしょうか?  参考書などには、ホワイトボックステストの種類として  「命令網羅」  「分岐網羅(判定条件網羅)」  「分岐条件網羅(条件網羅)」  「複数条件網羅」  とありますが、自分の頭の中では  「条件を網羅すること」と、「計算式が正しいかどうか確認すること」  がうまく理解できません。 どなたか教えていただけないでしょうか よろしくお願いします。

  • 基本情報技術者試験の過去問について

    こんにちは、2010年10月の基本情報技術者試験を受験して 午後試験で 50.50点だったものです。 趣味でプログラミングをしていて、 JavaScriptでポーカーを再現し、 同じくJavaScriptで音声は出ませんが、 http://sdin.jp/browser/casino/blackjack/ と同様の動作をするブラックジャックを作るくらいです。 ( CGI, サーバーのことはよくわかりません。) 現在 暇な時間をみて、4月の同試験の受験に向けて勉強しているのですが、 わからないことが出てきましたので、質問させていただきます。 以下のサイトをみていただきたいのですが・・・ http://www.rs.kagu.tus.ac.jp/~infoserv/j-siken/H11a2/pm03.html 問4の 設問2がよくわからないのですが・・・  正解は ウ なのですが、  ここで、記述されている   「正常値については、戻り値を求める 4 種類の計算式が   正しいかどうかを確認するデータ」  とはこの問題の場合ではどのようなデータになるのか、  例をしめしていただけないでしょうか。    設問1 のブラックボックステストのデータとどのように異なるのか、  教えていただけないでしょうか?  参考書などには、ホワイトボックステストの種類として  「命令網羅」  「分岐網羅(判定条件網羅)」  「分岐条件網羅(条件網羅)」  「複数条件網羅」  とありますが、自分の頭の中では  「条件を網羅すること」と、「計算式が正しいかどうか確認すること」  がうまく理解できません。 どなたか教えていただけないでしょうか よろしくお願いします。

  • インデックスアドレス指定方式とベースアドレス指定方式の違い

    アドレス指定方式(アドレシング)についての質問です。 タイトルの通り、インデックスアドレス指定方式とベースアドレス指定方式の違いを教えていただきたいです。 参考書などでは、 ●インデックスアドレス指定方式 ・命令の番地部とインデックスレジスタの値を加算した値を有効アドレスとする ・インデックスレジスタの内容を変えるだけで別なアドレスの内容が参照できる ●ベースアドレス指定方式 ・命令の番地部が指定するアドレスに、ベースレジスタの内容を加算した値を有効アドレスとする ・ベースレジスタの値を変えるだけでプログラムが主記憶装置のどこからでも実行できる(再配置可能) となっています。 有効アドレス=番地部のアドレス+レジスタの値 となるのが同じで、基準となる値がインデックスアドレス指定方式のほうでは命令の番地部であり、ベースアドレス指定方式のほうはベースレジスタの値、ということまではわかったのですが、この「基準」が違うことでどういう違いがあるのか、具体的にどういう場合にどちらの方式が使われるのかがわかりません。 ベースアドレス指定方式の「再配置可能」という部分もどういう仕組みなのか、よくわからないです。 ご回答、よろしくお願いいたします。

  • 非常に限定された条件での8バイト加算

    アセンブリプログラム上で16ビット同士を加算したいと考えています。 ただ、非常に条件が限定されていて、 【簡単な構成について】 ・レジスタは8ビットAレジスタ一つのみ ・8ビット演算器(ALU)は一つのみ ・条件コードはZフラグのみ(ただし、書き換わるのは命令7.、8.でのみ) 【使える命令】 1.Aレジスタに即値をロード 2.Aレジスタに指定アドレスのデータをロード 3.Aレジスタから指定アドレスにストア 4.無条件分岐 5.Aレジスタand即値=0ならば分岐 6.Aレジスタor即値=0ならば分岐 7.Aレジスタと即値のandをとって書き戻し 8.Aレジスタと即値のorをとって書き戻し 9.Aレジスタと即値を加算して書き戻し a.Aレジスタと指定アドレスのEORをとって書き戻し b.Aレジスタと指定アドレスのデータを加算して書き戻し c.間接アドレスのデータをAレジスタにロード d.Aレジスタの内容を間接アドレスにストア e.Aレジスタから即値を減算して書き戻し f.Aレジスタから指定アドレスデータを減算して書き戻し 普通に考えるならば、下位8ビット同士の加算、上位8ビット同士と下位8ビットのキャリーを加算すれば出来ます。 しかしながら、この限定された条件に於いてはなんらかの自由に使えるフラグ、もう少し汎用的に使える分岐命令が無ければ無理だと個人的には考えています。 出来るか、出来ないか、だけでも結構ですので、ご教授お願いします。

専門家に質問してみよう