Page 1 sur 1

On C Gosub Label1, Label2, Etc...

Publié : sam. 04/avr./2009 15:52
par Ollivier
Pour ceux qui connaissent cette ancienne instruction, ben je l'ai remixé version PB, voici un exemple pour comprendre la syntaxe:
(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