Code: Select all
typedef struct stack_data
{
unsigned int gs;
unsigned int fs;
unsigned int es;
unsigned int ds;
unsigned int edi;
unsigned int esi;
unsigned int ebp;
unsigned int esp;
unsigned int ebx;
unsigned int edx;
unsigned int ecx;
unsigned int eax;
unsigned int eip;
unsigned int cs;
unsigned int eflags;
}stack_data_t;
Code: Select all
_task_timer:
pushad
push ds
push es
push fs
push gs
mov ax, 0x10
mov ds, ax
mov es, ax
mov fs, ax
mov gs, ax
; cli
push esp
mov eax, _task_timer_c
call eax
; sti
pop esp
mov esp, eax
pop gs
pop fs
pop es
pop ds
popad
iret