How does the `test` instruction work?

13,274

Instruction test works like and instruction, the only difference is that result is not stored back in to the destination operand. So the answer is yes. All binary numbers which not have set the 13th bit on memory address [eax], or all numbers present like b'xxxxxxxx xxxxxxxx xx0xxxxx xxxxxxxx', where x is 0 or 1, there is exactly 2^31 numbers.

Share:
13,274
dpington
Author by

dpington

Updated on June 04, 2022

Comments

  • dpington
    dpington almost 2 years

    If we have:

    test dword ptr [eax], 2000h
    je label1:
    

    Is there any value other than 0 in dword ptr [eax] that would make the jump take place?

  • BlackBear
    BlackBear over 13 years
    And what does test eax, eax do?
  • GJ.
    GJ. over 13 years
    @BlackBear: test eax, eax will set zero flag if eax = 0 the some as instruction and eax, eax (also effect to the sign and parity flags and clear carry and overflow flags).