CASL課題

「CASL課題」の編集履歴(バックアップ)一覧はこちら

CASL課題」(2008/07/25 (金) 19:44:19) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

CASLの課題  1回分のコピーは出来ました。でもそれ以降のコピーがうまく出来ませんでした。ジャンプ命令を使うとき番地の設定を絶対番地になるので、一回分のコピーしか出来ない事がわかりました。そこは個人検討しながら作成しみてください。 ;*** [Let'S CASLⅡ] *** REI03   START DATA1  LD GR2,ZERO LD GR3,N LOOP LD GR1,DATA1,GR2 ST GR1,DATA2,GR2 ADDA GR2,ONE CPA GR2,GR3 JNZ LOOP ZERO DC 0 ONE DC 1 N DC 20 DATA2  DS 20 END CASL課題 05b105  全体を複製していくものは出来なかったが、前半を参照しながら後半のみ複製を繰り返すものは出来た。 前半を「A」、後半を「B」、複製されたものには「'」をつけるとすると、    A B B' B'' B''' B'''' ・・・・・・・・・・・・・・・ となり、メモリを1周し、Aの部分が消えるまで動作する。 TEST START NOP ;コピー元アドレスの記憶用 NOP ;ループ回数の判定用(1E固定) LAD GR7,#0001 ;カウント増加用(1固定) LAD GR6,#100F ;ループの始点 LAD GR5,#000F ;ループ回数のカウント LD GR4,GR5 ;コピー元アドレスの算出用 LAD GR3,#001E ;コピー先アドレスの算出用 ST GR3,#1001 ;ループ回数判定用の定数を書き込む ST GR6,#1000 ;最初のコピー元アドレスを書き込む LD GR0,#1000,GR4 ;コピー元のオペランドを読み込む、コピー範囲の始点、ループの先頭 ST GR0,#1000,GR3 ;コピー先にオペランドを書き込む ADDA GR3,GR7 ;コピー先アドレス+1 ADDA GR4,GR7 ;コピー元アドレス+1 ADDA GR5,GR7 ;ループカウント+1 CPA GR5,#1001 ;ループ判定 JMI #0000,GR6 ;判定が正ならループの先頭へ ADDA GR6,GR5 ;ループの先頭アドレスを移動(1) LAD GR5,#000F ;ループカウントリセット SUBA GR6,GR5 ;ループの先頭アドレスを移動(2)、コピー範囲の終点 END 上記のプログラムは先頭アドレスを#1000としたものである。 仕様したwebシミュレータ  http://www.chiba-fjb.ac.jp/fjb_labo/casl/casl2.cgi (1000ステップで中断される)
CASLの課題  1回分のコピーは出来ました。でもそれ以降のコピーがうまく出来ませんでした。ジャンプ命令を使うとき番地の設定を絶対番地になるので、一回分のコピーしか出来ない事がわかりました。そこは個人検討しながら作成しみてください。 ;*** [Let'S CASLⅡ] *** REI03   START DATA1  LD GR2,ZERO LD GR3,N LOOP LD GR1,DATA1,GR2 ST GR1,DATA2,GR2 ADDA GR2,ONE CPA GR2,GR3 JNZ LOOP ZERO DC 0 ONE DC 1 N DC 20 DATA2  DS 20 END CASL課題 05b105  全体を複製していくものは出来なかったが、前半を参照しながら後半のみ複製を繰り返すものは出来た。 前半を「A」、後半を「B」、複製されたものには「'」をつけるとすると、    A B B' B'' B''' B'''' ・・・・・・・・・・・・・・・ となり、メモリを1周し、Aの部分が消えるまで動作する。 TEST START NOP ;コピー元アドレスの記憶用 NOP ;ループ回数の判定用(1E固定) LAD GR7,#0001 ;カウント増加用(1固定) LAD GR6,#100F ;ループの始点 LAD GR5,#000F ;ループ回数のカウント LD GR4,GR5 ;コピー元アドレスの算出用 LAD GR3,#001E ;コピー先アドレスの算出用 ST GR3,#1001 ;ループ回数判定用の定数を書き込む ST GR6,#1000 ;最初のコピー元アドレスを書き込む LD GR0,#1000,GR4 ;コピー元のオペランドを読み込む、コピー範囲の始点、ループの先頭 ST GR0,#1000,GR3 ;コピー先にオペランドを書き込む ADDA GR3,GR7 ;コピー先アドレス+1 ADDA GR4,GR7 ;コピー元アドレス+1 ADDA GR5,GR7 ;ループカウント+1 CPA GR5,#1001 ;ループ判定 JMI #0000,GR6 ;判定が負ならループの先頭へ ADDA GR6,GR5 ;ループの先頭アドレスを移動(1) LAD GR5,#000F ;ループカウントリセット SUBA GR6,GR5 ;ループの先頭アドレスを移動(2)、コピー範囲の終点 END 上記のプログラムは先頭アドレスを#1000としたものである。 仕様したwebシミュレータ  http://www.chiba-fjb.ac.jp/fjb_labo/casl/casl2.cgi (1000ステップで中断される)

表示オプション

横に並べて表示:
変化行の前後のみ表示:
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。