× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



I am working on a program that materializes the call stack for any user 
but when I run it I am getting an error.  This error only occurs on the 
second parameter of the MATINVS instruction.

I am retrieving the WCB table entry for user/job/number passed to the 
program.  I then take that pointer and convert it to a system pointer 
using SETSPFP and use it as the second parameter on the MATINVS 
instruction.

The error message is "Pointer addresses object type not valid for this 
operation."


What does the pointer on the second parameter suppose to point to?

Thanks for the help!!



Code is as follows:

Use_WCB_Entry is defined as a system pointer.

...
/* Look for a job. 
  CMPBLA(B)   '*', Job_Name/EQ(@GET_CURRENT_JOB); 
  CMPBLA(B)   ' ', Job_Name/EQ(@EXIT); 
  CPYBLA       ARG_PREFIX, '1'; 
  CPYBLA       ARG_JOB, Job_Name; 
 
/* Look for the specified job in the job index.               */
  CPYBLA      Object_Type, X'0EA4'; 
 
  CPYBLAP     Object_Name, 'QWCBT_JOB_INDEX', ' '; 
  RSLVSP     .Job_Index, Object, *, *; 
 
  FNDINXEN   .JOB_RECEIVER, .Job_Index, .OPTIONS, .ARGUMENT; 
  CMPNV(B)     1, OPT_RETURN_COUNT/HI(@EXIT); 
 
/* Check the job status. 
  CMPBLA(B)    WCB_STATUS, X'20'/NEQ (@EXIT); /*ACTIVE  */ 
  TSTBUM(B)    WCB_GROUP , X'06'/ONES(@EXIT); /*SUSPGRP */ 
  CMPBLA(B)    WCB_TYPE  ,  "I" /NEQ (@EXIT); /*INTERACT*/ 
  SETSPFP      .Use_WCB_Entry, .WCB_ENTRY; 
  B @GET_STACK_ENTRIES; 
 
/* Get pointer to the current job.                                   */
@GET_CURRENT_JOB: 
...

/* Get the number of stack entries.                                 */ 
@GET_STACK_ENTRIES: 
  CPYNV      STK_BYTES_PRV, 8; 
  SETSPP    .THE_STACK, THE_STACK; 
  CPYBLA           Call_Stack(Next_Offset:10), OPT_RETURN_COUNT; 
  MATINVS   .THE_STACK, .Use_WCB_Entry;   
  MODASA    .THE_STACK, STK_BYTES_AVL; 
 
/* Get all call stack entries.                                       */ 
/* NOTE: The number of call stack entries may have changed since     */ 
/*       the last call.                                              */ 
  CPYNV      STK_BYTES_PRV, STK_BYTES_AVL; 
  SETSPP    .THE_STACK, THE_STACK; 
  MATINVS   .THE_STACK, .Use_WCB_Entry; 
  OVRPGATR   1, 2; 
... 




Whe


Bobby.

Robert Hicks
Combinatorics Consulting Company
Tel.: (248) 347 - 7222, ext. 222
Fax: (248) 347 - 7227
Email:  Robert.Hicks@ccc-michigan.com


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.