INITDLL.A 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. (* Release 3.10 *)
  2. (*-------------------------------------------------------------------------*
  3. * *
  4. * INITDLL.A - startup code for DLLs *
  5. * *
  6. * COPYRIGHT (C) 1989..1992 Clarion Software Corporation. *
  7. * All Rights Reserved *
  8. * *
  9. *--------------------------------------------------------------------------*)
  10. module initdll
  11. segment INITCODE(CODE,28H)
  12. segment _INIT(INIT_CODE,28H)
  13. segment INIT_DATA(FAR_DATA,28H)
  14. segment C_ORDER(FCODE,28H)
  15. segment D_ORDER(BSS,68H)
  16. segment EMU_STATE(DATA,28H)
  17. segment CONST(CONST,28H)
  18. segment _CONST(DATA,28H)
  19. segment _DATA(DATA,28H)
  20. segment BSS_START(BSS,28H)
  21. segment _BSS(BSS,28H)
  22. segment BSS_END(BSS,28H)
  23. group DGROUP(EMU_STATE,CONST,_CONST,_DATA,BSS_START,_BSS,BSS_END)
  24. select INIT_DATA
  25. InitRec: dw 0, 0, 0, _INIT
  26. select BSS_START
  27. public __bss_start:
  28. public _edata:
  29. select BSS_END
  30. public __bss_end:
  31. public _end:
  32. select D_ORDER
  33. buffer: org 8
  34. extrn __InitLink
  35. select INITCODE
  36. mov bx, InitRec
  37. mov ax, INIT_DATA
  38. call far __InitLink
  39. mov ax, -1
  40. ret far 0
  41. dw EMU_STATE
  42. dw CONST
  43. dw _CONST
  44. dw _DATA
  45. dw BSS_START
  46. dw _BSS
  47. dw BSS_END (* establishs order ! *)
  48. dw 0
  49. end *
  50.