@c %**end of header
@copying
-Copyright @copyright{} Information-technology Promotion Agency, Japan. All rights reserved 2012
+Copyright @copyright{} Information-technology Promotion Agency, Japan. All rights reserved 2021
@end copying
@titlepage
@title 情報処理技術者試験 アセンブラ言語の仕様
-@subtitle 「試験で使用する情報処理用語・プログラム言語など Ver 2.2(平成24年5月22日) 別紙1」より
+@subtitle 「試験で使用する情報処理用語・プログラム言語など Ver 4.3(2021年10月8日) 別紙2」より
@end titlepage
@chapter システム COMET IIの仕様
; 処理 ; GR1 中の'1'のビットの個数を求める
; 出力 ; GR0:GR1 中の'1'のビットの個数
PUSH 0,GR1 ;
- PUSH 0,GR2 ; Count = 0
- SUBA GR2,GR2 ; 全部のビットが'0'?
- AND GR1,GR1 ; 全部のビットが'0'なら終了
- JZE RETURN ; Count = Count + 1
-MORE LAD GR2,1,GR2 ; 最下位の'1'のビット 1 個を
- LAD GR0,-1,GR1 ; '0'に変える
- AND GR1,GR0 ; '1'のビットが残っていれば繰返し
- JNZ MORE ; GR0 = Count
-RETURN LD GR0,GR2 ;
+ PUSH 0,GR2 ;
+ SUBA GR2,GR2 ; Count = 0
+ AND GR1,GR1 ; 全部のビットが'0'?
+ JZE RETURN ; 全部のビットが'0'なら終了
+MORE LAD GR2,1,GR2 ; Count = Count + 1
+ LAD GR0,-1,GR1 ; 最下位の'1'のビット 1 個を
+ AND GR1,GR0 ; '0'に変える
+ JNZ MORE ; '1'のビットが残っていれば繰返し
+RETURN LD GR0,GR2 ; GR0 = Count
POP GR2 ;
POP GR1 ;
RET ; 呼出しプログラムへ戻る