Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. ;*****************************************************************************
  2. ;*
  3. ;*                            Open Watcom Project
  4. ;*
  5. ;*    Portions Copyright (c) 1983-2002 Sybase, Inc. All Rights Reserved.
  6. ;*
  7. ;*  ========================================================================
  8. ;*
  9. ;*    This file contains Original Code and/or Modifications of Original
  10. ;*    Code as defined in and that are subject to the Sybase Open Watcom
  11. ;*    Public License version 1.0 (the 'License'). You may not use this file
  12. ;*    except in compliance with the License. BY USING THIS FILE YOU AGREE TO
  13. ;*    ALL TERMS AND CONDITIONS OF THE LICENSE. A copy of the License is
  14. ;*    provided with the Original Code and Modifications, and is also
  15. ;*    available at www.sybase.com/developer/opensource.
  16. ;*
  17. ;*    The Original Code and all software distributed under the License are
  18. ;*    distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
  19. ;*    EXPRESS OR IMPLIED, AND SYBASE AND ALL CONTRIBUTORS HEREBY DISCLAIM
  20. ;*    ALL SUCH WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF
  21. ;*    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR
  22. ;*    NON-INFRINGEMENT. Please see the License for the specific language
  23. ;*    governing rights and limitations under the License.
  24. ;*
  25. ;*  ========================================================================
  26. ;*
  27. ;* Description:  C/C++ Windows NT 32-bit console startup code.
  28. ;*
  29. ;*****************************************************************************
  30.  
  31.  
  32. ;       This must be assembled using one of the following commands:
  33. ;               wasm cstrtwnt -bt=NT -ms -3r
  34. ;               wasm cstrtwnt -bt=NT -ms -3s
  35. ;
  36.         name    cstrtwnt
  37. .386p
  38.         assume  nothing
  39.  
  40.         extrn   __NTMain        : near
  41.         extrn   ___begtext      : near
  42.         extrn   __LpCmdLine     : near
  43.         extrn   __LpPgmName     : near
  44.         extrn   __STACKLOW       : near
  45.         extrn   __STACKTOP       : near
  46.  
  47. _TEXT   segment use32 word public 'CODE'
  48.  
  49.         public  _cstart_
  50.         public  mainCRTStartup
  51.  
  52.         assume  cs:_TEXT
  53.  
  54. _cstart_ proc near
  55. mainCRTStartup:
  56.  
  57.         mov dword ptr [__STACKTOP], esp
  58.         lea eax, [esp-40000h]
  59.         mov dword ptr[__STACKLOW], eax
  60.        
  61.         mov eax, dword ptr [ds:0x1c]
  62.         mov dword ptr [__LpCmdLine], eax
  63.         mov eax, dword ptr [ds:0x20]
  64.         mov dword ptr [__LpPgmName], eax
  65.  
  66.         jmp     __NTMain
  67.         dd      ___begtext      ; reference module with segment definitions
  68. ;
  69. ; copyright message
  70. ;
  71.         db      "Open Watcom C/C++32 Run-Time system. "
  72.         db      "Portions Copyright (c) Sybase, Inc. 1988-2002."
  73. _cstart_ endp
  74.  
  75. _TEXT   ends
  76.  
  77.         end     _cstart_
  78.