• ベストアンサー

CASLIIについて

行 ラベル 命令 オペランド 01     LD  GRO、=0 02     LD  GR1、=10 03 L1  SUBA   GR1、=1 04     JMI   OWARI O5     LD   GR2、DATA、GR1 06 L2   JZE   L1 O7     JPL   L3 08     ADDA  GRO、=1           09 L3   SLL   GR2、1           10     JUMP  L2 11 OWARI  ST   GRO、ANS 12     RET 13 DATA  DC      ‘TOKYOOSAKA‘ 14 ANS  DS    1    15     END この文で、5行のLD GR2 DATA GR1に14行目を入れるとGR2は、‘A‘が入ると思うのですが、次の70と80行目のやり方がわかりません。またGROは、最終的に何を求めているのですか?あと、9行目は、なにをしているか、教えてください。お願いします             

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

  • ベストアンサー
  • ymmasayan
  • ベストアンサー率30% (2593/8599)
回答No.3

> 1)5行のLD GR2 DATA GR1に14行目を入れると > GR2は、‘A‘が入ると思うのですが、 > 次の70と80行目のやり方がわかりません。 入れるのは13行目ですね。1回目は'A'が入りますね。 GR2の値によって06,07,08で処理を3つに分けています。 06:GR2が0なら次の文字を取りに行く。 07:GR2が正の場合、最上位ビットが0なので次のビットを調べに行く。 08:GR2が負つまり最上位ビットが1なのでカウンターを1増やしに行く。 > 2)GROは、最終的に何を求めているのですか? DATA(TOKYOOSAKA)の中に立っている1であるビットの合計数です。 > 9行目は、なにをしているか、教えてください。 GR2を1ビット左に論理シフトして左から2番目のビットが最上位に出るようにしています。 つまり、ビットオンオフの判定対象をずらしているのです。

その他の回答 (2)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

>この文で、5行のLD GR2 DATA GR1に14行目を入れるとGR2は、‘A‘が入ると思うのですが、次の70と80行目のやり方がわかりません。 意味がわかりません。 >9行目は、なにをしているか 左シフトすることで、(最上位ビットを立てる) 最上位ビットが立っている時、GR0に+1してビットを数える >GROは、最終的に何を求めているのですか? 文字列全ての1のビットの数を数える

  • t_nojiri
  • ベストアンサー率28% (595/2071)
回答No.1

>9行目は、なにをしているか、教えてください。 符号なし左シフトみたいです。 >またGROは、最終的に何を求めているのですか? TOKYOOSAKAの文字チェックじゃないですか?

参考URL:
http://www.officedaytime.com/dcasl2/pguide/qref.html

関連するQ&A