I have a question about EIP register. I know it's address of newt instruction, but it means physical address or virtual address? Also, if I have a parallel program, are EIP values of one instruction are same among different processes? Thanks.
If you're talking about an OS with virtual memory, Linux, Windows etc.. then the EIP shows the virtual address.
If I understand you right, the virtual address of a particular instruction is the same across different threads within the same process. Each core in the CPU has their own EIP registers, so cores can execute different code at the same time.
Hope this answers your questions.