MAIN   START
       LD      GR1,=#5F3D ; 0101 1111 0011 1101
       CALL    BIT
       RET
BIT    START              ;ビット列 [a06.cas]
       RPUSH              ;汎用レジスタの保存
       LAD     GR3,WK     ;WKのアドレスをロード
LOOP   LD      GR2,='1'   ;'1'をロード [  a  ]
       SLL     GR1,1      ;1ビット左にシフト
       JOV     SKIP       ;オーバフローが1か?
       LD      GR2,='0'   ;'0'をロード
SKIP   ST      GR2,0,GR3  ;GR2を格納
       LAD     GR3,1,GR3  ;指標レジスタを加算
       CPL     GR3,LAST   ;アドレスの比較 [  b  ]
       JMI     LOOP
       OUT     WK1,LEN    ;結果を表示
       RPOP               ;汎用レジスタの復元
       RET
WK1    DC      'GR1='
WK     DS      16
LAST   DC      LAST
LEN    DC      20
       END