代码来自国人写的Raw-OS操作系统。
最好详细些,谢谢!
unsigned int store_eax;
void port_task_switch(void)
{
_asm{
mov [store_eax], eax
lea eax, nextstart
push eax
mov eax, [store_eax]
pushfd
pushad
add esp, -200
fsave [esp]
mov ebx, [raw_task_active]
mov [ebx], esp
}
raw_task_active = high_ready_obj;
= raw_task_active->restore_flag;
_asm{
mov ebx, [raw_task_active]
mov esp, [ebx]
frstor [esp]
add esp, 200
popad
popfd
ret
}
nextstart:
return;
}
------解决方案--------------------
个人理解是,他准备吧这段代码直接放到os,不再修改,这的code尽量靠实际情况。
目的性而已,不是非得这样,没有啥好纠结的 :)