Subject: | |
From: | |
Reply To: | |
Date: | Wed, 12 Apr 2000 18:29:41 -0700 |
Content-Type: | text/plain |
Parts/Attachments: |
|
|
Hi,
If Keven's answer didn't solve the problem,
then you'll want to:
1) print the value of x1:
(void) printf ("x1 @ $%x\n", (int) x1);
If the value is in the range $40000000 .. $42000000
then you're getting some kind of address passed.
I'd then print the value being (indirectly) passed:
(void) printf ("x1 --> $%x\n", *x1);
2) if the above doesn't shed any light on things, then:
:run myprog; debug
nm
findproc testfunc XL
= testfunc (to verify that the findproc worked)
b testfunc
c
when you hit the breakpoint at testfunc, do:
= r26
It should be an "address" (see #1 above)
> void testfunc(float *x1)
> {
> float x2;
> short sformat,dformat;
> sformat=1;
> dformat=3;
> HPFPCONVERT(&x1,&x2,sformat,dformat);
> printf("parm rec'd = %f\n",x2);
> x2=3.3;
> sformat=3;
> dformat=1;
> HPFPCONVERT(&x2,&x1,sformat,dformat);
> return;
> }
>
Stan Sieler [log in to unmask]
www.allegro.com/sieler/wanted/index.html www.allegro.com/sieler
|
|
|