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.

119 lines
3.8 KiB

  1. ; Copyright (c) Microsoft Coropration 1988-1991. All Rights Reserved.
  2. ;****************************************************************
  3. ;* *
  4. ;* SEGDEFS.INC -- Segment Declarations for Dos Extender *
  5. ;* *
  6. ;****************************************************************
  7. ;* Revision History: *
  8. ;* *
  9. ;* 12/13/88 (GeneA): reordered segments so that the code *
  10. ;* segment is last. *
  11. ;* *
  12. ;****************************************************************
  13. ;
  14. ; -------------------------------------------------------
  15. ; DOS EXTENDER SEGMENTS
  16. ; -------------------------------------------------------
  17. ;; Touch here to force rebuild of DOSX! EarleH
  18. ?DF=1
  19. ?PLM=1
  20. ?WIN=0
  21. ?MEDIUM=1
  22. DOS5=1
  23. IFNDEF WHEN_COMMAND_COM_WORKS
  24. WINDOWS=1
  25. ELSE
  26. WINDOWS=0
  27. ENDIF
  28. include .\cmacros.inc
  29. DXDATA segment para public 'DATA'
  30. DXDATA ends
  31. DXSTACK segment para stack 'STACK'
  32. DXSTACK ends
  33. ;
  34. ; This segment contains both real mode and protected mode code and
  35. ; resides in low memory.
  36. DXCODE segment para public 'CODE'
  37. DXCODE ends
  38. ;
  39. ; This segment contains protected mode code only, and is moved up
  40. ; into extended memory during the initialization process.
  41. DXPMCODE segment para public 'PMCODE'
  42. DXPMCODE ends
  43. ; -------------------------------------------------------
  44. ; GROUP DECLARATIONS
  45. ; -------------------------------------------------------
  46. DGROUP group DXDATA, DXSTACK
  47. ; -------------------------------------------------------
  48. ; MS-DOS PROGRAM SEGMENT PREFIX DEFINITION
  49. ; -------------------------------------------------------
  50. PSPSEG segment at 0
  51. fnExit dw ? ;INT 20h instruction for termination linkage
  52. segMemEnd dw ? ;segment address of end of program's memory
  53. rsvd1 db ? ;undefined
  54. fnDosFunc db 5 dup (?) ;far call to DOS function dispatcher
  55. lpfnParent dd ? ;far pointer to parent program
  56. lpfnInt23 dd ? ;previous contents of INT 23h vector (^C)
  57. lpfnInt24 dd ? ;previous contents of INT 24h vector
  58. segParentPSP dw ? ;segment address of parent PSP
  59. bFileTable db 20 dup (?) ;process file table
  60. segEnviron dw ? ;segment address of environment
  61. lpStack dd ? ;application's SS:SP (updated on each dos call)
  62. cbFileTable dw ? ;size of process file table
  63. lpFileTable dd ? ;far pointer to process file table
  64. org 5Ch
  65. fcbDefault1 db 10h dup (?) ;default FCB 1
  66. fcbDefault2 db 10h dup (?) ;default FCB 2
  67. org 80h
  68. cbCommand db ? ;lenght of command string
  69. chCommand db 7Fh dup (?) ;command string
  70. PSPSEG ends
  71. ; -------------------------------------------------------
  72. ; BIOS DATA SEGMENT DEFINITIONS
  73. ; -------------------------------------------------------
  74. BIOS_DATA segment at 40h ;BIOS Data segment
  75. org 67h
  76. IO_ROM_INIT dw ? ;Shutdown code 0Ah will cause the
  77. IO_ROM_SEG dw ? ; bios to return control to the far
  78. ; address stored here.
  79. ;Shutdown code 09h will cause the
  80. ; bios to load SS:SP from here and
  81. ; do an IRET.
  82. INTR_FLAG db ?
  83. org 72h
  84. RESET_FLAG dw ? ;For Ctrl-Alt-Del
  85. BIOS_DATA ends
  86. ; -------------------------------------------------------
  87. ;****************************************************************