A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
>実行は出来たのですが、GR3に入る値が1235になってしまいます。
>どこを直せばいいのでしょうか?
全部。
なんてシミュレータで実行したら 1235になったのでしょうか?
InfoCASL Home Page
http://www.rs.kagu.tus.ac.jp/infoserv/j-siken/in …
で試したら異常終了しましたよ。
まあシミュレータのバグという話もなくはありませんが、
少なくとも
・ループ回数の判定がない
CPA GR2,GR3 で、レジスタに入っている値は
それぞれ何?
・レジスタの値を十倍する部分がおかしい
GR1を十倍にしようとしている?
・問題では文字列の '123' を数値化するように書かれているのに
DC で置かれているのは数値の1,2,3
もっとも、文字を数値にする('0'を引く)ことを
していないのである意味つじつまは合ってますが。
あたりをもう一度考え直した方がよいかと。
No.1
- 回答日時:
(1)は、文字コードから48(0の文字コード)を引き算すればいいですね。
(2)は、ループの前にGR0からGR7のどれかのレジスタに3を代入しておく。で、ループの最後でレジスタから1を引き算して、その結果が0以上であれば、ループの先頭に戻る。例えばこんな感じ
LAD GR0, 3
LOOP ループここから
…
ここまで
SUBL GR9, =1
JNZ LOOP
(3)は、与えられた数の10倍を計算するルーチンが必要です。CASLIIに掛け算の命令はないので、8倍したものと2倍したものを足し算します。こんな感じ。GR0に入っている数字を10倍します。
SLL GR0, 1
LD GR1, GR0
SLL GR0, 2
ADDL GR0, GR1
この回答への補足
無料のシュミレータを見つけることができ、作ってみたのですがやはりよくわかりません。
TEN START BGN
TBL DC 1,2,3
BGN LAD GR2,0
LAD GR3,0
LOOP LD GR1,TBL,GR2
ADDA GR1,GR3
SLL GR1,1
LD GR1,GR2
SLL GR1,2
ADDA GR1,GR2
LD GR3,GR1
LAD GR2,1,GR2
CPA GR2,GR3
JPL LOOP
ADDA GR3,TBL,GR3
RET
END
実行は出来たのですが、GR3に入る値が1235になってしまいます。
どこを直せばいいのでしょうか?
ありがとうございます。
頑張ってみます。
学校でCASLIIシュミレータというソフトを使っているのですが、
こういったソフトは有料でしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
初めて自分の家と他人の家が違う、と意識した時
子供の頃、友達の家に行くと「なんか自分の家と匂いが違うな?」って思いませんでしたか?
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
CASLII:文字列→数字への変換の原理
情報処理技術者・Microsoft認定資格
-
CASLⅡ 文字データから数値データへの変換について
Oracle
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
UWSCの終了の仕方
-
vb.netからエクセル関数書き込み
-
DoEventsが必要な理由について
-
UWSCのスクリプトで行き詰って...
-
ループフリー
-
VBAでのコピーのやり方
-
jQuery を使用した経過時間の表...
-
マクロでの繰り返し作業の書き...
-
不安で苦しくて眠れない夜、ど...
-
アセンブラによるウェイト(WAIT...
-
VBAで3秒だけ時間を止めたい
-
forループで試行を繰返し、その...
-
テキストファイルの行数を指定...
-
VBA横データを縦にしたいです
-
画面を強制的に再描画させる方法
-
StatementとResultSetのclose()...
-
Do whileでExitせず、ループの...
-
forループは何故、forなのですか?
-
変数の扱える範囲
-
FORTRAN90で書式に変数を使いたい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
UWSCの終了の仕方
-
画面を強制的に再描画させる方法
-
VBAで3秒だけ時間を止めたい
-
Escキーを押すと、中断する時と...
-
DoEventsが必要な理由について
-
VBAでの一時停止と再開の方法
-
DOSコマンドのループ内のTIMEコ...
-
範囲指定したセルを1つずつ飛...
-
GIFアニメをループさせたくない
-
VBA for i=1 to lastrow
-
乱数の桁数指定、または範囲指定。
-
ループフリー
-
vb.netからエクセル関数書き込み
-
エクセル関数で1〜12の数字がル...
-
vbscriptでIE自動入力(途中で...
-
null 参照の例外が実行時に発生...
-
アクティブセルから、A列最終行...
-
Do whileでExitせず、ループの...
-
UWSCに制限時間を付けたいです
-
CSVファイルの特定の行だけを読...
おすすめ情報