ie:
Code: Select all
procedure test( myLabel )
restore (myLabel)
...
endprocedure
test( ?dat1 )
datasection
dat1:
data.b 1,2,3,4
enddatasection
Code: Select all
procedure test( myLabel )
restore (myLabel)
...
endprocedure
test( ?dat1 )
datasection
dat1:
data.b 1,2,3,4
enddatasection
Code: Select all
Macro test(label)
Restore label
EndMacro
test(dat1)
For i=1 To 4:Read.b a.b:Debug a:Next
test(dat2)
For i=1 To 4:Read.b a.b:Debug a:Next
DataSection
dat2:
Data.b 5,6,7,8
dat1:
Data.b 1,2,3,4
EndDataSection
Here's a link to a thread topic that addresses your need, 'restore label as a parameter to a procedure'.jassing wrote:Is there a trick I can use to restore a label passed as a variable?
Code: Select all
Procedure RestoreEx (*address)
CompilerIf (#PB_Compiler_Processor = #PB_Processor_x86)
!mov eax, [p.p_address]
!mov [PB_DataPointer], eax
CompilerElse
!mov rax, [p.p_address]
!mov [PB_DataPointer], rax
CompilerEndIf
EndProcedure