HP3000-L Archives

January 2006, 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:
Brian Donaldson <[log in to unmask]>
Reply To:
Date:
Thu, 12 Jan 2006 14:41:31 EST
Content-Type:
text/plain
Parts/Attachments:
text/plain (166 lines)
In response to Keven's posting, yes, the stackdump works ok, but does  not 
return the
PROGRAM-ID value in the Cobblers program but actually returns the  values of 
the subroutine names. Wasn't exactly what I needed for my apps but it  is 
reasonably close to a solution...
 
Brian.
 
Here's the output:
 
:TEST.NMPRG
PC=a.00fab864  NL.PUB.SYS/stackdump_prime+$264
NM* 0) SP=41844930 RP=a.01407e78  stackdump2+$844
DP=c0202008 PSP=418447f0  PCPRIV=2
NM  1) SP=418447f0 RP=a.014085bc  STACKDUMP+$1e4
DP=c0202008 PSP=41844630  PCPRIV=2
NM  2) SP=41844630 RP=a.014083c4  ?STACKDUMP+$8
DP=c0202008 PSP=41844570  PCPRIV=2
export stub:  179.00006118 TEST.NMPRG.DEV/call_the_subroutine1+$a4
NM  3) SP=41844570  RP=179.00005e04 _start+$74
DP=41646000  PSP=41844330 PCPRIV=3
NM  4) SP=41844330 RP=179.00000000  
DP=41646000 PSP=41844130  PCPRIV=3
(end of NM stack)
1) CALL TO STACKDUMP  OK
************************************
PC=a.00fab864 NL.PUB.SYS/stackdump_prime+$264
NM* 0) SP=41844b70  RP=a.01407e78 stackdump2+$844
DP=c0202008 PSP=41844a30 PCPRIV=2
NM  1) SP=41844a30 RP=a.014085bc  STACKDUMP+$1e4
DP=c0202008 PSP=41844870  PCPRIV=2
NM  2) SP=41844870 RP=a.014083c4  ?STACKDUMP+$8
DP=c0202008 PSP=418447b0  PCPRIV=2
export stub:  179.000063a8 TEST.NMPRG.DEV/call_the_subroutine2+$a4
NM  3) SP=418447b0  RP=179.000061a8  call_the_subroutine1+$134
DP=41646000  PSP=41844570 PCPRIV=3
NM  4) SP=41844570 RP=179.00005e04  _start+$74
DP=41646000 PSP=41844330  PCPRIV=3
NM  5) SP=41844330 RP=179.00000000  
DP=41646000 PSP=41844130  PCPRIV=3
(end of NM stack)
2) CALL TO STACKDUMP  OK
>+0000>+0000<
Brians World:
 
 
Here's the code:
 
Mainline:
 
$CONTROL OPTIMIZE=1,VALIDATE,BOUNDS,CROSSREF,POST85,SYNC32
$CONTROL  OPTFEATURES=CALLALIGNED,ERRORS=5
IDENTIFICATION  DIVISION.
PROGRAM-ID. TEST1.
AUTHOR. BRIAN  DONALDSON.
DATE-WRITTEN. JANUARY 2006.
ENVIRONMENT  DIVISION.
DATA DIVISION.
WORKING-STORAGE  SECTION.
01  WS-ERROR-CODE-DOUBLE     COMP.
05  WS-ECD-1 PIC S9(04)  COMP.
05  WS-ECD-2 PIC S9(04)  COMP.
PROCEDURE  DIVISION.
A000-MAINLINE.

INITIALIZE WS-ERROR-CODE-DOUBLE.
CALL  "call_the_subroutine1" USING WS-ERROR-CODE-DOUBLE.
DISPLAY ">" WS-ECD-1 ">" WS-ECD-2 "<".
STOP  RUN.
 
 
Sub 1:
 
$CONTROL  DYNAMIC,OPTIMIZE=1,VALIDATE,BOUNDS,CROSSREF,POST85,SYNC32
$CONTROL  OPTFEATURES=LINKALIGNED,ERRORS=5
IDENTIFICATION  DIVISION.
PROGRAM-ID. TEST2.
AUTHOR. BRIAN  DONALDSON.
DATE-WRITTEN. JANUARY 2006.
ENVIRONMENT  DIVISION.
CONFIGURATION SECTION.
SPECIAL-NAMES. CONDITION-CODE  IS C-C.
DATA DIVISION.
WORKING-STORAGE  SECTION.
01  WS-ID-NUMBER PIC S9(04) COMP VALUE  ZEROES.
LINKAGE SECTION.
01   LS-ERROR-CODE-DOUBLE    COMP.
05  LS-ECD-1 PIC S9(04) COMP.
05  LS-ECD-2  PIC S9(04) COMP.
PROCEDURE DIVISION USING  LS-ERROR-CODE-DOUBLE.
A000-MAINLINE.

ENTRY "call_the_subroutine1" USING LS-ERROR-CODE-DOUBLE.
 
     PERFORM A100-PROCESS THRU  A100-EXIT.
GOBACK.

A100-PROCESS.

INITIALIZE  LS-ERROR-CODE-DOUBLE
WS-ID-NUMBER.
CALL INTRINSIC "STACKDUMP" USING  \\,
WS-ID-NUMBER,
\\,
\\
END-CALL.
IF C-C =  ZEROES THEN
DISPLAY '1) CALL TO  STACKDUMP OK'
ELSE
DISPLAY '1) CALL TO  STACKDUMP NOT OK'
END-IF.
DISPLAY  "************************************".
CALL  "call_the_subroutine2" USING LS-ERROR-CODE-DOUBLE.
GO TO A100-EXIT.

A100-EXIT.
EXIT.
 
Sub 2:
 
$CONTROL  DYNAMIC,OPTIMIZE=1,VALIDATE,BOUNDS,CROSSREF,POST85,SYNC32
$CONTROL  OPTFEATURES=LINKALIGNED,ERRORS=5
IDENTIFICATION  DIVISION.
PROGRAM-ID. TEST3.
AUTHOR. BRIAN  DONALDSON.
DATE-WRITTEN. JANUARY 2006.
ENVIRONMENT  DIVISION.
CONFIGURATION SECTION.
SPECIAL-NAMES. CONDITION-CODE  IS C-C.
DATA DIVISION.
WORKING-STORAGE  SECTION.
01  WS-ID-NUMBER PIC S9(04) COMP VALUE  ZEROES.
LINKAGE SECTION.
01   LS-ERROR-CODE-DOUBLE    COMP.
05  LS-ECD-1 PIC S9(04) COMP.
05  LS-ECD-2  PIC S9(04) COMP.
PROCEDURE DIVISION USING  LS-ERROR-CODE-DOUBLE.
A000-MAINLINE.
 
     ENTRY "call_the_subroutine2" USING  LS-ERROR-CODE-DOUBLE.
 
     PERFORM A100-PROCESS THRU  A100-EXIT.
GOBACK.
 
 A100-PROCESS.
 
     INITIALIZE  LS-ERROR-CODE-DOUBLE
WS-ID-NUMBER.
CALL INTRINSIC "STACKDUMP" USING  \\,
WS-ID-NUMBER,
\\,
\\
END-CALL.
IF C-C =  ZEROES THEN
DISPLAY '2) CALL TO  STACKDUMP OK'
ELSE
DISPLAY '2) CALL TO  STACKDUMP NOT OK'
END-IF.
GO TO A100-EXIT.
 
 A100-EXIT.
EXIT.

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

ATOM RSS1 RSS2