- ベストアンサー
CASLIIでLADやSTなどの命令の読み方がよくわからない
LD GR6,GR1 LAD GR1,PARAM(8045番地にある) ST GR6,1,GR1 GR1は4という内容、PARAMは8045番地にあるとします。 ST命令ならば、GR6の内容を(1+GR1)へ入れると読むのでしょうが、 「8046番地に入れる」と読むのでしょうか。 しかし、8046番地にはEND命令があり、わけがわからないです。 まだ、CASLIIの初心者であり、読みなれていません。 よろしくお願いします。
- rinnshan
- お礼率65% (127/194)
- その他(プログラミング・開発)
- 回答数1
- ありがとう数1
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
「読み方」というのは「発音の仕方」ではなくて「意味をわかる」という意味でしょうか? ということであれば、 >「8046番地に入れる」と読むのでしょうか。 そういう意味です。 8045番地には何とかいてありますか?おそらく、DS で、オペランドが2以上。DSの意味を調べましょう。
関連するQ&A
- CASLII LAD命令 解らない箇所があります。(初歩)
下記問題について解らない箇所があるのですが、そのプロセスを教えて頂ければ幸いです。 宜しく御願いします。 アドレス8007番地の、GR1 が解りません。 シュミレータで確認すると、#0015 となりますが、そのプロセスを教えて下さい。 ------------------------------------------------ GR1とGR3を16進数でトレースしなさい。 OSHIETE START 8000 LAD GR1,A 8002 LAD GR1,#800C 8004 LAD GR3,V2 8006 LD GR1,GR3 8007 LAD GR1,A,GR3 8009 RET 800A V2 DC 2 800B A DC #1111 800C B DC #2222 800D C DC #3333 END ------------------------------------------------ オペランドを矢印表記にします↓ OSHIETE START 8000 LAD GR1←A (GR1 = #800B) (GR3 = #????) 8002 LAD GR1←#800C (GR1 = #800C) (GR3 = #????) 8004 LAD GR3←V2 (GR1 = #800C) (GR3 = #800A) 8006 LD GR1←GR3 (GR1 = #800A) (GR3 = #800A) 8007 LAD GR1←A + GR3 (GR1 = #0015) (GR3 = #800A) 8009 RET 800A V2 DC 2 800B A DC #1111 800C B DC #2222 800D C DC #3333 END
- 締切済み
- その他(プログラミング・開発)
- CASLIIのFINについて教えて下さい
CASLIIの『FIN』とはどんなときに使うのか、どんな意味があるのか教えて下さい。下の2個の例のように、JUMPでFINに飛んだり、単なるラベルであったりしています。 ;100を初めて超える7の倍数 LAD GR1,0 LOOP CPA GR1,C1000 JPL FIN LAD GR1,7,GR1 JUMP LOOP FIN ST GR1,ANS RET C100 DC 100 ANS DS 1 END ;1000を16ビットの2進数で表した時1が立っている数 LAD GR1,0 LAD GR2,1 LOOP LD GR3,C1000 AND GR3,GR2 JZE ZEXT LAD GR1,1,GR1 NEXT SLL GR2,1 JNZ LOOP FIN ST GR1,ANS RET C1000 DC 1000 ANS DS 1 END
- ベストアンサー
- 情報処理技術者
- CASLIIで質問です
32 ビット符号なし 2 進整数と 15 ビット符号なし 2 進整数の乗算を行う副プログラム MULT32の一部です。 質問したいのは、↓のプログラムの中に出てくる「LD GR6,GR1」 という命令です。解説を見てみると意味は乗数をGR6に設定し、GR1は作業用に設定と書いてありました。 しかし、GR1はこのプログラム全体を見ても初登場ですし、GR6にはどのような内容を格納しているのかわかりません。また、なぜ初登場の領域に対して解放という言葉を使っているのでしょうか。 MULT32 START RPUSH LD GR5,0,GR2 ST GR5,H LD GR5,1,GR2 ST GR5,L LD GR5,=0 ST GR5,0,GR2 ST GR5,1,GR2 LAD GR3,15 LAD GR4,1 LD GR6,GR1 ←ここです。 LP LAD GR3,-1,GR3 LAD GR4,1,GR4 SLL GR6,1 JZE FIN
- ベストアンサー
- その他(プログラミング・開発)
- CASLII
CASLII勉強中です。 ビットマップ図形の縮小の例題を解いているのですが、 07~09行目で第15ビット目が1であるか調べという意味がわかりません。 07.08.09行目の意味を教えてください。 07行目は何をしているのでしょうか?08.09行目は1行ではなく、なぜ 1ビットの判定となるのでしょうか? 01 ZUKEI01 START 02 LD GR1,=0 03 LD GR3,=0 04 LP1 LD GR2,=0 05 LD GR4,BIGZU,GR1 06 LD GR5,=8 07 LP2 LD GR4,GR4 08 JPL SKIP 09 JZE SKIP 10 LAD GR2,1,GR2 11 SKIP SLL GR2,1 12 SLL GR4,2 13 SUBA GR5,=1 14 JPL LP2 15 SLL GR2,7 16 ST GR2,SMLZU,GR3 17 LAD GR3,1,GR3 18 LAD GR1,2,GR1 19 CPA GR1,N16 20 JNZ LP1 21 RET 22 N16 DC 16 23 BIGZU DC #F00F,#F00F 24 DC #781E,#781E 25 DC #3C3C,#3C3C 26 DC #1E78,#1E78 27 DC #0FF0,#0FF0 28 DC #0FF0,#0FF0 29 DC #07FF,#03FF 30 DC #01FF,#00FF 31 SMLZU DS 8 32 END 33
- ベストアンサー
- その他(プログラミング・開発)
- CASLIIの問題で困っています
最近学校でCASLIIを情報の時間に習ったのですが、さっぱり意味が分かりません。 CASLIIの命令、オペランドが表している意味を詳しく解説願います。 カテゴリ間違っていたらごめんなさい! 論理演算プログラム ラベル 命令 オペランド REI1003 START LD GR1,DATA1 OR GR1,DATA2 LD GR1,DATA1 AND GR1,DATA2 LD GR1,DATA1 XOR GR1,DATA2 RET DATA1 DC #5AOF DATA2 DC #FOFO END 解答お願いします!!><
- ベストアンサー
- その他(プログラミング・開発)
- CASLIIの問題が分かりません。
資格の勉強のためCASLIIの参考書を買い問題を解いてるのですが分からないので質問します。 4桁の16進文字列を入力し、それを数値に変換してメモリ上に格納するプログラム。 SAMPL16 START LD GR1,0BUF LD GR0,=1000 CALL REVESUB OUT OBUF,LEN LET OBUF DS 4 LEN DC 1 ANS DS 1 END REVESUB START PUSH 0,GR1 PUSH 0,GR2 PUSH 0,GR3 PUSH 0,GR4 LAD GR0,0 LAD GR2,0 LOOP SLL GR0,4 ;ここまでの結果を4ビット左シフト LD GR3,0,GR1 ;1文字取り出し CPL GR3,='A' JMI NEXT ADDL GR3,=9 NEXT AND GR3,C000F ADDL GR0,GR3 LAD GR1,1,GR1 LAD GR2,1,GR2 CPL GR2,=4 JMI LOOP POP GR4 POP GR3 POP GR2 POP GR1 RET C000F DC #000F END SLL GR0,4 で4ビットシフトする意味がわかりません。あとLD GR3,0,GR1で1文字だけ取り出せるのですか?取り出すのは下位からですか?
- ベストアンサー
- その他(プログラミング・開発)
- CASLIIの穴埋め問題について。
CASLIIの勉強をしているのですが穴埋めの問題がどうしても解けません。 参考書の例題やサイトで公開されてるサンプルなどと比較して考えて 自分なりに答えは出してみたのですがシュミレータを試してみた所間違ってました。 この問題を考え始めてからもう一週間になりますが 解答がないので未だに解けず時間ばかりが過ぎて困っています。 解答と解説を教えて頂けないでしょうか? 問題 図1のプログラムは、3種の文字「a」、「b」、「c」を組み合わせた、 長さが3の全ての文字列を、図2の順に出力する。 図1の(1)~(10)の空欄に適切なオペランドを入れてください。 図1 REP2 START LD (1) LAD GR1,0 LP1 CPA GR1,GR7 JZE (2) LD GR0,CHAR,GR1 ST (3) LAD GR2,0 LP2 CPA GR2,GR7 JZE (4) LD GR0,CHAR,GR2 ST (5) LAD GR3,0 LP3 CPA GR3,GR7 JZE (6) LD GR0,CHAR,GR3 ST (7) OUT (8) LAD GR3,1,GR3 JUMP LP3 BRK3 LAD GR2,1,GR2 JUMP LP2 BRK2 LAD GR1,1,GR1 JUMP LP1 BRK RET FIRST DS 1 SECOND DS 1 THIRD DS 1 CHAR DC (9) LEN DC (10) END 図2 aaa aab aac aba abb abc aca acb acc baa bab bac bba bbb bbc bca bcb bcc caa cab cac cba cbb cbc cca ccb ccc
- ベストアンサー
- その他(プログラミング・開発)
- CASLIIのADDAとADDLの演算
次の問題があっているのかわかりません。 次のCASLIIプログラムの実行後のレジスタ(GR1,FR)とメモリ(AA,BB,CC番地) の内容を16進表示および符号付き10進表示せよ。 PGM START LD GR1,AA ADDA GR1,BB ST GR1,CC RET AA DC 32767 BB DC 1 CC DS 1 END 32767をGR1に入れて、1加算する。 だからGR1 = 32768 と思ったのですが、先生の書いた答えは -32768 でした。 PGM START LD GR1,AA ADDL GR1,BB ST GR1,CC RET AA DC #7FFF BB DC 1 CC DS 1 END #7FFFに1加算するので GR1=#8000 だと思います。 また自分で書いた板書に Arithmetic[ -32768, 32767](#8000,#7FFF) Logical[0,65535](#0000,#FFFF) とありました。 板書をとったのがだいぶ前なのでこれの意味をよく覚えていないのですが、 ADDA命令のときに扱える値の範囲は-32768,~32767 ADDL命令のときに扱える値の範囲は0~65535 ということなのでしょうか。 その場合、先ほどの問題のADDAの問題で 32767 + 1 をしたら範囲を超えてしまいます。 このような場合どうなるのでしょうか? ADDLの場合も範囲を超えてしまったらどうなるのですか? よろしくお願いします。
- ベストアンサー
- その他([技術者向] コンピューター)
- CASLIIの問題で、わからないものがあるので解き方と回答を教えていた
CASLIIの問題で、わからないものがあるので解き方と回答を教えていただきたいです。 入力された整数を辺の長さ(文字数)とする正方形を、文字*で出力する。 例) **** * * * * **** ↑辺の長さが4のときの正方形です。 REP3 START IN REC,LEN LD GR1,REC (a) GR1,MSK ST (b) LAD GR1,-1,GR1 ST GR1,POS OUT LN1,LEN LOOP LAD (c) CPA GR1,=0 (d) FIN CPA GR1,=1 JMI SKIP LD GR0,LN2 LD GR2,POS ST (e) OUT LN2,LEN JUMP LOOP SKIP OUT LN1,LEN FIN RET REC DS 256 LEN DS 1 POS DS 1 MSK DC #000F LN1 DC (f) LN2 DC '* ' END (a)~(f)が答えの入る場所です。 答だけでもいいので、ご教示願います。
- ベストアンサー
- その他(プログラミング・開発)
- サブルーチンでの加算
CASLIIの課題で、 主プログラムで、連続したN語の領域に格納されているデータの先頭番地をサブルーチンに渡し、サブルーチンでデータを加算し、主プログラムのANS番地に格納するプログラムを作成しなさい。 という問題が出ました。 サブルーチンでの加算法がよくわかりません。 どなたかご教示ください。 MAIN START LAD GR0,TBL ST GR0,PARA LAD GR1,1 LD GR0,N ST GR0,PARA,GR1 LAD GR1,PARA CALL SUBR ST GR0,ANS RET TBL DC 1,2,3,4,5,6,7,8,9,10 N DC 10 PARA DS 2 ANS DS 1 END
- 締切済み
- その他(プログラミング・開発)
お礼
ありがとうございました。 なるほど、DSで領域を確保してその中に入れているのですね。 やっと意味がわかりました。