In a website I`ve seen a command like this:

test bl al, bl al

jz 0xaddress

What does this mean?

Does this belong to a specific compiler to generate such these assembly codes?

  • 4
    where is this output from? looks like a buggy disassembler.
    – Igor Skochinsky
    Nov 27, 2017 at 17:39
  • This is not a valid x86 assembly instruction, could you perhaps attach a print screen or a direct copy of the instruction in front of you?
    – NirIzr
    Nov 30, 2017 at 18:28

1 Answer 1


If we're talking about x86 assembly, then the syntax is invalid as the TEST instruction works on two operands

the correct syntax would TEST op1,op2 and it'll perform a bitwise AND on op1 and op2, discard the result, and change the flags accordingly


  • inevitably your are right. I have confused when I`ve seen this command.
    – John
    Nov 27, 2017 at 15:15
  • 1
    glad I could help. make sure to specify what type of assembly we're talking about in the tags/question next time.
    – NotGI
    Nov 27, 2017 at 15:17
  • I forgot to mention x86. But no good answer yet. I think it has another answer...
    – John
    Nov 27, 2017 at 15:35

Not the answer you're looking for? Browse other questions tagged or ask your own question.