home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 8 Other / 08-Other.zip / rng-810.zip / codend.asm < prev    next >
Assembly Source File  |  1994-01-24  |  2KB  |  80 lines

  1. ; RANDDRV.SYS random number driver for RNG-810 or similar hardware
  2. ; Copyright (C) 1994 Paul Elliot
  3. ;
  4. ; This program is free software; you can redistribute it and/or
  5. ; modify it under the terms of the GNU General Public License
  6. ; as published by the Free Software Foundation; either version 2
  7. ; of the License, or (at your option) any later version.
  8. ;
  9. ; This program is distributed in the hope that it will be useful,
  10. ; but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12. ; GNU General Public License for more details.
  13. ;
  14. ; You should have received a copy of the GNU General Public License
  15. ; along with this program; if not, write to the Free Software
  16. ; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  17. ;
  18. ;Paul.Elliott@Hrnowl.LoneStar.Org
  19. ;
  20. ;Paul Elliott
  21. ;
  22. ;3986 South Gessner #224 Houston TX 77063
  23. ;use ideal mode instead of masm mode
  24. %pagesize
  25. IDEAL
  26. %title    "end of resident part of _TEXT segment"
  27. %pagesize    55,132
  28. ;show code actually assembled by fancy assembler directives!
  29. %MACS
  30.  
  31. ;must use compact because the stack is far in a driver therefore
  32. ;local data is far.
  33. ASMMODEL EQU COMPACT
  34.  
  35.  
  36. ;os/2 now requires 386.
  37. P386
  38. ;enable local symbols
  39. locals
  40.  
  41. ;
  42. ; define all sequences
  43. macro    DefineSegment    segmentName,alignmentType,classType
  44. segment    segmentName    alignmentType public classType
  45. ends    segmentName    
  46. endm
  47. ; make sure the data segment is the first one in the .sys module
  48. ;
  49. ;driver requires first group be data, second code
  50. ;driver header must be first.
  51. group    DGROUP    _HEADER,_RDATA,_INIT_,_INITEND_,_EXIT_,_EXITEND_,_RBSS,_RBSSEND,_BSS,_BSSEND,_DATA
  52. ;
  53.     DefineSegment    _HEADER,para,'DATA'
  54.     DefineSegment    _DATA,para,'DATA'
  55.     DefineSegment    _RDATA,para,'DATA'
  56.     DefineSegment    _INIT_,word,'INITDATA'
  57.     DefineSegment    _INITEND_,byte,'INITDATA'
  58.     DefineSegment    _EXIT_,word,'EXITDATA'
  59.     DefineSegment    _EXITEND_,byte,'EXITDATA'
  60.     DefineSegment    _RBSS,word,'DATA'
  61.     DefineSegment    _RBSSEND,byte,'DATA'
  62.     DefineSegment    _BSS,word,'BSS'
  63.     DefineSegment    _BSSEND,byte,'BSSEND'
  64. ;
  65. group CGROUP    _TEXT,_ITEXT
  66. ;
  67.     DefineSegment    _TEXT,word,'CODE'
  68.     DefineSegment    _ITEXT,word,'CODE'
  69.  
  70.  
  71. ; This code defines the end of the resident portion
  72. ; of the _TEXT segment.
  73. ; defines the memory limit _CodeEnd
  74.  
  75. segment _TEXT
  76. public    _CodeEnd
  77. label _CodeEnd byte
  78. ends _TEXT 
  79.     end                        ;
  80.