NUMGET   START
BEGIN    IN      INBUF,LENG     ;数字の入力
         LD      GR1,LENG       ;入力文字長
P1       SUBA    GR1,=1         ; 1引く
         JMI     XNULL
         LD      GR2,=' '       ;スペースを入れる
         CPA     GR2,INBUF,GR1  ;後続スペース
         JZE     P1
         ST      GR1,LENG       ;長さを格納
         LAD     GR1,-1         ;指標レジスタ
P2       [    ( a )    ]       ;指標レジスタを増やす
         CPA     GR2,INBUF,GR1  ;先頭スペース
         JZE     P2
         LD      GR2,LENG       ;
         SUBA    GR2,GR1        ;入力文字長-1
         [    ( b )    ]
         JPL     XERR           ; 5けた以上?
         LAD     GR1,-1,GR1     ; 1引く
         LAD     GR0,0          ;初期値
P3       LAD     GR1,1,GR1      ; 1加算
         LD      GR2,INBUF,GR1  ; 1文字取り出し
         CPA     GR2,='0'       ; '0'より小さい?
         JMI     XERR
         [    ( c )    ]
         JPL     XERR
         SUBA    GR2,='0'       ; '0'を引く
         SLA     GR0,1          ; GR0を10倍する
         LD      GR3,GR0        ;     〃
         SLA     GR0,2          ;     〃
         ADDA    GR0,GR3        ;     〃
         [    ( d )    ]
         CPA     GR1,LENG       ; 全けた処理
         JMI     P3
         RET
XERR     OUT     ERMSG,LNG      ;エラー出力
         JUMP    BEGIN
XNULL    LAD     GR0,10000
         RET
INBUF    DS      256
LENG     DS      1
ERMSG    DC      '**ERROR**'
LNG      DC      9
         END