HP3000-L Archives

February 2005, 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:
Ron Horner <[log in to unmask]>
Reply To:
Ron Horner <[log in to unmask]>
Date:
Fri, 11 Feb 2005 12:38:33 -0600
Content-Type:
text/plain
Parts/Attachments:
text/plain (108 lines)
One more point, the routines are in CM mode.

Ron Horner
Legacy Systems Supervisor
lia sophia
SHARE THE LOVE OF JEWELRYT
www.liasophia.com
[log in to unmask]
(630) 860-3323


-----Original Message-----
From: Stan Sieler [mailto:[log in to unmask]]
Sent: Friday, February 04, 2005 12:28 PM
To: Ron Horner; [log in to unmask]
Subject: Re: [HP3000-L] Bounds Problem

Re:
> I'm getting this error on a freaddir call.
>
> Intrinsic layer; a bounds violation occurred.

Keven's :SETDUMP will help, if you're aborting.

If you fall into debug, post the results of:

    dr

    tr,i,d

What language is the code that's calling FREADDIR?


BTW, here's how to set a breakpoint to look at the
parameters:


   :cseq FREADDIR

<plug>...you *do* have CSEQ, don't you? :)   Every programmer should!
</plug>

Ok, ok...

   :cseq freaddir

   Procedure FREADDIR (
      filenum      :        int16   ;     {R26}
      target       : anyvar record  ;     {(skip R25)
                                           R23, R24}
                                          {Address type = LongAddr}
      tcount       :        int16   ;     {SP-$0032}
      recnum       :        int32   )     {SP-$0038}
      {tcount is > 0 for 16-bit words, < 0 for bytes                      }
         uncheckable_anyvar

The above says "what you called freaddir is actually FREADDIR"
(NM procedure names are case sensitive, BTW).
It also says: the intrinsic has 4 parameters, 3 by-value and
1 by-reference.  The reference parameter is an 8-byte long address.

NOTE: the following is for NM programs.
Setting a breakpoint for the CM FREADDIR is done differently!

Since you might have a number of calls to FREADDIR before you
abort, let's write a macro to display the parameters and
automatically continue.

   run myprog; debug

   macro show_freaddir {          /* that's a left brace, not ( or [
      wl "FREADDIR (file ", r26:"#",
            " to ", r23.r24,
            " for ", [s16 sp-$32]:"#",
            ", rec ", [sp-$38]:"#", ")";
      c }

      /* NOTE: setting a breakpoint at FREADDIR requires
      /*       that you, the user, have PM capability

   b FREADDIR, , quiet, show_freaddir

   c

Example output:

   /t t            (I'm in QEDIT, texting in a small file)
   FREADDIR (file #13 to $84c.418389c8 for #512, rec# 0)
   FREADDIR (file #13 to $84c.41a5eb78 for #4096, rec# 1)
   'Language' is now DATA
   FREADDIR (file #13 to $84c.41a5e2f8 for #4096, rec# 1)
   115 lines in file

The above shows that FREADDIR was called three times.






--
Stan Sieler
[log in to unmask]
www.allegro.com/sieler/wanted/index.html

* To join/leave the list, search archives, change list settings, *
* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *

ATOM RSS1 RSS2