HP3000-L Archives

April 2000, Week 2

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Stan Sieler <[log in to unmask]>
Reply To:
Stan Sieler <[log in to unmask]>
Date:
Wed, 12 Apr 2000 18:29:41 -0700
Content-Type:
text/plain
Parts/Attachments:
text/plain (52 lines)
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

ATOM RSS1 RSS2