Page 1 of 1

COBOL CALL TO ASM

PostPosted: Fri Jul 30, 2010 7:29 am
by tsreddyusa
COBOL PROGRAM

01 PARM-STRING PIC X(20).
01 PARM-STRING-LEN PIC S9(9) COMP VALUE 1.

PROCEDURE DIVISION.

STRING 'ABC,DEF,GHI' DELIMITED BY SIZE INTO PARM-STRING
USING POINTER PARM-STRING-LEN.

SUBTRACT 1 FROM PARM-STRING-LENGTH

CALL 'ASMPGM' USING PARM-STRING
PARM-STRING-LENGTH

ASMPGM IS VENDOR PROGRAM.SO I AM NOT SURE HOW IT WAS CODED. ACCORDING TO USER GUIDE
FIRST PARM IS ADDRESS OF INPUT STRING (4 BYTES) AND SECOND PARM IS ADDRESS OF INPUT STRING LENGTH (4 BYTES)
BUT FOR SOME REASON ASMPGM DOES NOT STOP AFTER THE LENGTH. IT KEEPS ON PROCESSING DATA BEYOND THE ADDRESS OF
INPUT STRING. COULD SOMEBODY PLEASE HELP ?

Re: COBOL CALL TO ASM

PostPosted: Fri Jul 30, 2010 8:49 am
by Robert Sample
I suspect this might work better (also note the use of the Code tag):
01 PARM-STRING PIC X(20).
01 PARM-STRING-LEN PIC S9(9) COMP VALUE 1.

PROCEDURE DIVISION.

STRING 'ABC,DEF,GHI' DELIMITED BY SIZE INTO PARM-STRING.

MOVE 11 TO PARM-STRING-LENGTH.

CALL 'ASMPGM' USING PARM-STRING
                    PARM-STRING-LENGTH

Re: COBOL CALL TO ASM

PostPosted: Fri Jul 30, 2010 8:08 pm
by tsreddyusa
Robert, did not work. same issue..reading data beyond the length.

Re: COBOL CALL TO ASM

PostPosted: Fri Jul 30, 2010 8:39 pm
by Robert Sample
Perhaps you should contact the vendor for assistance, then?