Subversion Repositories Kolibri OS

Rev

Rev 8972 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 8972 Rev 8978
Line 78... Line 78...
78
    \{ define@proc name,
78
    \{ define@proc name,
79
 
79
 
Line 80... Line 80...
80
prologue@proc equ prologuedef
80
prologue@proc equ prologuedef
Line -... Line 81...
-
 
81
 
81
 
82
; @dont_give_a_doxygen
82
macro prologuedef procname,flag,parmbytes,localbytes,reglist
83
macro prologuedef procname,flag,parmbytes,localbytes,reglist
83
 { local loc
84
 { local loc
84
   loc = (localbytes+3) and (not 3)
85
   loc = (localbytes+3) and (not 3)
85
   parmbase@proc equ ebp+8
86
   parmbase@proc equ ebp+8
Line 94... Line 95...
94
   irps reg, reglist \{ push reg \} }
95
   irps reg, reglist \{ push reg \} }
95
 
96
 
Line 96... Line 97...
96
epilogue@proc equ epiloguedef
97
epilogue@proc equ epiloguedef
Line -... Line 98...
-
 
98
 
97
 
99
; @dont_give_a_doxygen
98
macro epiloguedef procname,flag,parmbytes,localbytes,reglist
100
macro epiloguedef procname,flag,parmbytes,localbytes,reglist
99
 { irps reg, reglist \{ reverse pop reg \}
101
 { irps reg, reglist \{ reverse pop reg \}
100
   if parmbytes | localbytes
102
   if parmbytes | localbytes
101
        leave
103
        leave
Line 107... Line 109...
107
   end if }
109
   end if }
108
 
110
 
Line 109... Line 111...
109
close@proc equ
111
close@proc equ
Line -... Line 112...
-
 
112
 
110
 
113
; @dont_give_a_doxygen
111
macro define@proc name,statement
114
macro define@proc name,statement
112
 { local params,flag,regs,parmbytes,localbytes,current
115
 { local params,flag,regs,parmbytes,localbytes,current
113
   if used name
116
   if used name
114
   name:
117
   name:
Line 165... Line 168...
165
   \{ localbytes = current
168
   \{ localbytes = current
166
      match close:reglist, close@proc: \\{ close name,flag,parmbytes,localbytes,reglist \\}
169
      match close:reglist, close@proc: \\{ close name,flag,parmbytes,localbytes,reglist \\}
167
      end if \} }
170
      end if \} }
168
 
171
 
Line -... Line 172...
-
 
172
; @dont_give_a_doxygen
169
macro defargs@proc [arg]
173
macro defargs@proc [arg]
170
 { common
174
 { common
171
    if ~ arg eq
175
    if ~ arg eq
172
   forward
176
   forward
173
     local ..arg,current@arg
177
     local ..arg,current@arg
Line 194... Line 198...
194
     restore current@arg
198
     restore current@arg
195
   common
199
   common
196
    end if }
200
    end if }
197
 
201
 
Line -... Line 202...
-
 
202
; @dont_give_a_doxygen
198
macro deflocal@proc name,def,[val] { name def val }
203
macro deflocal@proc name,def,[val] { name def val }
Line -... Line 204...
-
 
204
 
199
 
205
; @dont_give_a_doxygen
200
macro deflocal@proc name,def,[val]
206
macro deflocal@proc name,def,[val]
201
 { common
207
 { common
202
    match vars, all@vars \{ all@vars equ all@vars, \}
208
    match vars, all@vars \{ all@vars equ all@vars, \}
203
    all@vars equ all@vars name
209
    all@vars equ all@vars name
Line 216... Line 222...
216
    match first rest, ..var, \{ name equ first \} }
222
    match first rest, ..var, \{ name equ first \} }
217
 
223
 
Line 218... Line 224...
218
struc label type { label . type }
224
struc label type { label . type }
Line -... Line 225...
-
 
225
 
219
 
226
; @dont_give_a_doxygen
220
macro initlocal@proc name,def
227
macro initlocal@proc name,def
221
 { virtual at name
228
 { virtual at name
222
    def
229
    def
223
    size@initlocal = $ - name
230
    size@initlocal = $ - name