HOME»基本情報技術者試験掲示板»平成29年春期午後問12
投稿する

平成29年春期午後問12 [2382]

 みーかさん(No.1) 
すでに関連する質問と回答がありますが書き込めないのでお尋ねします。

27行目 LD GR1,GR3

なのですが、
一番最初だとGR3番地に0が入っているので、この値をGR1にコピーしてしまいました。

こちらの設問3の解説でもGR3と続く4語に0が格納されている表がありますが、問題を解く際、同じものを書いており、ついGR3番地というアドレスの値をロードすればいいと考えたのです。

それが誤りだということは分かるのですが、理由が今ひとつ腑におちません。
自分が間違った理由を教えてほしいというのもおかしいですが、助言がほしいです。

自分では“GR3”が何を意味しているのかを見誤ったと考えています。

LD命令はオペランドにレジスタとアドレスの両方を指定できるかと思いますが、
この0という値はアドレスではないのでADD 64を行うのに使えないことから、或いは説明文にGR3の内容は先頭アドレスとあるので、先頭アドレスを格納するレジスタとして判断しなければならなかった、ということでいいでしょうか。

また、ADD 64を呼び出すのに、この行だけオペコードがLADではなくLDな理由も分かりません。LAD GR1,GR3ではダメなのでしょうか。

このように書いていても混乱してきてうまく説明もできず申し訳ありません。
通常こういう間違いはしないものでしょうか?

分かりにくいと思いますがどなたかご指導願えればと思います。
2020.07.29 16:08
メタルさん(No.2) 
FE ブロンズマイスター
LD命令がレジスタの値か?
レジスタの値が示す、アドレスの中の内容か?

区別する方法は、オペランド(レジスタや計算する変数)の数を見て区別します。
LD GR0,GR1 ;これだと値がはいります。
LD GR0,0,GR1;これだとアドレスにある内容がはいります。
つまりオペランド二つで二つ目がレジスタの場合、レジスタの値が入ると覚えておいてください。
2020.07.29 19:00
メタルさん(No.3) 
FE ブロンズマイスター
>> LAD GR1,GR3ではダメなのでしょうか。
シュミュレーターだとエラーになりましたね。
その命令は不可能なんですね。

実際にパソコンでcasl2シュミュレーター使って、いろいろ試してみください。
Googleで検索したらWEB上で動くものもあります。
とにかく、LDとLADがどうやったら値が入って、
どうやったらアドレスがはいるか、いろんなパターンを区別できるように覚えて下さい。
2020.07.29 19:07
メタルさん(No.4) 
FE ブロンズマイスター
chiba-fjb.ac.jpのシュミュレーターがおすすめ。
2020.07.29 19:09
 みーかさん(No.5) 
メタルさん

文法からすぐ分かるのですね
言われてみるとなぜ思い悩んだのか不思議になってきました
基本的なことにまだまだ慣れていないようです…

シミュレータの情報助かります!
CASL2で受ける人はVBなどで慣れなさいと言われましたがそういうものがあるのですね
実際に動かすことが出来れば分かりやすそうですね

頑張ってみます
どうもありがとうございました!
(この質問へのリンク消してしまったみたいです泣)
2020.07.30 15:44
メタルさん(No.6) 
FE ブロンズマイスター
どういたしまして。
やりやすいシュミュレーター見つけて頑張ってください。
2020.07.30 18:47
返信投稿用フォームスパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。
© 2010- 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop