这是我一直在看的材料 http://hosted.cjmovie.net/TutMultitask.htm
如果有人可以帮助我完成以下汇编代码,不胜感激
pusha ;Push all standard registers
push ds ;Push segment d
push es ;Push segmetn e
push fs ; ''
push gs ; ''
寄存器和段保存在进程的内核级堆栈中,对吗?
mov eax, 0x10 ;Get kernel data segment
mov ds, eax ;Put it in the data segment registers
mov es, eax
mov fs, eax
mov gs, eax
加载内核数据段描述符的目的是什么?
push esp ;Push pointer to all the stuff we just pushed
call _TaskSwitch ;Call C code
为什么调用_TaskSwitch之前保存了esp?
谢谢