> movl %edx, 56(%esp) > movl 36(%ebp), %eax > andl %edi, %eax > movl %eax, 60(%esp) > movb $4, 42(%ebp) > movl 56(%esp), %edi > testl $3, %edi Oh, here's one I missed. %edx is stored into 56(%esp) then %edi is loaded from 56(%esp) for the testl but %edx is still unchanged. Greg Smith