Команда sub
устанавливает флаги (OF
, SF
, ZF
, AF
, PF
и CF
, согласно документации ) - mov
инструкции нет. jz
будет прыгать, только если установлен нулевой флаг (ZF
), поэтому, если вы хотите перейти на основе значения в eax
, этот флаг должен быть установлен соответствующим образом.