# Interrupt handling

When an interrupt is raised, the x86 cpu will
push some of the current working states into
current user stack. (At least for GE ints) in
the following order:

push  (EFLAGS)
push  %cs
pushl %eip
push  (ERROR_CODE)

The eip should points to the instruction that
caused the exception.

ERROR_CODE can be segment selector index (if
the exception is segment related) or simply
zero

Notice that the error code doesn't always 
exists. In some cases, it can be absent.