1 ;;; GR1に格納された値を、0以上1未満の、10進数小数値として表示
2 ;;; 例: 1000000000000000:0.5, 1100000000000000:0.75
5 XOR GR3,GR3 ; 文字位置を表すインデックス
7 LD GR4,='0' ; 「0」をSTR領域に格納
9 LAD GR3,1,GR3 ; ↓ GR3 <- GR3 + 1
10 AND GR1,GR1 ; GR1が0の場合、PRTにジャンプ
12 LD GR4,='.' ; 「.」をSTR領域に格納
14 LAD GR3,1,GR3 ; ↓ GR4 <- GR4 + 1
15 ;; GR1の内容を小数値と見なし、10進数の文字列に変換してSTRに格納
16 TODIG AND GR1,GR1 ; GR1が0の場合は、ループを脱出
18 PUSH 0,GR2 ; GR1とGR2の積をGR1に格納
19 LAD GR2,10 ; ↓GR2に10進数の「10」を格納
22 LD GR4,GR0 ; GR0をGR4にコピー
23 ADDA GR4,='0' ; GR4を文字に変換
24 ST GR4,STR,GR3 ; (STR + GR3) <- GR4
25 LAD GR3,1,GR3 ; GR3 <- GR3 + 1
27 PRT ST GR3,LEN ; LEN <- GR3
28 OUT STR,LEN ; STR領域の内容を印字