home *** CD-ROM | disk | FTP | other *** search
/ QBasic & Borland Pascal & C / Delphi5.iso / C / Samples / CASM.ARJ / MAIN.ASM < prev    next >
Assembly Source File  |  1988-02-04  |  1KB  |  66 lines

  1. ;_ main.asm   Thu Feb  4 1988   Modified by: Walter Bright */
  2. ; Copyright (C) 1986-1988 by Northwest Software
  3. ; All Rights Reserved
  4. ; Written by Walter Bright
  5.  
  6. include    MACROS.ASM
  7.  
  8. ;Code definitions must appear outside the begcode-endcode pairs for
  9. ;the P and L models. If they are inside, you get a fixup error from
  10. ;the linker. I think the way this works is terrible.
  11.  
  12. if MSC
  13.     if LCODE
  14.     extrn    _main:far
  15.     else
  16.     extrn    _main:near
  17.     endif
  18.  
  19.     begcode    main
  20.  
  21.     public    __main
  22. else
  23.     if LCODE
  24.     extrn    main:far
  25.     else
  26.     extrn    main:near
  27.     endif
  28.  
  29.     begcode    main
  30.  
  31.     public    _main
  32. endif
  33.  
  34. ;;;;;;;;;;;;;;;;;;;;;;;;;;
  35. ; This is the default _main. It is here so that another _main() can
  36. ; be installed which does things like wild card expansion.
  37. ; See _main.c for one which does wild card expansion.
  38.  
  39. if MSC
  40.  
  41.     if LCODE
  42. __main    proc    far
  43.     jmp    far ptr _main
  44.     else
  45. __main    proc    near
  46.     jmp    near ptr _main
  47.     endif
  48. __main    endp
  49.  
  50. else
  51.  
  52.     if LCODE
  53. _main    proc    far
  54.     jmp    far ptr main
  55.     else
  56. _main    proc    near
  57.     jmp    near ptr main
  58.     endif
  59. _main    endp
  60.  
  61. endif
  62.  
  63.     endcode    main
  64.  
  65.     end
  66.