X-Git-Url: http://j8takagi.net/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=test%2Fsystem%2Fcasl2_opt%2Fopt_s%2F0.txt;h=992fb4c3c10e168f1fdb2585c770a97819298f50;hb=f4bd6b2273a814fa5ad761c86c5b0d9c03ce9035;hp=2189d065d3fd1e4fd75325620bc9f8d1a5a26784;hpb=d5687e0f30e8402985d569a595cc0bdadc89f725;p=YACASL2.git diff --git a/test/system/casl2_opt/opt_s/0.txt b/test/system/casl2_opt/opt_s/0.txt index 2189d06..992fb4c 100644 --- a/test/system/casl2_opt/opt_s/0.txt +++ b/test/system/casl2_opt/opt_s/0.txt @@ -1,46 +1,21 @@ -;;; sum_10.casl -;;; 1から10までの整数をすべて加算した値をメモリーに格納する -MAIN START - PUSH 0,GR1 - PUSH 0,GR2 - XOR GR2,GR2 ; GR2を初期化 - LD GR1,FST ; GR1に初項をメモリーから転送 -LOOP ADDL GR2,GR1 ; ループ先頭。GR2 <- GR2 + GR1 - ADDL GR1,STEP ; GR1 <- GR1 + 公差 - CPL GR1,LST ; GR1が末項より大きい場合は終了 - JPL FIN ; ↓ - JUMP LOOP ; ループ終端 -FIN ST GR2,RST ; GR2の結果をメモリーに転送 - POP GR2 - POP GR1 - RET -FST DC 1 ; 初項 -LST DC 10 ; 末項 -STEP DC 1 ; 公差 -RST DS 1 ; 結果 - END Assemble ../../../../as/sample/sum_10.casl (0) ../../../../as/sample/sum_10.casl: 1:;;; sum_10.casl ../../../../as/sample/sum_10.casl: 2:;;; 1から10までの整数をすべて加算した値をメモリーに格納する ../../../../as/sample/sum_10.casl: 3:MAIN START -../../../../as/sample/sum_10.casl: 4: PUSH 0,GR1 -../../../../as/sample/sum_10.casl: 5: PUSH 0,GR2 -../../../../as/sample/sum_10.casl: 6: XOR GR2,GR2 ; GR2を初期化 -../../../../as/sample/sum_10.casl: 7: LD GR1,FST ; GR1に初項をメモリーから転送 -../../../../as/sample/sum_10.casl: 8:LOOP ADDL GR2,GR1 ; ループ先頭。GR2 <- GR2 + GR1 -../../../../as/sample/sum_10.casl: 9: ADDL GR1,STEP ; GR1 <- GR1 + 公差 -../../../../as/sample/sum_10.casl: 10: CPL GR1,LST ; GR1が末項より大きい場合は終了 -../../../../as/sample/sum_10.casl: 11: JPL FIN ; ↓ -../../../../as/sample/sum_10.casl: 12: JUMP LOOP ; ループ終端 -../../../../as/sample/sum_10.casl: 13:FIN ST GR2,RST ; GR2の結果をメモリーに転送 -../../../../as/sample/sum_10.casl: 14: POP GR2 -../../../../as/sample/sum_10.casl: 15: POP GR1 -../../../../as/sample/sum_10.casl: 16: RET -../../../../as/sample/sum_10.casl: 17:FST DC 1 ; 初項 -../../../../as/sample/sum_10.casl: 18:LST DC 10 ; 末項 -../../../../as/sample/sum_10.casl: 19:STEP DC 1 ; 公差 -../../../../as/sample/sum_10.casl: 20:RST DS 1 ; 結果 -../../../../as/sample/sum_10.casl: 21: END +../../../../as/sample/sum_10.casl: 4: XOR GR2,GR2 ; GR2を初期化 +../../../../as/sample/sum_10.casl: 5: LD GR1,FST ; GR1に初項をメモリーから転送 +../../../../as/sample/sum_10.casl: 6:LOOP ADDL GR2,GR1 ; ループ先頭。GR2 <- GR2 + GR1 +../../../../as/sample/sum_10.casl: 7: ADDL GR1,STEP ; GR1 <- GR1 + 公差 +../../../../as/sample/sum_10.casl: 8: CPL GR1,LST ; GR1が末項より大きい場合は終了 +../../../../as/sample/sum_10.casl: 9: JPL FIN ; ↓ +../../../../as/sample/sum_10.casl: 10: JUMP LOOP ; ループ終端 +../../../../as/sample/sum_10.casl: 11:FIN ST GR2,RST ; GR2の結果をメモリーに転送 +../../../../as/sample/sum_10.casl: 12: RET +../../../../as/sample/sum_10.casl: 13:FST DC 1 ; 初項 +../../../../as/sample/sum_10.casl: 14:LST DC 10 ; 末項 +../../../../as/sample/sum_10.casl: 15:STEP DC 1 ; 公差 +../../../../as/sample/sum_10.casl: 16:RST DS 1 ; 結果 +../../../../as/sample/sum_10.casl: 17: END Assemble ../../../../as/sample/sum_10.casl (1)