3 ; 処理 ; GR1 中の'1'のビットの個数を求める
4 ; 出力 ; GR0:GR1 中の'1'のビットの個数
7 SUBA GR2,GR2 ; Count = 0
8 AND GR1,GR1 ; 全部のビットが'0'?
9 JZE RETURN ; 全部のビットが'0'なら終了
10 MORE LAD GR2,1,GR2 ; Count = Count + 1
11 LAD GR0,-1,GR1 ; 最下位の'1'のビット 1 個を
13 JNZ MORE ; '1'のビットが残っていれば繰返し
14 RETURN LD GR0,GR2 ; GR0 = Count