• ベストアンサー

図面で分かると更に助かります。

再配置可能状態のプログラムルーチンは、 ベースレジスタに依存しているのでしょうか?

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

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

はい,そうです。 キーワード「ベースレジスタ 再配置可能」でGoogle画像検索して,2番目にヒットするのがこちら。 http://mt-net.vis.ne.jp/images/499/FEH14S_19_a3.gif http://mt-net.vis.ne.jp/ADFE_mail/0499.htm

littlekids
質問者

補足

有り難う御座います。 相対アドレス指定方式が適用されている場合にも、 再配置が有効になるのですね。 因みに、私には技術者向けのカテゴリーへの投稿の資格が無いのかも知れませんが、下記のページにも投稿を続けましたので、 其処でも御教授を賜われますと、幸甚に存じます。 http://okwave.jp/qa/q7734488.html

関連するQ&A

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

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

  • レジスタの種類について

    こんにちは、前回はありがとうございました 説明に ebx レジスタはベースレジスタ、ebp レジスタはベースポインタと書かれています 別の説明に、ベースレジスタとベースポインタは同じ意味と書かれていています これでは ebx と ebp が同じものになってしまいます それぞれの呼び方と役割を教えてください よろしくお願いします

  • 恰好が悪いのですが、伺います。

    再入可能状態のプログラムルーチンが呼び出されている間には、 プロセス毎に使える領域が割り当てられている、 との主旨の説明を見掛けました。 但し、「複数回に渡って呼び出されたプログラムルーチンには、共有ロックが掛けられている。」との回答を別の質問ページで賜れましたので、 残念乍ら、私の誤解が残っているのだろう、と思われます。 従いまして、早急に分かりませんと、たとえ多くの参考書を読み耽りましても、 徒労に終わり兼ねませんから、畏れ入りますが、教えて下さい。 ★「プロセス毎に使える領域の『占有ロック』」が、 "再入可能プログラムルーチン"によって叶えられ得るのでしょうか?

  • R8Cマイコンでprintfを使いたい

    R8C/Tinyシリーズのマイコン(R5F21324)の評価ボードを動かしています。そこでレジスタの値(HEX)を10進(DEC)でコンソールに出力させたいと思っていますがうまくいきません。 コンソール出力にprintfを使おうとしていますが、全く出力されません。シリアル出力のレジスタをたたくとbyte単位でコンソール出力されますので、mainルーチンは動いていますし、シリアル通信も問題ありません。printfの関数だけが動かないのです。 単純に #include <stdio.h> int val; ・・・・・ printf("%d\n",val); ・・・・・ といったようなプログラムなのですが。。。 何か特殊な事が必要なのでしょうか?

  • 初心者!!手早く図面を書きたい!!

    友人が引越しする為、物の配置など図面に描きたいのですが何か良いフリーソフトがあるでしょうか。 出来る限り正確に表現したいのですが・・・・・ 何分知識がない為、CADなど機能が十分すぎても扱えないと思います。 また引越しも間じかに迫っている状態です。 こちらの勝手な要望ですが、お知恵越貸してください。 宜しくお願いします。

  • アプリケーション・ディレクトリの構成

    lampを使って、以下のようなディレクトリ構成で アプリケーションを開発しています。 /webapps |---- /php phpプログラムを配置 |---- /base phpソースが読込むhtmlを配置 |---- /lib 各種ライブラリを配置 |---- /css CSSを配置 |---- /image 画像を配置 |---- /js Javascriptを配置 /php にあるphpプログラムは、単純にいうと 以下のようになっています。 ---- /php/test.php --------------------- <?php // 処理プログラムを記述 require('/base/test.tphp'); // HTMLベースのファイル ?> --------------------------------------- 上記のようにやるのは、 デザイン部分とプログラムのソースの部分を別にしたいからなのですが、 これをやると現在 http://ドメイン/base/test.tphp としても、アクセスできてしまいます。 test.tphpに、以下のような記述があった場合 <input type="text" name="login_cd" value="<?=$_REQUEST['login_cd']?>"> 画面に<?=$_REQUEST['login_cd']?> が表示され セキュリティ上、好ましくないと思うのですが、 現在のパーミッション baseディレクトリ ・・・ 744 test.tphp ・・・ 744 をそれぞれ、700に変更すると、 test.phpのrequire()関数の箇所で エラーになってしまい、 思うようなアクセス制御がかけられません。 プログラムファイルとデザインファイルを分離して、 デザインファイルにアクセスできないようにするには、 http://ドメイン/base/ 以下にアクセスしたときに、 エラー画面などにリダイレクトさせるように、 apache側で制御を掛けるしか方法はないのでしょうか? 他の方法をご存知の方がいましたらご教授ください。 以上、宜しくお願いいたします。

    • ベストアンサー
    • MySQL
  • JAVAアプレットについて

    JAVAアプレットとはJAVAで作成したWebベースでないプログラムと考えてよろしいですか? プラットフォームに依存しないWindowsベースのVBのイメージで考えているのですが 間違っていませんでしょうか? なかなかイメージできずにおります。 VB6.0、2005などの開発経験はあります。 もしよろしければ教えて頂けませんか? よろしくお願い致します。

    • ベストアンサー
    • Java
  • PIC16F193X割り込み時の退避・復帰処理方法

    ICマイコンでの割り込み処理について、16F193Xの型番では割り込み発生時における退避・復帰が自動的に行われると認識しているのですが、下記型番では以前の様に wレジスタ、status,PCLATh等のレジスタを退避・復帰をプログラムで保存しておく必要がなくなったということでしょうか? 使う割り込みはタイマー割り込み(timer0)とし、割り込処理中の割り込みは禁止とした場合 因みに割り込みは以下の様に発生させ ////////////////////////// org   0 goto start org 4 goto INTLAP ////////////////////////// INTLAP BCF INTCON,2 INCF TES_CNT,1 RETFIE 割り込み処理中にTES_CONのレジスタ内容をPORTAの出力pinをオシロスコープで観察できる簡単なプログラムで走らせると動作していることが確認できましたが、退避・復帰が行われているかは不明です。 他に自動退避・復帰を確実に実行するためのプログラム等の操作を怠っていないでしょうか? 初心者で認識が誤っていないのか判断が出来ません。 対象型番 PIC16F1933 ? PIC16F1934? PIC16F1936 ? PIC16F1937? PIC16F1938 ? IC16F1939 PIC16F193X/LF193Xデータシート記述より(P71,72) 〇「このデータシートに記載されているデバイスRETFIE 命令では、割り込み前に実行していたアドレスをスタックから取得し、シャドウ レジスタから保存した内容を回復し、GIE ビットをセットすることによって、ISR から通常動作に復帰します。」 内容保存機能 〇「割り込み動作に遷移する際、復帰時の PC アドレス値がスタックに保存されます。また、次に示すレジスタ値も自動的にシャドウ レジスタに保存されます。 ・W レジスタ ・ ステータス レジスタ (TO および PD を除く) ・BSR レジスタ ・FSR レジスタ ・ PCLATH レジスタ 割り込みサービス ルーチンから通常動作に戻るとき、自動的にこれらのレジスタ値が回復されます。 とあります。

  • switch文

    switch文を使って、コンピュータとジャンケンをするプログラムを作らなくてはいけません。 c++です。 まず、ダイアログベースで作っています。グー,チョキ、パーのボタンを配置しました。 このあとボタンを押したときにコンピュータとじゃんけんをしたいのですが、プログラム文をどのようにかいたらいいのかわからないので教えてください。

  • ハイパースレディングのレジスタについて

    ハイパースレディングのレジスタについて ハイパースレッデイングのCPUで2つのスレッドA,Bを動かすとする。 このときAの実行状態を示す汎用レジスタやプログラムカウンタと     Bの実行状態を示す汎用レジスタやプログラムカウンタの扱いはどうなのでしょうか。 次の2つの方法が考えられる。 (1) レジスタのロード、実行、レジスタのセーブを繰り返す方法。     CPU内に高速なメモリを持ち、実行前にレジスタに値をロードして、命令を実行して、レジスタの値を保存を繰り返して、A,Bのスレッドを実行する方法。 (2) A用のレジスタとB用のレジスタを2組用意して、相互に切り替えながら実行する方法。     Aを実行するときはA用のレジスタを使用して、Bを実行するときはB用のレジスタを使用する方法。 の2つが考えられるが、それとも他の方法があるのでしょうか。 それに関連して、1度に実行する機械語命令の個数はいくつなのでしょうか。 スレッドAの機械語命令を実行して、切り替えてBの機械語命令を実行するときに、 Aの1命令を実行してから、Bの1命令を実行する。1命令毎に切り替えるのでしょうか、 それともAの数個の命令を実行してから、Bの数個の命令を実行するのでしょうか。 このときスレッドを切り替える際に1度に実行する機械語命令の個数はいくつでしょうか。 ご存知の方がおりましたら、教えて下さい。

専門家に質問してみよう