Leaked source code of windows server 2003
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.

114 lines
5.4 KiB

  1. ;/*
  2. ; * Microsoft Confidential
  3. ; * Copyright (C) Microsoft Corporation 1991
  4. ; * All Rights Reserved.
  5. ; */
  6. CODE SEGMENT PARA PUBLIC 'CODE'
  7. CODE ENDS
  8. DATA SEGMENT PARA PUBLIC 'DATA'
  9. DATA ENDS
  10. STACK SEGMENT PARA STACK 'STACK'
  11. STACK ENDS
  12. ZLOAD SEGMENT PARA PUBLIC 'ZLOAD'
  13. ZLOAD ENDS
  14. CODE SEGMENT PARA PUBLIC 'CODE'
  15. assume cs:code,ds:data
  16. ;
  17. ;*****************************************************************************
  18. ; External Declarations
  19. ;*****************************************************************************
  20. ;
  21. extrn SysDispMsg:near
  22. ;
  23. ;***************************************************************************
  24. ; Message Structures
  25. ;***************************************************************************
  26. ;
  27. Message_Table struc ; ;AN000;
  28. ;
  29. Entry1 dw 0 ; ;AN000;
  30. Entry2 dw 0 ; ;AN000;
  31. Entry3 dw 0 ; ;AN000;
  32. Entry4 dw 0 ; ;AN000;
  33. Entry5 db 0 ; ;AN000;
  34. Entry6 db 0 ; ;AN000;
  35. Entry7 dw 0 ; ;AN000;
  36. ;
  37. Message_Table ends ; ;AN000;
  38. ;*****************************************************************************
  39. ;Routine name&gml Display_Interface
  40. ;*****************************************************************************
  41. ;
  42. ;DescriptioN&gml Save all registers, set up registers required for SysDispMsg
  43. ; routine. This information is contained in a message description
  44. ; table pointed to by the DX register. Call SysDispMsg, then
  45. ; restore registers. This routine assumes that the only time an
  46. ; error will be returned is if an extended error message was
  47. ; requested, so it will ignore error returns
  48. ;
  49. ;Called Procedures: Message (macro)
  50. ;
  51. ;Change History&gml Created 4/22/87 MT
  52. ;
  53. ;Input&gml ES&gmlDX = pointer to message description
  54. ;
  55. ;Output&gml None
  56. ;
  57. ;Psuedocode
  58. ;----------
  59. ;
  60. ; Save all registers
  61. ; Setup registers for SysDispMsg from Message Description Tables
  62. ; CALL SysDispMsg
  63. ; Restore registers
  64. ; ret
  65. ;*****************************************************************************
  66. Public Display_Interface
  67. Display_Interface proc ; ;AN000;
  68. push ds ; ;AN000;
  69. push es ; ;AN000;
  70. push ax ;Save registers ;AN000;
  71. push bx ; " " " " ;AN000;
  72. push cx ; " " " " ;AN000;
  73. push dx ; " " " " ;AN000;
  74. push si ; " " " " ;AN000;
  75. push di ; " " " " ;AN000;
  76. mov di,dx ;Change pointer to table ;AN000;
  77. mov dx,SEG data ;Point to data segment
  78. mov ds,dx ;
  79. mov es,dx
  80. mov ax,[di].Entry1 ;Message number ;AN000;
  81. mov bx,[di].Entry2 ;Handle ;AN000;
  82. mov si,[di].Entry3 ;Sublist ;AN000;
  83. mov cx,[di].Entry4 ;Count ;AN000;
  84. mov dh,[di].Entry5 ;Class ;AN000;
  85. mov dl,[di].Entry6 ;Function ;AN000;
  86. mov di,[di].Entry7 ;Input ;AN000;
  87. call SysDispMsg ;Display the message ;AN000;
  88. pop di ;Restore registers ;AN000;
  89. pop si ; " " " " ;AN000;
  90. pop dx ; " " " " ;AN000;
  91. pop cx ; " " " " ;AN000;
  92. pop bx ; " " " " ;AN000;
  93. pop ax ; " " " " ;AN000;
  94. pop es ; ;AN000;
  95. pop ds ; ;AN000;
  96. ret ;All done ;AN000;
  97. Display_Interface endp ; ;AN000;
  98. code ends
  99. end
  100.