Subversion Repositories Kolibri OS

Rev

Rev 1635 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
431 serge 1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2
;;                                                              ;;
2465 Serge 3
;; Copyright (C) KolibriOS team 2004-2011. All rights reserved. ;;
431 serge 4
;; Distributed under terms of the GNU General Public License    ;;
5
;;                                                              ;;
6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
7
 
593 mikedld 8
$Revision: 2465 $
9
 
10
 
1 ha 11
;------------------------------------------------------------------
12
; use "iglobal" for inserting initialized global data definitions.
13
;------------------------------------------------------------------
14
macro iglobal {
15
  IGlobals equ IGlobals,
16
  macro __IGlobalBlock { }
17
 
162 diamond 18
macro iglobal_nested {
19
  IGlobals equ IGlobals,
20
  macro __IGlobalBlock \{ }
21
 
1 ha 22
;-------------------------------------------------------------
23
; use 'uglobal' for inserting uninitialized global definitions.
24
; even when you define some data values, these variables
25
; will be stored as uninitialized data.
26
;-------------------------------------------------------------
27
macro uglobal {
28
  UGlobals equ UGlobals,
29
  macro __UGlobalBlock { }
30
 
162 diamond 31
macro uglobal_nested {
32
  UGlobals equ UGlobals,
33
  macro __UGlobalBlock \{ }
34
 
1 ha 35
endg fix }      ; Use endg for ending iglobal and uglobal blocks.
162 diamond 36
endg_nested fix \}
1 ha 37
 
38
macro IncludeIGlobals{
39
  macro IGlobals dummy,[n] \{ __IGlobalBlock
40
     purge __IGlobalBlock  \}
41
  match I, IGlobals \{ I \} }
42
 
43
 
44
macro IncludeUGlobals{
45
  macro UGlobals dummy,[n] \{
46
    \common
47
      \local begin, size
48
      begin = $
49
      virtual at $
50
    \forward
51
      __UGlobalBlock
52
      purge __UGlobalBlock
53
    \common
54
      size = $ - begin
55
    end virtual
56
    rb size
57
  \}
58
  match U, UGlobals \{ U \} }
59
 
60
macro IncludeAllGlobals {
61
  IncludeIGlobals
62
  IncludeUGlobals
63
}
465 serge 64
 
1 ha 65
iglobal
66
endg
67
 
68
uglobal
69
endg