@@ -15253,49 +15253,79 @@ AT_CHECK([$COBCRUN_DIRECT ./prog], [0], [1.2345E-5 1.2345E-5], [])
1525315253AT_CLEANUP
1525415254
1525515255
15256- AT_SETUP([display all characters of COMP-X])
15257- # AT_KEYWORDS([display comp-x ])
15256+ AT_SETUP([PICTURE COMP-X])
15257+ AT_KEYWORDS([Numeric ])
1525815258
1525915259AT_DATA([prog.cob], [
1526015260 IDENTIFICATION DIVISION.
1526115261 PROGRAM-ID. prog.
15262-
15263- DATA DIVISION.
15262+ DATA DIVISION.
1526415263 WORKING-STORAGE SECTION.
15265-
15266- 01 W-X PIC X COMP-X VALUE 99.
15267- 01 W-Y PIC X COMP-X VALUE 128.
15268- 01 W-Z PIC X VALUE "z".
15269- 01 W-ZR REDEFINES W-Z PIC X COMP-X.
15270- 01 W-A PIC XX COMP-X VALUE 256.
15271- 01 W-B PIC XX COMP-X VALUE 64046.
15264+ 01 TST.
15265+ 05 BVAL PIC 9999 BINARY VALUE 512.
15266+ 05 XVAL PIC XX COMP-X VALUE 512.
15267+ 88 XLOW VALUE 0 THRU 256.
15268+ 88 XHIGH VALUE 257 THRU 65536.
15269+ 05 VAL9 PIC 99999 COMP-X VALUE 1024.
15270+ 88 LOW9 VALUE 0 THRU 256.
15271+ 88 HIGH9 VALUE 257 THRU 65536.
15272+ 05 XVAL2 PIC XX COMP-X VALUE 16706.
15273+ 05 XVALX REDEFINES XVAL2 PIC XX.
15274+ 05 YVALX PIC XX VALUE 'A '.
15275+ 05 YVAL2 REDEFINES YVALX PIC XX COMP-X.
1527215276
1527315277 PROCEDURE DIVISION.
15274- MAIN.
15275- DISPLAY FUNCTION BYTE-LENGTH (W-X).
15276- DISPLAY FUNCTION BYTE-LENGTH (W-Y).
15277- DISPLAY FUNCTION BYTE-LENGTH (W-ZR).
15278- DISPLAY FUNCTION BYTE-LENGTH (W-A).
15279- DISPLAY FUNCTION BYTE-LENGTH (W-B).
15280- DISPLAY W-X.
15281- DISPLAY W-Y.
15282- DISPLAY W-ZR.
15283- DISPLAY W-A.
15284- DISPLAY W-B.
15278+ DISPLAY " XVAL is " XVAL "; Length is " LENGTH OF XVAL.
15279+ DISPLAY " VAL9 is " VAL9 "; Length is " LENGTH OF VAL9.
15280+ MOVE 10240 TO XVAL.
15281+ DISPLAY " XVAL is " XVAL "; Length is " LENGTH OF XVAL.
15282+ DISPLAY "XVAL2 is " XVAL2 "; Length is " LENGTH OF XVAL2.
15283+ DISPLAY "XVALX is " XVALX "; Length is " LENGTH OF XVALX.
15284+ ADD 1 TO XVAL2.
15285+ DISPLAY "XVALX is " XVALX " after +1;".
15286+ COMPUTE XVAL2 = XVAL2 / 256 + 8192.
15287+ DISPLAY "XVALX is " XVALX " after / 256 + 8192;".
15288+ MOVE 'DE' TO XVALX.
15289+ DISPLAY "Numeric: " XVAL2 " is char " XVALX.
15290+ MOVE ZERO TO YVAL2.
15291+ MOVE 'D' TO YVALX (1:1)
15292+ MOVE LOW-VALUES TO YVALX (2:1)
15293+ SUBTRACT YVAL2 FROM XVAL2.
15294+ MOVE ' ' TO YVALX (1:1)
15295+ MOVE LOW-VALUES TO YVALX (2:1)
15296+ ADD YVAL2 TO XVAL2.
15297+ DISPLAY "Numeric: " XVAL2 " is char " XVALX.
15298+ MOVE 0 TO XVAL.
15299+ ADD 10240 TO XVAL.
15300+ IF XVAL = 10240
15301+ DISPLAY "XVAL is " XVAL
15302+ ELSE
15303+ DISPLAY "XVAL is not 10240 but " XVAL
15304+ END-IF.
15305+ MOVE 0 TO BVAL.
15306+ ADD 10240 TO BVAL.
15307+ IF BVAL = 0240
15308+ DISPLAY "BVAL is " BVAL
15309+ ELSE
15310+ DISPLAY "BVAL is not 0240 but " BVAL
15311+ END-IF.
1528515312 STOP RUN.
1528615313])
1528715314
15288- AT_CHECK([$COMPILE prog.cob])
15289- AT_CHECK([$COBCRUN_DIRECT ./prog], [0], [1
15290- 1
15291- 1
15292- 2
15293- 2
15294- 099
15295- 128
15296- 122
15297- 00256
15298- 64046
15315+ AT_CHECK([$COMPILE prog.cob], [0], [], [])
15316+
15317+ AT_CHECK([./prog], [0], [ XVAL is 00512; Length is 2
15318+ VAL9 is 01024; Length is 3
15319+ XVAL is 10240; Length is 2
15320+ XVAL2 is 16706; Length is 2
15321+ XVALX is AB; Length is 2
15322+ XVALX is AC after +1;
15323+ XVALX is A after / 256 + 8192;
15324+ Numeric: 17477 is char DE
15325+ Numeric: 08261 is char E
15326+ XVAL is 10240
15327+ BVAL is 0240
1529915328], [])
1530015329
1530115330AT_CLEANUP
15331+
0 commit comments