X-Git-Url: http://j8takagi.net/cgi-bin/gitweb.cgi?p=YACASL2.git;a=blobdiff_plain;f=as%2Fcasl2lib%2Fsrc%2Fl2str.casl;fp=as%2Fcasl2lib%2Fsrc%2Fl2str.casl;h=0000000000000000000000000000000000000000;hp=dbf9a6f66fcb79cdc43feb61c7bda5e44c05fe1d;hb=20134ec3ebf911ef241284c6bd9145c04a75c6ca;hpb=5be8def29beb565c49e7268f71add4a7758ba77b diff --git a/as/casl2lib/src/l2str.casl b/as/casl2lib/src/l2str.casl deleted file mode 100644 index dbf9a6f..0000000 --- a/as/casl2lib/src/l2str.casl +++ /dev/null @@ -1,30 +0,0 @@ -;;; 符号なし整数を文字列に変換する。 -;;; 符号なし整数を文字列に変換する。 -;;; 入力 GR1:符号なし整数 G2:変換した文字列を格納するメモリーの先頭アドレス -;;; 出力 GR0:文字列の長さ (同上) -;;; 依存プログラム: DIVL, REV -L2STR START - PUSH 0,GR1 - PUSH 0,GR4 - XOR GR0,GR0 ; GR0 <- 0 - LD GR4,GR2 ; GR4 <- GR2 - PUSH 0,GR2 ; GR2の保存 - LAD GR2,10 ; GR2 <- 10。10進数の 10 -LOOP LD GR1,GR1 ; ループ先頭。GR1をテスト - JZE SRT ; GR1が0の場合、ループ終了 - CALL DIVL ; GR1とGR2の、商をGR0、剰余をGR3に格納 - ADDL GR3,='0' ; GR3を文字に変換 - ST GR3,0,GR4 ; GR4のアドレスに、GR3を格納 - LAD GR4,1,GR4 ; GR4 <- GR4 + 1 - LD GR1,GR0 ; GR0の商をGR1にコピー - JUMP LOOP ; ループ終端 -SRT POP GR2 ; GR2の復元 - LD GR1,GR2 ; GR1に文字列のアドレスを格納 - SUBL GR4,GR2 ; GR4 <- GR4 - GR2 - LD GR2,GR4 ; GR2 <- GR4 - CALL REV ; 文字列を逆順に並べ替え - LD GR0,GR2 ; GR0 <- GR4 文字列の長さを格納 - POP GR4 - POP GR1 - RET - END