comp.lang.ada
 help / color / mirror / Atom feed
From: Shark8 <onewingedshark@gmail.com>
Subject: Re: Pascal Calling Convention
Date: Wed, 23 Mar 2011 19:04:45 -0700 (PDT)
Date: 2011-03-23T19:04:45-07:00	[thread overview]
Message-ID: <3bf6335f-2319-4669-bed2-216a5afbe6db@z27g2000prz.googlegroups.com> (raw)
In-Reply-To: op.vstobjtxule2fv@index.ici

On Mar 23, 6:43 pm, Yannick Duchêne (Hibou57)
<yannick_duch...@yahoo.fr> wrote:
> Le Thu, 24 Mar 2011 01:24:41 +0100, Randy Brukardt <ra...@rrsoftware.com>  
> a écrit:> This is news to me, and I wrote the pragma Import support in Janus/Ada.
> > Parameter passing in all of the Windows conventions (including C!) is
> > left-to-right. But perhaps whomever wrote that was confused by the fact  
> > that
> > the x86 stack grows downward, so the left parameter is the one at the
> > highest address on the stack. Even so, it is the first one pushed.
>
> While I read you, I can't avoid thinking you must be true, as this is the  
> only way to get variable number of parameters working for C. What is  
> confusing also, is that assembly program sometime use the stack as an  
> array : allocated room on the stack, and then do something looking like  
> [ebp+0] := ... [ebp+4] := ... and so on. But I feel to remember parameter  
> passing order for WinAPI is the reversed one than C. I will have a test  
> tomorrow to check (I am not running Windows right now).

Yes-ish.
In the 16-bit world [Win 3.11] WinAPI params were pushed with Left-to-
Right [Pascal convention];
in the 32-bit world Win32API params are pushed Right-to-Left (like C,
but with calee cleanup, like Pascal calling convention).

http://en.wikipedia.org/wiki/X86_calling_conventions



  reply	other threads:[~2011-03-24  2:04 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-23 21:37 Pascal Calling Convention Shark8
2011-03-23 23:25 ` Yannick Duchêne (Hibou57)
2011-03-24  0:24   ` Randy Brukardt
2011-03-24  0:43     ` Yannick Duchêne (Hibou57)
2011-03-24  2:04       ` Shark8 [this message]
2011-03-25 15:40         ` Yannick Duchêne (Hibou57)
     [not found]       ` <F8mdnYCca6tRJBfQnZ2dnUVZ_s-dnZ2d@earthlink.com>
2011-03-24 19:20         ` Keith Thompson
2011-03-25 16:04           ` Robert A Duff
2011-03-25 17:02             ` Hyman Rosen
2011-03-25 17:09               ` Robert A Duff
2011-03-25 17:35                 ` Hyman Rosen
2011-03-26 19:51                   ` Robert A Duff
2011-03-25 17:51             ` Keith Thompson
2011-03-26 20:46               ` Robert A Duff
2011-03-27  2:24                 ` Randy Brukardt
2011-03-28 15:41                   ` Adam Beneschan
2011-03-28 19:52                   ` Robert A Duff
2011-03-29  2:32                     ` Randy Brukardt
2011-03-29  6:06                       ` Shark8
2011-03-29 23:45                         ` Randy Brukardt
2011-03-29 19:19                       ` Robert A Duff
2011-03-30  0:02                         ` Randy Brukardt
2011-03-30 12:40                           ` Robert A Duff
2011-03-30 19:40                             ` Randy Brukardt
2011-03-30 20:56                               ` tmoran
2011-03-30 22:34                                 ` Robert A Duff
2011-03-31 21:00                                   ` Randy Brukardt
2011-03-28 20:29                 ` Hyman Rosen
2011-03-28 21:16                   ` Adam Beneschan
2011-03-28 21:26                     ` Hyman Rosen
2011-03-28 22:08                       ` Adam Beneschan
2011-03-28 23:47                         ` Georg Bauhaus
2011-03-29 12:23                           ` stefan-lucks
2011-03-29 13:10                             ` Hyman Rosen
2011-03-30 13:42                             ` Phil Clayton
2011-03-31  7:40                               ` Phil Clayton
2011-03-29  2:48                         ` Hyman Rosen
2011-03-29 18:30                           ` Robert A Duff
2011-03-29 23:25                             ` Adam Beneschan
2011-03-30 12:50                               ` Robert A Duff
2011-03-30 14:47                                 ` Adam Beneschan
2011-03-30 18:10                                   ` Robert A Duff
2011-03-29  3:01                         ` Hyman Rosen
2011-03-29 18:22                           ` Robert A Duff
2011-03-26 21:30           ` Florian Weimer
2011-03-27 16:18             ` Robert A Duff
2011-03-27 16:38               ` Florian Weimer
2011-03-27 16:56                 ` Robert A Duff
2011-03-24  2:15   ` Shark8
2011-03-24  0:38 ` ytomino
2011-03-24  2:23   ` Shark8
2011-03-24 21:29 ` Gautier write-only
2011-03-25 12:47 ` Marco
2011-03-25 15:38   ` Yannick Duchêne (Hibou57)
2011-03-26  8:39     ` ObjectAda [was: Pascal Calling Convention] Gautier write-only
2011-03-26 14:05       ` Marco
2011-03-26 21:58         ` Gautier write-only
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox