X-Git-Url: http://j8takagi.net/cgi-bin/gitweb.cgi?p=YACASL2.git;a=blobdiff_plain;f=test%2Fsystem%2Fcasl2%2Flib_mull%2Fmull.casl;h=6085ce16a59c98e26da651f23a9870c0cf3ceef9;hp=b7d69971f359887eebc477c984eeb86e2aee9af3;hb=63d02a76014f85f18c2b095b9a8e0d5724f91338;hpb=ec314f36eb46e257b85d361fb81c81cfd9b2d72c diff --git a/test/system/casl2/lib_mull/mull.casl b/test/system/casl2/lib_mull/mull.casl index b7d6997..6085ce1 100644 --- a/test/system/casl2/lib_mull/mull.casl +++ b/test/system/casl2/lib_mull/mull.casl @@ -1,12 +1,12 @@ MAIN START - LAD GR3,0 ; Xのインデックス -LOOPX CPA GR3,XCNT ; (GR3 = XCNT)の場合、ループ脱出 + LAD GR4,0 ; Xのインデックス +LOOPX CPA GR4,XCNT ; (GR4 = XCNT)の場合、ループ脱出 JZE FIN ; ↓ - LD GR1,X,GR3 ; GR1に、(X+GR3)番地の値を転送 - LAD GR4,0 ; Yのインデックス -LOOPY CPA GR4,YCNT ; (GR4 = YCNT)の場合、ループ脱出 + LD GR1,X,GR4 ; GR1に、(X+GR4)番地の値を転送 + LAD GR5,0 ; Yのインデックス +LOOPY CPA GR5,YCNT ; (GR5 = YCNT)の場合、ループ脱出 JZE XNEXT ; ↓ - LD GR2,Y,GR4 ; GR2に、(X+GR4)番地の値を転送 + LD GR2,Y,GR5 ; GR2に、(X+GR5)番地の値を転送 CALL OUTL ; GR1の数値を出力 PUSH 0,GR1 ; GR2の数値を出力 LD GR1,GR2 ; ↓ @@ -19,11 +19,19 @@ LOOPY CPA GR4,YCNT ; (GR4 = YCNT)の場合、ループ脱出 CALL OUTL ; ↓ POP GR1 ; ↓ YNEXT OUT SEP,SLEN ; 区切り線を出力 - LAD GR4,1,GR4 ; GR4 <- GR4 + 1 + LAD GR5,1,GR5 ; GR5 <- GR5 + 1 JUMP LOOPY ; LOOPYへジャンプ WOV OUT YOMSG,YLEN ; オーバーフローした場合のメッセージを表示 + PUSH 0,GR1 ; GR0の数値を出力 + LD GR1,GR0 ; ↓ + CALL OUTL ; ↓ + POP GR1 ; ↓ + PUSH 0,GR1 ; GR3の数値を出力 + LD GR1,GR3 ; ↓ + CALL OUTL ; ↓ + POP GR3 ; ↓ JUMP YNEXT ; YNEXTへジャンプ -XNEXT LAD GR3,1,GR3 ; GR3 <- GR3 + 1 +XNEXT LAD GR4,1,GR4 ; GR4 <- GR4 + 1 JUMP LOOPX ; LOOPXへジャンプ FIN RET X DC 0,1,2,127,128,255,256,257,32767,#8000,#FFFF @@ -32,6 +40,6 @@ XCNT DC 11 YCNT DC 11 SEP DC '--------------------' SLEN DC 20 -YOMSG DC 'Warning: overflow' -YLEN DC 17 +YOMSG DC 'overflow' +YLEN DC 8 END