質問するログイン新規登録

Q&A

解決済

2回答

212閲覧

CASLⅡ LDの使い方について質問

yukkemerochi

総合スコア1

CASL

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

0グッド

0クリップ

投稿2025/12/09 13:43

0

0

実現したいこと

caslⅡの構文がいまいち理解できないです。

発生している問題・分からないこと

以下の命令文があり、GR1が0のときはGR2に#0027が入るという認識で間違いないでしょうか?
このときGR1は0のままですか?

該当のソースコード

CASLⅡ

1L1 LD GR2,A,GR1 2A DC #0027 3 DC #F3A5 4

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

..........

補足

特になし

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

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

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

guest

回答2

0

ベストアンサー

CASLII シミュレータを利用すると判りやすいかもしれません。

イメージ説明

以下の命令文があり、GR1が0のときはGR2に#0027が入るという認識で間違いないでしょうか?

はい、上記の画像で表示されているGR2レジスタの値は #0027 になっています。

このときGR1は0のままですか?

GR1レジスタに格納されている値は変更されません。

投稿2025/12/09 15:59

編集2025/12/09 16:00
melian

総合スコア21611

yukkemerochi

2025/12/10 05:36

ご丁寧にありがとうございます😭
guest

0

#の付く値は16進法を示す属性です
DCは値を格納します

A DC #0027

とあればAというラベルの付いたアドレスに16進数の27(2×16^1+7×16^0)を割り当てます
DCはプログラムが走る以前に実行されます

L1 LD GR2,A,GR1

が実行される時には既にDCでマークされたアドレスに値が存在しています
この命令ではAが示すアドレスにGR1に保存される値を足し合わせたアドレスからGR2へ値を複製しています
このようなアドレスの指定方式を指標アドレス指定と呼びます

投稿2025/12/09 15:37

編集2025/12/09 15:38
nanashi123

総合スコア165

yukkemerochi

2025/12/10 05:35

ご丁寧にありがとうございます😭
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.29%

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

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

質問する

関連した質問