A 回答 (2件)
- 最新から表示
- 回答順に表示
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シュミレータというソフトを使っているのですが、
こういったソフトは有料でしょうか?
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'を引く)ことを
していないのである意味つじつまは合ってますが。
あたりをもう一度考え直した方がよいかと。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(コンピューター・テクノロジー) 【Tableau Desktop】文字列から8桁の数字を日付型(yyyyMMdd)として取得 1 2023/07/31 10:17
- Ruby プログラミング 3 2023/06/09 14:30
- Visual Basic(VBA) VBAで、特定の文字より後を削除して残った数値を文字列に変換と特定の文字より前も削除したい 3 2022/04/15 19:21
- Java Java 南京錠 2 2023/02/04 11:46
- JavaScript カラーミーショップのsectionループ内で、[引数][戻り値]ありの関数的な処理を行いたいです。 1 2022/05/07 19:39
- C言語・C++・C# C言語初心者 ポインタについて、お助けください、、 2 2023/03/15 23:50
- Java java 入力された文字列を数値に置き換えて整数にし、計算をしたいです。 <を10として /を1とし 4 2022/05/16 21:08
- Visual Basic(VBA) Excel のユーザー定義関数でソルバーが動作しない 1 2022/09/05 19:51
- 統計学 確率統計の問題です。 3 2022/04/07 04:39
- 高校 変数置き換えにつきまして 6 2022/05/01 16:44
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プログラミングについて。 1つ...
-
画面を強制的に再描画させる方法
-
DoEventsが必要な理由について
-
エクセルの当番表を作っていま...
-
VBAで3秒だけ時間を止めたい
-
ループ内での条件処理
-
DOSコマンドのループ内のTIMEコ...
-
アクティブセルから、A列最終行...
-
VBA Dir関数でファイルをループ...
-
VBA for i=1 to lastrow
-
UWSCの終了の仕方
-
GIFアニメをループさせたくない
-
while(*s++=*t++)の判定は?
-
範囲指定したセルを1つずつ飛...
-
どなたかこのプログラミングを...
-
Javascriptでalertを大量のルー...
-
テキストボックスの名前に変数...
-
vbscriptでIE自動入力(途中で...
-
乱数の桁数指定、または範囲指定。
-
Java 南京錠
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
画面を強制的に再描画させる方法
-
VBAで3秒だけ時間を止めたい
-
VBAでの一時停止と再開の方法
-
どなたかこのプログラミングを...
-
Escキーを押すと、中断する時と...
-
UWSCの終了の仕方
-
エクセルの当番表を作っていま...
-
VBA for i=1 to lastrow
-
「偶数・奇数の和」のフローチ...
-
アクティブセルから、A列最終行...
-
DoEventsが必要な理由について
-
vb.netからエクセル関数書き込み
-
GIFアニメをループさせたくない
-
DOSコマンドのループ内のTIMEコ...
-
範囲指定したセルを1つずつ飛...
-
流れ図(フローチャート)が分か...
-
乱数の桁数指定、または範囲指定。
-
テキストボックスの名前に変数...
-
CSVファイルの特定の行だけを読...
-
vb.netです。2次元配列の要素を...
おすすめ情報