質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
アセンブリ言語

アセンブリ言語とは、機械語を人間にわかりやすい形で記述した低水準言語です。

CASL

CASLは、情報処理技術者試験のプログラミング能力試験のために独自に開発されたアセンブリ言語です。架空の演算装置であるCOMETに対応可能。2001年からはCASLIIが後継として利用されています。

基本情報技術者

基本情報技術者とは、経済産業省が行う国家資格「情報処理技術者試験」の区分の一つです。試験ではプログラマーやシステムエンジニアなどIT業界で働くために必要とされる基礎知識や情報処理において論理的な考え方ができるか等が問われ、企業から高い評価を獲ることができ、IT業界の入門的な資格として人気があります。

Q&A

解決済

1回答

1570閲覧

CASLⅡ LD命令でインデックス修飾アドレッシングを使った時の処理について

Yashy

総合スコア14

アセンブリ言語

アセンブリ言語とは、機械語を人間にわかりやすい形で記述した低水準言語です。

CASL

CASLは、情報処理技術者試験のプログラミング能力試験のために独自に開発されたアセンブリ言語です。架空の演算装置であるCOMETに対応可能。2001年からはCASLIIが後継として利用されています。

基本情報技術者

基本情報技術者とは、経済産業省が行う国家資格「情報処理技術者試験」の区分の一つです。試験ではプログラマーやシステムエンジニアなどIT業界で働くために必要とされる基礎知識や情報処理において論理的な考え方ができるか等が問われ、企業から高い評価を獲ることができ、IT業界の入門的な資格として人気があります。

1グッド

1クリップ

投稿2020/03/20 04:43

編集2020/03/20 04:45

実行結果としてGR20043が格納される理由がわかりません。

LD命令で第2項のHEXと第3項のGR1を加算した結果から実行アドレスを読み込んで、その値をGR2に格納するという認識しています。
ですがHEXは'0123456789ABCDEF'なので16文字を1語ずつ分けて、文字コードとしてメモリに格納されているので、上記の認識だとどのようにして処理がなされているのか理解できませんでした。
そもそも、この場合第二項に複数のメモリをオペランドとして指定してないのでしょうか?

CASLⅡ

1PRG000 START 2 RPUSH 3 LAD GR1,#000C 4 LD GR2,HEX,GR1 5 RET 6DATA DS 1 7HEX DC '0123456789ABCDEF' 8 END

実行環境は以下のシュミレーターです
http://www.chiba-fjb.ac.jp/fjb_labo/casl/casl2.cgi

ご回答よろしくお願いします。

YuMo_tea👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2020/03/20 05:42

で、あなたはGR2にどういうデータが入ると思ってるのでしょうか
Yashy

2020/03/20 07:00 編集

コメントありがとうございます。 エラーになると考えていました。 質問の中に自分の予想も書いた方がより回答しやすくなると勉強になりました。
guest

回答1

0

ベストアンサー

LD命令で第2項のHEXと第3項のGR1を加算した結果から実行アドレスを読み込んで、その値をGR2に格納するという認識しています。

表現が微妙で合ってるのかどうか判断つきません。理解と結果が異なるということなら、理解が間違っているのでしょう。

この命令では、GR2に「HEX番地アドレス+GR1の値」の番地のメモリ内容を読み込みます。

GR1は12ですから、HEX番地から0を起点として12番目の内容は文字Cなので、その文字Cが入ります。文字コードだと0043です。

投稿2020/03/20 04:51

otn

総合スコア84533

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Yashy

2020/03/20 07:06 編集

ご回答いただきありがとうございます! 頂いた回答を元に考えたところ理解することができました! 私が理解できていなかった部分は「オペランドにラベルを指定したとき、プログラミングの段階では具体的な値(アドレス)を決定できない。機械語に変換された段階でアドレスが決まる。」という点です。 今回の場合ですと、「HEX番地の先頭が指定されていた」ということだったのですね。 基本情報に向けて頑張ります!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問