On C Gosub Label1, Label2, Etc...

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

On C Gosub Label1, Label2, Etc...

Message 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