Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
subttl emfinit.asm - Emulator initialization and FINIT instruction page ;******************************************************************************* ;emfinit.asm - Emulator initialization and FINIT instruction ; ; Microsoft Confidential ; ; Copyright (c) Microsoft Corporation 1991 ; All Rights Reserved ; ;Revision History: ; ; [] 09/05/91 TP Initial 32-bit version. ; ;*******************************************************************************
EM_ENTRY eEmulatorInit EmulatorInit: EM_ENTRY eFINIT eFINIT: mov esi,BEGstk mov EMSEG:[CURstk],INITstk mov ecx,Numlev xor eax,eax
EmInitLoop: mov EMSEG:[esi].ExpSgn,bTAG_EMPTY ;Exponent and sign are zero mov EMSEG:[esi].lManHi,eax mov EMSEG:[esi].lManLo,eax
add esi, Reg87Len loop EmInitLoop
mov EMSEG:[StatusWord],ax ; clear status word mov [esp+4].OldStatus,ax ; clear saved status word. mov EMSEG:[PrevCodeOff],eax mov EMSEG:[PrevDataOff],eax mov EMSEG:[LongControlWord],InitControlWord mov eax,offset Round64near mov EMSEG:[RoundMode],eax ;Address of round routine mov EMSEG:[TransRound],eax ;Address of round routine mov EMSEG:[SavedRoundMode],eax mov EMSEG:[ZeroVector],offset SaveResult mov EMSEG:[Einstall], 1 ret
|