まず、基本でない(フラグによる条件でない)条件分岐を見てみる。
なぜ基本でないものからかというと、簡単で命令数がすくないからである。
JCXZ ( Jump if CX is Zero ) :CXが0ならば分岐
JECXZ ( Jump if ECX is Zero ) :ECXが0ならば分岐
JCXZ DEST 動作:CXレジスタが0ならばジャンプする JECXZ DEST (80386以降) 動作:ECXレジスタが0ならばジャンプする条件分岐では、前ページの「無条件分岐」で説明した、「short」と「near」がある。ただし、「near」は80386以降で追加され、80286以前の CPUでは「short」のみである。ただし、DESTは即値(ラベル)のみしか使用できない。これは今後出てくる条件分岐命令すべてにあてはまる。
さて、この「JCXZ」「JECXZ」の用途であるが、まぁ、機能が機能だけに、きちんと動けば別にどんな用途に用いても良いわけだが、 「LOOP」命令と併せて用いるのが一般的である。「LOOP」命令とは、 CX回またはECX回処理を繰り返す命令であるが、CX=0の時は65536回(ECX=0の時は232回) 繰り返してしまう。これを回避するために用いるのが一般的である。