Subversion Repositories Kolibri OS

Rev

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

  1.  
  2.         name    cstrklbri
  3. .386p
  4.         assume  nothing
  5.  
  6.         extrn   __KolibriMain   : near
  7.         extrn   ___begtext      : near
  8.         extrn   __STACKTOP      : near
  9.         extrn   __STACKLOW      : near
  10.         extrn   __FiniRtns      : near
  11.         extrn   _LpCmdLine      : near
  12.         extrn   _LpPgmName      : near
  13.  
  14. _TEXT   segment use32 dword public 'CODE'
  15.  
  16.         public  _cstart_
  17.         public  mainCRTStartup
  18.         public __exit_
  19.  
  20.         assume  cs:_TEXT
  21.  
  22. _cstart_ proc near
  23. mainCRTStartup:
  24.          
  25.         mov edx, 0x400
  26.         mov eax, 0xff
  27.         out dx, al
  28.          
  29.         mov   eax, esp
  30.         sub   eax, 8192
  31.         mov   dword ptr [__STACKTOP],esp        ; set stack top
  32.         mov   dword ptr [__STACKLOW],eax
  33.         mov   eax, dword ptr [ds:0x001c]
  34.         mov   ebx, dword ptr [ds:0x0020]
  35.         mov   dword ptr [_LpCmdLine], eax
  36.         mov   dword ptr [_LpPgmName], ebx            
  37.         jmp   __KolibriMain
  38.         dd    ___begtext        ; reference module with segment definitions
  39. ;
  40. ; copyright message
  41. ;
  42.         db      "Open Watcom C/C++32 Run-Time system. "
  43.         db      "Portions Copyright (c) Sybase, Inc. 1988-2002."
  44. _cstart_ endp
  45.  
  46.  
  47. __exit_  proc near
  48.         mov     eax,00h                 ; run finalizers
  49.         mov     edx,0fh                 ; less than exit
  50.         call    __FiniRtns              ; call finalizer routines
  51.         mov eax, -1
  52.         int 0x40
  53.         ret
  54. __exit_ endp
  55.  
  56. public _scalbn
  57. _scalbn proc
  58.         fild  dword ptr [esp+12]
  59.         fld   qword ptr [esp+4]
  60.         fscale
  61.         fstp  st[1]
  62.         ret
  63. _scalbn endp
  64.  
  65.  
  66. _TEXT   ends
  67.  
  68.  
  69.  
  70.         end     _cstart_  ;programm entry point
  71.