146 lines
4.5 KiB
COBOL
146 lines
4.5 KiB
COBOL
IDENTIFICATION DIVISION.
|
|
PROGRAM-ID. TEST15e.
|
|
AUTHOR. Bernard GIROUD.
|
|
INSTALLATION. Tiny Cobol Compiler Project.
|
|
DATE-WRITTEN. 05-AUG-2000.
|
|
DATE-COMPILED.
|
|
SECURITY. NONE.
|
|
|
|
ENVIRONMENT DIVISION.
|
|
* INPUT-OUTPUT SECTION.
|
|
* FILE-CONTROL.
|
|
DATA DIVISION.
|
|
FILE SECTION.
|
|
|
|
WORKING-STORAGE SECTION.
|
|
01 PARM01 PIC X(20) VALUE "TEST".
|
|
01 PARM03 PIC S9(9) COMP.
|
|
01 G-PARM02.
|
|
05 PARM02 PIC X(3).
|
|
05 FILLER PIC X VALUE LOW-VALUES.
|
|
01 G-PARM04.
|
|
05 PARM04 PIC X(3).
|
|
|
|
01 PARM05 PIC S9(18) COMP.
|
|
01 RPARM05 REDEFINES PARM05.
|
|
05 RPAR05L PIC S9(9) COMP.
|
|
05 RPAR05H PIC S9(9) COMP.
|
|
|
|
01 WRES01 PIC S9(4) COMP.
|
|
01 WRES02 PIC S9(8) COMP.
|
|
01 WERES01 PIC 9(4).
|
|
01 WERES02 PIC 9(9).
|
|
* 05 FILLER PIC X VALUE LOW-VALUES.
|
|
|
|
01 WRES05 PIC S9(18) COMP.
|
|
01 WERES05 PIC S9(4) .
|
|
|
|
01 W-PARM05 PIC S9(4) COMP.
|
|
01 W-PARM06 PIC S9(15) COMP.
|
|
|
|
01 WS-PARM03 PIC 9(9).
|
|
01 WS-PARM05 PIC 9(4).
|
|
01 WS-PARM06 PIC 9(15).
|
|
01 WS-PARM05A PIC S9(18).
|
|
|
|
PROCEDURE DIVISION.
|
|
|
|
MOVE "ABCDEFGHIJ0123456789" TO PARM01.
|
|
MOVE "XYZ" TO PARM02.
|
|
MOVE "123" TO PARM04.
|
|
DISPLAY "main (test15e) COB input :" PARM01 ":".
|
|
CALL "STEST901" USING PARM01.
|
|
DISPLAY "main (test15e) COB return :" PARM01 ":".
|
|
|
|
DISPLAY "--------------------------------------------------".
|
|
|
|
MOVE 3 TO PARM03.
|
|
MOVE 5 TO W-PARM05.
|
|
MOVE 6666666666 TO W-PARM06.
|
|
MOVE PARM03 TO WS-PARM03.
|
|
MOVE W-PARM05 TO WS-PARM05.
|
|
MOVE W-PARM06 TO WS-PARM06.
|
|
* DISPLAY "main (test15e) COB input : WS-PARM03=" WS-PARM03 ":".
|
|
DISPLAY "main (test15e) COB input: WS-PARM03=" WS-PARM03
|
|
", WS-PARM05=" WS-PARM05
|
|
", WS-PARM06=" WS-PARM06 ":".
|
|
CALL "STEST902" USING BY VALUE PARM03, W-PARM05, W-PARM06.
|
|
* CALL "STEST902" USING BY VALUE PARM03.
|
|
MOVE PARM03 TO WS-PARM03.
|
|
MOVE W-PARM05 TO WS-PARM05.
|
|
MOVE W-PARM06 TO WS-PARM06.
|
|
* DISPLAY "main (test15e) COB return : PARM03=" WS-PARM03 ":".
|
|
DISPLAY "main (test15e) COB return: PARM03=" WS-PARM03
|
|
", PARM05=" WS-PARM05
|
|
", PARM06=" WS-PARM06 ":".
|
|
|
|
DISPLAY "--------------------------------------------------".
|
|
|
|
DISPLAY "main (test15e) COB input :5:".
|
|
CALL "STEST903" USING BY VALUE 5.
|
|
DISPLAY "main (test15e) COB return :5:".
|
|
|
|
DISPLAY "--------------------------------------------------".
|
|
|
|
MOVE PARM03 TO WS-PARM03.
|
|
DISPLAY "main (test15e) COB input :" PARM02 ":"
|
|
WS-PARM03 ":5:" PARM02 ":" PARM04 ":".
|
|
|
|
CALL "STEST904" USING G-PARM02 BY VALUE PARM03 5
|
|
BY REFERENCE G-PARM02 G-PARM04.
|
|
MOVE PARM03 TO WS-PARM03.
|
|
DISPLAY "main (test15e) COB return :" PARM02 ":"
|
|
WS-PARM03 ":5:" PARM02 ":" PARM04 ":".
|
|
|
|
DISPLAY "--------------------------------------------------".
|
|
|
|
DISPLAY "main (test15e) COB input :" 1234567890123 .
|
|
CALL "STEST905" USING BY VALUE 1234567890123.
|
|
DISPLAY "main (test15e) COB return :" 1234567890123 .
|
|
|
|
DISPLAY "--------------------------------------------------".
|
|
|
|
MOVE 1234567890123 TO PARM05.
|
|
* MOVE 287 TO RPAR05H.
|
|
* MOVE 19 TO RPAR05L.
|
|
MOVE PARM05 TO WS-PARM05A.
|
|
DISPLAY "main (test15e) COB input : WS-PARM05A=" WS-PARM05A.
|
|
CALL "STEST906" USING BY VALUE PARM05.
|
|
DISPLAY "main (test15e) COB return : WS-PARM05A=" WS-PARM05A.
|
|
|
|
DISPLAY "--------------------------------------------------".
|
|
|
|
MOVE 0 TO WRES01.
|
|
MOVE WRES01 TO WERES01.
|
|
DISPLAY "main (test15e) COB input :" 5 ": Returning WRES01 (size short) ="
|
|
WERES01 .
|
|
CALL "STEST907" USING BY VALUE 5 RETURNING WRES01.
|
|
MOVE WRES01 TO WERES01.
|
|
DISPLAY "main (test15e) COB return :" 5 ": Returning WRES01 (size short) ="
|
|
WERES01 .
|
|
|
|
DISPLAY "--------------------------------------------------".
|
|
|
|
MOVE 0 TO WRES02.
|
|
MOVE WRES02 TO WERES02.
|
|
DISPLAY "main (test15e) COB input :" 5 ": Returning WRES02 (size int)="
|
|
WERES02.
|
|
CALL "STEST908" USING BY VALUE 5 RETURNING WRES02.
|
|
MOVE WRES02 TO WERES02.
|
|
DISPLAY "main (test15e) COB return :" 5 ": Returning WRES02 (size int) ="
|
|
WERES02 .
|
|
|
|
DISPLAY "--------------------------------------------------".
|
|
MOVE 0 TO WRES05.
|
|
MOVE WRES05 TO WERES05.
|
|
DISPLAY "main (test15e) COB input :" 5 ": Returning WERES05 (size long long)="
|
|
WERES05.
|
|
CALL "STEST909" USING BY VALUE 5 RETURNING WERES05.
|
|
MOVE WRES05 TO WERES05.
|
|
DISPLAY "main (test15e) COB return :" 5 ": Returning WERES05 (size long long)="
|
|
WERES05.
|
|
DISPLAY "--------------------------------------------------".
|
|
|
|
MOVE 5 TO RETURN-CODE.
|
|
STOP RUN.
|