アプリ版:「スタンプのみでお礼する」機能のリリースについて

行 ラベル 命令 オペランド
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行目は、なにをしているか、教えてください。お願いします             

A 回答 (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番目のビットが最上位に出るようにしています。
つまり、ビットオンオフの判定対象をずらしているのです。
    • good
    • 0

>この文で、5行のLD GR2 DATA GR1に14行目を入れるとGR2は、‘A‘が入ると思うのですが、次の70と80行目のやり方がわかりません。


意味がわかりません。

>9行目は、なにをしているか
左シフトすることで、(最上位ビットを立てる)
最上位ビットが立っている時、GR0に+1してビットを数える

>GROは、最終的に何を求めているのですか?
文字列全ての1のビットの数を数える
    • good
    • 0

>9行目は、なにをしているか、教えてください。



符号なし左シフトみたいです。

>またGROは、最終的に何を求めているのですか?

TOKYOOSAKAの文字チェックじゃないですか?

参考URL:http://www.officedaytime.com/dcasl2/pguide/qref. …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!