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.

61 lines
1.3 KiB

  1. ;
  2. ;
  3. ; Copyright (C) Microsoft Corporation, 1986
  4. ;
  5. ; This Module contains Proprietary Information of Microsoft
  6. ; Corporation and should be treated as Confidential.
  7. ;
  8. subttl emxenix.asm - XENIX function jump tables and Initialization
  9. page
  10. public __eminit, __emulate, __87exception
  11. org 10h
  12. __eminit: ; UNDONE - not used any more
  13. org 15h
  14. __emulate:
  15. jmp protemulation ; protect mode emulation
  16. org 1Ah
  17. __87exception:
  18. pop eax ; eax = error code
  19. int 0FFh
  20. page
  21. ;------------------------------------------------------------------------------
  22. ;
  23. ; install emulator (initial all data elements
  24. ;
  25. ; This routine is executed once for the 1st emulated instruction
  26. ;
  27. ;------------------------------------------------------------------------------
  28. pub installemulator
  29. mov [Einstall],1 ; mark emulator as initialized
  30. mov eax,offset BEGstk ; pointer to beginning of stack
  31. mov [BASstk],eax ; set base of stack
  32. mov [CURstk],eax ; set current stack element
  33. mov eax,offset ENDstk-Reg87Len
  34. mov [LIMstk],eax ; set end of stack
  35. mov ax,InitControlWord
  36. mov [UserControlWord],ax ; initialize control words
  37. mov [ControlWord],ax
  38. xor eax,eax
  39. mov [UserStatusWord],ax ; initialize status words
  40. mov [StatusWord],ax
  41. jmp protemcont ; continue emulating 1st instruction