MAIN  START
      LD     GR1,=#3F5C ; 0011 1111 0101 1100
      CALL   BITN
      RET
BITN  START            ;ビットの数 [a04.cas]
      PUSH   0,GR1     ;GR1の退避
      LAD    GR0,0     ;初期値
LB0   SLL    GR1,1     ;1ビット左シフト [  a  ]
      JOV    LB1       ;オーバフローのチェック
      JNZ    LB0       ; [  b  ]
      POP    GR1       ;GR1の復元
      RET              ;終了
LB1   ADDA   GR0,=1    ;カウントアップ
      JUMP   LB0
      END