home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.lang.asm.x86      Ahh, the lost art of x86 assembly      4,675 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 4,047 of 4,675   
   JJ to R.Wieser   
   Re: Borlands tasm32 v5, calling by point   
   10 Apr 20 12:57:51   
   
   From: jj4public@nospicedham.vfemail.net   
      
   On Thu, 9 Apr 2020 14:53:04 +0200, R.Wieser wrote:   
   > Hello all,   
   >   
   > I'm Using Borlands Tasm32 v5, and am calling a procedure by pointer (a   
   > callback).  The problem is that it doesn't (can't) do any assemble-time   
   > checking of the provided arguments, while this does happen when calling the   
   > function by value.   
   >   
   > example:   
   >   
   > ;-- Definition of the procedure   
   > TheFunction PROCDESC @@lArgOne:DWORD,@@lArgTwo:DWORD   
   >   
   > ;-- A by-pointer call   
   > mov [@@pFunction],offset [TheFunction]   
   > ....   
   > call [@@pFunction], eax, 42, -1   ;<- Too many arguments, but not detected.   
   >   
   > ;-- A by-value call   
   > call TheFunction, eax, 42, -1    ;<- detected   
   >   
   > My question, (how) can I tell the by-pointer call which procedure it is   
   > targetting, so that its (number and type of) arguments can be checked ?   
   >   
   > Regards,   
   > Rudy Wieser   
      
   PROCDESC should work. PROCTYPE can also be used as alternative.   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca