but what I discovered is that (see code below) right after I turned on interrupt (sti), the stack value just changed
dramatically from previous instructions, what happened????
Code: Select all
call isr_handler
pop %ebx
mov %bx, %ds
mov %bx, %es
mov %bx, %fs
mov %bx, %gs
mov %bx, %ss
popa
add 8, %esp
sti
iret