еще забыли о: JG(JNLE) ZF = 0 и SF=OF JGE(JNL) SF = OF JL(JNGE) SF <> OF JNG(JLE) ZF=1 или SF<>OF JA(JNBE) CF = 0 и ZF = 0 JBE CF = 1 или ZF=1 JNA CF = 1 и ZF = 1
Если ветки, обрабатывающие конкретные значения, небольшие по размеру, а значения идут подряд, я (в компактном коде) использую следующее: Код (Text): loop @f ; cx was 1, now it's 0 mov ax, 1 jmp done @@: loop @f ; cx was 2, now it's 0 mov ax, 2 jmp done @@: loop @f ; cx was 3, now it's 0 mov ax, 3 jmp done @@: ; cx was 0 or 4+, now it's 3 less mov ax, 4 done: Если известно значение ZF по итогу исполнения веток, можно сэкономить jmp done используя loopz/loopnz. ----8<---- Black_mirror, Используя sahf, shr и shl, можно хоть все 256 вариантов поймать. Другое дело что извращение получится конкретное.