forked from KolibriOS/kolibrios
Copy /kernel/trunk/kglobals.inc to /programs directory.
Actually, copy and remove $Revision$ svn keyword. Macros in this file are useful at least for libraries. git-svn-id: svn://kolibrios.org@7697 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
4f802a86ba
commit
488a034278
66
programs/kglobals.inc
Normal file
66
programs/kglobals.inc
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
;; ;;
|
||||||
|
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
|
||||||
|
;; Distributed under terms of the GNU General Public License ;;
|
||||||
|
;; ;;
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
|
;------------------------------------------------------------------
|
||||||
|
; use "iglobal" for inserting initialized global data definitions.
|
||||||
|
;------------------------------------------------------------------
|
||||||
|
macro iglobal {
|
||||||
|
IGlobals equ IGlobals,
|
||||||
|
macro __IGlobalBlock { }
|
||||||
|
|
||||||
|
macro iglobal_nested {
|
||||||
|
IGlobals equ IGlobals,
|
||||||
|
macro __IGlobalBlock \{ }
|
||||||
|
|
||||||
|
;-------------------------------------------------------------
|
||||||
|
; use 'uglobal' for inserting uninitialized global definitions.
|
||||||
|
; even when you define some data values, these variables
|
||||||
|
; will be stored as uninitialized data.
|
||||||
|
;-------------------------------------------------------------
|
||||||
|
macro uglobal {
|
||||||
|
UGlobals equ UGlobals,
|
||||||
|
macro __UGlobalBlock { }
|
||||||
|
|
||||||
|
macro uglobal_nested {
|
||||||
|
UGlobals equ UGlobals,
|
||||||
|
macro __UGlobalBlock \{ }
|
||||||
|
|
||||||
|
endg fix } ; Use endg for ending iglobal and uglobal blocks.
|
||||||
|
endg_nested fix \}
|
||||||
|
|
||||||
|
macro IncludeIGlobals{
|
||||||
|
macro IGlobals dummy,[n] \{ __IGlobalBlock
|
||||||
|
purge __IGlobalBlock \}
|
||||||
|
match I, IGlobals \{ I \} }
|
||||||
|
|
||||||
|
|
||||||
|
macro IncludeUGlobals{
|
||||||
|
macro UGlobals dummy,[n] \{
|
||||||
|
\common
|
||||||
|
\local begin, size
|
||||||
|
begin = $
|
||||||
|
virtual at $
|
||||||
|
\forward
|
||||||
|
__UGlobalBlock
|
||||||
|
purge __UGlobalBlock
|
||||||
|
\common
|
||||||
|
size = $ - begin
|
||||||
|
end virtual
|
||||||
|
rb size
|
||||||
|
\}
|
||||||
|
match U, UGlobals \{ U \} }
|
||||||
|
|
||||||
|
macro IncludeAllGlobals {
|
||||||
|
IncludeIGlobals
|
||||||
|
IncludeUGlobals
|
||||||
|
}
|
||||||
|
|
||||||
|
iglobal
|
||||||
|
endg
|
||||||
|
|
||||||
|
uglobal
|
||||||
|
endg
|
Loading…
Reference in New Issue
Block a user