Subversion Repositories Kolibri OS

Rev

Rev 750 | Rev 2455 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

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