测试说明 - 它是如何工作的?

时间:2014-05-25 01:51:36

标签: assembly

我有以下装配线,我想了解:

TEST DL,DL
JE SHORT 6C250EDF

所以,在DL中我们有字符'C'。实际上,值43是ANSCII代码43。 我知道TEST就像是AND,但是在TEST中我们不存储结果。

但是ollydbg说没有采取跳跃。怎么会这样? 43和43是平等的吧? 那么,为什么不跳?

我的第二个问题是:我如何在C代码中翻译它?

2 个答案:

答案 0 :(得分:3)

你是对的,TEST对其操作数进行逻辑运算,但你的JE测试检查零标志,当AND的结果为零时,测试指令设置ZF,这只有当DL为零时才会发生:

http://en.wikipedia.org/wiki/TEST_%28x86_instruction%29

答案 1 :(得分:0)

这里你的代码是测试DL是否等于null caracater