Obviously given the lack of support for 64 bit, the failure to implement 64 bit addressing so COBOL can run nicely in 64 bit Websphere, the failure to implement USAGE BIT, the failure to implement the IBM pushed decimal floating point, the failure to implement IEEE floating point using the 2002 COBOL STANDARD floating point usages, it is obvious COBOL is seen as a cash cow to be milked until phase-out.
On 8 Oct 2009 12:45:16 -0700, in bit.listserv.ibm-main you wrote: >Chase, John wrote: >>> -----Original Message----- >>> From: IBM Mainframe Discussion List On Behalf Of Steve Comstock >>> >>> Farley, Peter x23353 wrote: >>>> I did not see anything about it in the updates page in the language >>>> reference nor the programmer's guide, but I'm wondering if anyone >> here >>>> knows if the newest release of the Enterprise COBOL compiler will >>>> generate "grande" arithmetic instructions for COBOL binary fields >> (e.g. >>>> will it generate an AG or AGR instruction for adding two PIC S9(18) >>>> BINARY fields?). >>> 1. Latest and greatest is actually Enterprise COBOL 4.2 >>> >>> 2. Ran an experiment for you; here is the generated code >>> for 'add fld-d to fld-e' where both are pic s9(18) binary: >> >> Did you try it with PIC S9(18) COMP-5? >> >> -jc- > >No, but good idea; so here it is: > > LM 2,3,48(8) FLD-D > SLDA 2,0(0) > BC 11,394(0,11) GN=31(0009EA) > LCR 2,2 > LCR 3,3 > BC 8,394(0,11) GN=31(0009EA) > BCTR 2,0 >GN=31 EQU * > ZAP 344(16,13),1367(1,10) TS2=0 > LTR 2,2 > BC 2,420(0,11) GN=32(000A04) > BC 8,436(0,11) GN=33(000A14) > AP 344(16,13),1354(6,10) TS2=0 > X 2,1336(0,10) PGMLIT AT +1324 >GN=32 EQU * > CVD 2,360(0,13) TS2=16 > AP 344(16,13),360(8,13) TS2=0 > MP 344(16,13),1348(6,10) TS2=0 >GN=33 EQU * > LTR 3,3 > BC 2,456(0,11) GN=34(000A28) > BC 8,466(0,11) GN=35(000A32) > AP 344(16,13),1354(6,10) TS2=0 > X 3,1336(0,10) PGMLIT AT +1324 >GN=34 EQU * > CVD 3,360(0,13) TS2=16 > AP 344(16,13),360(8,13) TS2=0 >GN=35 EQU * > TM 48(8),X'80' FLD-D > BC 8,478(0,11) GN=36(000A3E) > OI 359(13),X'01' TS2=15 >GN=36 EQU * > LM 2,3,56(8) FLD-E > SLDA 2,0(0) > BC 11,500(0,11) GN=37(000A54) > LCR 2,2 > LCR 3,3 > BC 8,500(0,11) GN=37(000A54) > BCTR 2,0 >GN=37 EQU * > ZAP 360(16,13),1367(1,10) TS2=16 > LTR 2,2 > BC 2,526(0,11) GN=38(000A6E) > BC 8,542(0,11) GN=39(000A7E) > AP 360(16,13),1354(6,10) TS2=16 > X 2,1336(0,10) PGMLIT AT +1324 >GN=38 EQU * > CVD 2,376(0,13) TS2=32 > AP 360(16,13),376(8,13) TS2=16 > MP 360(16,13),1348(6,10) TS2=16 >GN=39 EQU * > LTR 3,3 > BC 2,562(0,11) GN=40(000A92) > BC 8,572(0,11) GN=41(000A9C) > AP 360(16,13),1354(6,10) TS2=16 > X 3,1336(0,10) PGMLIT AT +1324 >GN=40 EQU * > CVD 3,376(0,13) TS2=32 > AP 360(16,13),376(8,13) TS2=16 >GN=41 EQU * > TM 56(8),X'80' FLD-E > BC 8,584(0,11) GN=42(000AA8) > OI 375(13),X'01' TS2=31 >GN=42 EQU * > AP 365(11,13),350(10,13) TS2=21 > MVC 376(16,13),360(13) TS2=32 > L 2,92(0,9) TGTFIXD+92 > L 15,60(0,2) V(IGZCIDB ) > LA 1,1802(0,10) PGMLIT AT +1790 > BASR 14,15 > MVC 56(8,8),392(13) FLD-E > > >So, still using packed decimal; one more try with >trunc(opt): > > LM 2,3,48(8) FLD-D > SLDA 2,0(0) > BC 11,394(0,11) GN=31(0009EA) > LCR 2,2 > LCR 3,3 > BC 8,394(0,11) GN=31(0009EA) > BCTR 2,0 >GN=31 EQU * > ZAP 344(16,13),1367(1,10) TS2=0 > LTR 2,2 > BC 2,420(0,11) GN=32(000A04) > BC 8,436(0,11) GN=33(000A14) > AP 344(16,13),1354(6,10) TS2=0 > X 2,1336(0,10) PGMLIT AT +1324 >GN=32 EQU * > CVD 2,360(0,13) TS2=16 > AP 344(16,13),360(8,13) TS2=0 > MP 344(16,13),1348(6,10) TS2=0 >GN=33 EQU * > LTR 3,3 > BC 2,456(0,11) GN=34(000A28) > BC 8,466(0,11) GN=35(000A32) > AP 344(16,13),1354(6,10) TS2=0 > X 3,1336(0,10) PGMLIT AT +1324 >GN=34 EQU * > CVD 3,360(0,13) TS2=16 > AP 344(16,13),360(8,13) TS2=0 >GN=35 EQU * > TM 48(8),X'80' FLD-D > BC 8,478(0,11) GN=36(000A3E) > OI 359(13),X'01' TS2=15 >GN=36 EQU * > LM 2,3,56(8) FLD-E > SLDA 2,0(0) > BC 11,500(0,11) GN=37(000A54) > LCR 2,2 > LCR 3,3 > BC 8,500(0,11) GN=37(000A54) > BCTR 2,0 >GN=37 EQU * > ZAP 360(16,13),1367(1,10) TS2=16 > LTR 2,2 > BC 2,526(0,11) GN=38(000A6E) > BC 8,542(0,11) GN=39(000A7E) > AP 360(16,13),1354(6,10) TS2=16 > X 2,1336(0,10) PGMLIT AT +1324 >GN=38 EQU * > CVD 2,376(0,13) TS2=32 > AP 360(16,13),376(8,13) TS2=16 > MP 360(16,13),1348(6,10) TS2=16 >GN=39 EQU * > LTR 3,3 > BC 2,562(0,11) GN=40(000A92) > BC 8,572(0,11) GN=41(000A9C) > AP 360(16,13),1354(6,10) TS2=16 > X 3,1336(0,10) PGMLIT AT +1324 >GN=40 EQU * > CVD 3,376(0,13) TS2=32 > AP 360(16,13),376(8,13) TS2=16 >GN=41 EQU * > TM 56(8),X'80' FLD-E > BC 8,584(0,11) GN=42(000AA8) > OI 375(13),X'01' TS2=31 >GN=42 EQU * > AP 365(11,13),350(10,13) TS2=21 > MVC 376(16,13),360(13) TS2=32 > L 2,92(0,9) TGTFIXD+92 > L 15,60(0,2) V(IGZCIDB ) > LA 1,1802(0,10) PGMLIT AT +1790 > BASR 14,15 > MVC 56(8,8),392(13) FLD-E > > >Nope. No 64-bit arithmetic instructions were harmed in >the making of this object code. :-) ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html

