Fernando Mercês Postado Outubro 2, 2017 em 04:28 Compartilhar Postado Outubro 2, 2017 em 04:28 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 para o comentário Compartilhar em outros sites More sharing options...
Ygor Da Rocha Parreira Postado Outubro 7, 2017 em 10:32 Compartilhar Postado Outubro 7, 2017 em 10:32 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 para o comentário Compartilhar em outros sites More sharing options...
Fernando Mercês Postado Outubro 7, 2017 em 12:04 Autor Compartilhar Postado Outubro 7, 2017 em 12:04 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 para o comentário Compartilhar em outros sites More sharing options...
Ygor Da Rocha Parreira Postado Outubro 7, 2017 em 23:08 Compartilhar Postado Outubro 7, 2017 em 23:08 Sakei. Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados
Arquivado
Este tópico foi arquivado e está fechado para novas respostas.