298,12 → 298,7 |
fxrstor [eax] |
restore_ring3_context |
iret |
.init: |
fninit ; ¬ ¥ ã¦ë ¥¬ ᪨஢ ë¥ ¨áª«î票ï |
mov dword [ebx+PROC_BASE+APPDATA.fpu_init], 1 |
.exit: |
restore_ring3_context |
iret |
|
.no_SSE: |
fnsave [eax] |
mov ebx, [CURRENT_TASK] |
310,7 → 305,7 |
mov [fpu_owner], ebx |
shl ebx, 8 |
cmp dword [ebx+PROC_BASE+APPDATA.fpu_init], 0 |
je .init |
je .ready |
|
mov eax, [ebx+PROC_BASE+APPDATA.fpu_state] |
frstor [eax] |
317,6 → 312,14 |
restore_ring3_context |
iret |
|
.init: |
fninit ; ¬ ¥ ã¦ë ¥¬ ᪨஢ ë¥ ¨áª«î票ï |
.ready: |
mov dword [ebx+PROC_BASE+APPDATA.fpu_init], 1 |
.exit: |
restore_ring3_context |
iret |
|
iglobal |
fpu_owner dd 1 |
endg |