Administrators Fernando Mercês Posted October 2, 2017 at 04:28 AM Administrators Share Posted October 2, 2017 at 04:28 AM Fala galera! Estamos no meio do curso de Eng. Reversa II, que tá rolando em São Paulo. Numa das análises de um binário de 32-bits surgiu novamente uma "comparação" com a instrução TEST, ao invés da CMP e novamente esqueci da diferença, mas achei um tópico num outro fórum que deixou claro e decidi escrever aqui pra nunca mais esquecer. rs Acontece que a TEST faz um E bit-a-bit (bitwise AND) entre os operandos, o que é completamente da CMP que compara subtraindo-os. Pra entender melhor, suponha que EAX = 3 (11 em binário). Se fizermos: TEST EAX, 3 O cálculo feito é um AND de 11 com 11, resultando em 11, mas este resultado é descartado. No entanto, as flags ZF, PF e SF são afetadas de acordo com o seguinte pseudo-código (retirei do manual da Intel): A instrução que vimos estava assim: TEST EAX, EAX Como isso vai fazer um AND do valor de EAX com ele mesmo, a ZF vai ser setada somente se o valor de EAX for zero (todos os seus bits zerados). Então isso "dá no mesmo" que fazer: CMP EAX, 0 É isso. Quis registrar aqui para usar como referência futura. Abraços e bons estudos! Link to comment Share on other sites More sharing options...
Ygor Da Rocha Parreira Posted October 7, 2017 at 10:32 AM Share Posted October 7, 2017 at 10:32 AM Fala pakito, Vc mandou muito bem, só rolou um typo aqui: "a ZF vai ser setada somente se o valor de EAX for zero (todos os seus bits zerados)" Na verdade eh o resultado da operação de bitwise (que ele chamou de TEMP) que deve ser zero, e não o conteúdo do registrador EAX. Abs, Link to comment Share on other sites More sharing options...
Administrators Fernando Mercês Posted October 7, 2017 at 12:04 PM Author Administrators Share Posted October 7, 2017 at 12:04 PM Então nego, mas como é AND com ele mesmo, só vai dar zero se já for zero. É que falei especificamente sobre TEST EAX, EAX sacou? Abraço! Link to comment Share on other sites More sharing options...
Ygor Da Rocha Parreira Posted October 7, 2017 at 11:08 PM Share Posted October 7, 2017 at 11:08 PM Sakei. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.