
Aber daß es zumindest gehen müßte, ist doch auch gut zu wissen, wo ist denn das Problem? Immerhin schreibt Dieter, daß er Angst kriegt

Code: Alles auswählen
Macro Goto(x)
!JMP[v_#x]
EndMacro
var = ?mark2
Goto(var) ; mit runden Klammern indirekter Sprung zu Adresse mit Wert in 'var'
End
mark1:
Debug 1
End
mark2:
Debug 2
Goto mark1 ; ohne Klammern normaler Sprung zu Sprungmarke namens 'mark1'
End
Code: Alles auswählen
Procedure Dingens( Nr.l)
Select Nr
Case 1
Bla
Case 2
Blubb
Case 3
Schnarch
EndSelect
EndProcedure
Code: Alles auswählen
PrototypeC Proc()
proc = 3
Goto program_start
Proc1:
Debug "call Proc1"
Return
Proc2:
Debug "call Proc2"
Return
Proc3:
Debug "call Proc3"
Return
program_start:
Select proc
Case 1
Test.Proc = ?Proc1
Case 2
Test.Proc = ?Proc2
Case 3
Test.Proc = ?Proc3
EndSelect
Test()
Code: Alles auswählen
Prototype Jump()
Define a.l
Define Go.Jump
Go = ?mark1
Debug go()
Go = ?mark2
Debug go()
Go = ?mark3
Debug go()
End
mark1:
Debug "Mark 1"
!MOV Eax, 123
Return
mark2:
Debug "Mark 2"
!MOV Eax, 456
Return
mark3:
Debug "Mark 3"
!MOV Eax, 789
Return