(Il est important que le label en argument sois en minuscule)
Code : Tout sélectionner
Macro OnGosub(x,vtable)
nOnGosub = x
! mov ebx, [v_nOnGosub]
! dec ebx
! shl ebx, 2
! lea eax, [l_#vtable]
! add eax, ebx
! call dword [eax]
EndMacro
OnGosub(3, vtable)
End
Pierre:
Debug "Pierre"
Return
Paul:
Debug "Paul"
Return
Germaine:
Debug "Germaine"
Return
DataSection
VTable:
Data.I ?Pierre, ?Paul, ?Germaine
EndDataSection