Subversion Repositories Kolibri OS

Rev

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

  1. ;------------------------------------------------------------------
  2. ; use "iglobal" for inserting initialized global data definitions.
  3. ;------------------------------------------------------------------
  4. macro iglobal {
  5.   IGlobals equ IGlobals,
  6.   macro __IGlobalBlock { }
  7.  
  8. ;-------------------------------------------------------------
  9. ; use 'uglobal' for inserting uninitialized global definitions.
  10. ; even when you define some data values, these variables
  11. ; will be stored as uninitialized data.
  12. ;-------------------------------------------------------------
  13. macro uglobal {
  14.   UGlobals equ UGlobals,
  15.   macro __UGlobalBlock { }
  16.  
  17. endg fix }      ; Use endg for ending iglobal and uglobal blocks.
  18.  
  19. macro IncludeIGlobals{
  20.   macro IGlobals dummy,[n] \{ __IGlobalBlock
  21.      purge __IGlobalBlock  \}
  22.   match I, IGlobals \{ I \} }
  23.  
  24.  
  25. macro IncludeUGlobals{
  26.   macro UGlobals dummy,[n] \{
  27.     \common
  28.       \local begin, size
  29.       begin = $
  30.       virtual at $
  31.     \forward
  32.       __UGlobalBlock
  33.       purge __UGlobalBlock
  34.     \common
  35.       size = $ - begin
  36.     end virtual
  37.     rb size
  38.   \}
  39.   match U, UGlobals \{ U \} }
  40.  
  41. macro IncludeAllGlobals {
  42.   IncludeIGlobals
  43.   IncludeUGlobals
  44. }
  45.  
  46. iglobal
  47. endg
  48.  
  49. uglobal
  50. endg
  51.