HP3000-L Archives

December 2003, 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:
Brian Donaldson <[log in to unmask]>
Date:
Fri, 12 Dec 2003 18:53:23 -0500
Content-Type:
text/plain
Parts/Attachments:
text/plain (122 lines)
I rest my case:


:COB85XL COBTEST.SOURCE,,$NULL

PAGE 0001  COBOL II/iX HP31500A.04.21  [85] Copyright Hewlett-Packard CO.
1987



0 ERROR(s), 0 QUESTIONABLE, 0 WARNING(s)

    DATA AREA IS       4C BYTES.
    CPU TIME = 0:00:00.  WALL TIME = 0:00:00.

END OF PROGRAM
END OF COMPILE
:LINK FROM=$OLDPASS;TO=COBTEST.NMPRG
HP Link Editor/iX (HP30315A.06.15) Copyright Hewlett-Packard Co 1986

LinkEd> LINK FROM=$OLDPASS;TO=COBTEST.NMPRG

:RUN COBTEST.NMPRG

Illegal ASCII digit (COBERR 711)
Program file: COBTEST.NMPRG.E3K
Trap type = 00000200 (22,00), at pc = 00000359.00005EAF
invalid ascii digit
Source address = 418442F0, Source = '1234567 '
                  (hex)    Source = '3132333435363720'
DEBUG/iX C.25.06

HPDEBUG Intrinsic at: b9.00259304 cob_trap.print_message+$5ec
$$$$ Trap occurred at: _start+$84, at Stmt    #25
     PC=359.00005654 $$valg+$14
  0) SP=41844330 RP=359.00005eb4 _start+$8c
* 1) SP=41844330 RP=359.00000000
     (end of NM stack)
$$$$ The address $418442f0 = SP-$40 is in _start (TEMPCELL or $DYNAMIC)
============================================================

**** COB_QUIT 711 ****

ABORT: COBTEST.NMPRG.E3K
R0 =00000000 d61c4018 01428153 00000003 R4 =41844570 01428800 4184459c
418445e0
R8 =00000002 41844330 41844330 00000000 R12=00000000 00000000 00000000
00000000
R16=00000000 00000000 00000000 41844670 R20=00000080 d4417800 c0000000
00000000
R24=00000000 00000001 00000000 c0202008 R28=00000000 00000000 41844630
00000000

IPSW=0004f80f=thlnxbCvmrQPDI PRIV=3
 SAR=9  PCQF=a.1428153  a.1428157

SR0=0000000a 00000000 00000000 00000000 SR4=0000000a 00000358 0000000b
0000000a
TR0=00001004 036f3f0c 002281c4 41847990 TR4=41847810 00d452a4 c0202008
00143000
PID1=0000015c=000000ae(W)               PID2=00000000=00000000(W)
PID3=00000000=00000000(W)               PID4=00000000=00000000(W)
RCTR=00000000 ISR=00000358 IOR=41844614 IIR=4bd53fc9 IVA=00143000
ITMR=5a947a94
EIEM=ffffffff EIRR=00000000 CCR=0

Program terminated in an error state. (CIERR 976)
Brians World:


-----------------

Based upon the info you gave, yes, it will work if the contents of the "X"
field are numeric. However, with an "X" definition anything can be put in
there, alpha or numeric data.

Your program won't give any problems provided the entire length of the "X"
field is filled with all numeric. If you had put e.g. "1234567 " in
that "X" field you would see a problem if the program was compiled with the
VALIDATE option in your $CONTROL statement at the top of the source code,
thus:

$CONTROL VALIDATE
IDENTIFICATION DIVISION.
PROGRAM-ID. COBTEST.
DATA DIVISION.
WORKING-STORAGE SECTION.
01  A    PIC X(8).
01  B    PIC S9(8)    COMP.
01  C    PIC ZZZ,ZZZ,ZZ9.
PROCEDURE DIVISION.
BEGIN.
     MOVE "1234567 " TO A
     MOVE A TO B
     MOVE B TO C
     DISPLAY C
     STOP RUN.
END PROGRAM COBTEST.


I would never do what this program is suggesting. My version would be done
thus:

$CONTROL VALIDATE
IDENTIFICATION DIVISION.
PROGRAM-ID. COBTEST.
DATA DIVISION.
WORKING-STORAGE SECTION.
01  A    PIC 9(8) VALUE 12345678.
01  B    PIC S9(8)    COMP.
01  C    PIC ZZZ,ZZZ,ZZ9.
PROCEDURE DIVISION.
BEGIN.
     MOVE A TO B
     MOVE B TO C
     DISPLAY C
     STOP RUN.
END PROGRAM COBTEST.

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

ATOM RSS1 RSS2