Article View: comp.arch
Article #2321Re: COBOL Decimal Arithmetic
From: John Mashey
Date: Sun, 24 Sep 1989 20:09
Date: Sun, 24 Sep 1989 20:09
46 lines
2452 bytes
2452 bytes
In article <943@rd1632.Dayton.NCR.COM> otto@rd1632.UUCP (Jerome A. Otto) writes:
>A comment on COBOL decimal support in hardware...
.....Lots of good stuff, from somebody who really knows a lot about
this topic.
....
>Unsigned ASCII characters can be added using a 32-bit binary adder
>by the following algorithm:
>
>1. Add the constant 96969696 (base16) to one of the operands. This
....etc.
This is what we (and I suspect many others) do.
......
>In general, using the compiler to determine special cases at
>compile time and generating the best code results in faster code
>than supporting a general decimal arithmetic instructions in
>hardware. Not having decimal instructions is not a 7 to 1
>performance penalty at all! Using the decimal instructions as
>implemented on many machines is a lose.
>Aren't these just RISC ideas?
Yep, Although it would appear that differing RISCs appear to have made
differing amounts of emphasis on such support, which would include:
a) Decimal arithmetic assists.
b) Unaligned operations, which are far more important in COBOL
(and PL/1) than in C/PASCAL/FORTRAN.
OPINION: in order of support for COBOL, I think the following is
a reasonable ordering, but more comments from people who know
more would help:
1. HP PA: has Decimal Correct and Intermediate Decimal Correct,
Store unaligned (which stores 1-4 bytes, anywhere in word)
(maybe somebody from HO could explain a little more?)
See COMPUTER, January 1989 article by Ruby Lee.
2. MIPS R3000: has Load Word (left & Right), Store Word (Left &
Right), to help all of the unaligned operations and moves.
3. Motorola 88K - some of the bitfield operations might be helpful.
4. SPARC
COBOL was clearly a major consideration for HP; at least somewhat for R3000.
--
-john mashey DISCLAIMER: <generic disclaimer, I speak for me only, etc>
UUCP: {ames,decwrl,prls,pyramid}!mips!mash OR mash@mips.com
DDD: 408-991-0253 or 408-720-1700, x253
USPS: MIPS Computer Systems, 930 E. Arques, Sunnyvale, CA 94086
Technical Details
Message-ID:
<28134@winchester.mips.COM>Path:
arc1-ca.pugleaf.net!utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!ames!apple!mips!mashReferences:
<943@rd1632.Dayton.NCR.COM>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!ames!apple!mips!mash From: mash@mips.COM (John Mashey) Newsgroups: comp.arch Subject: Re: COBOL Decimal Arithmetic Message-ID: <28134@winchester.mips.COM> Date: 24 Sep 89 20:09:33 GMT References: <943@rd1632.Dayton.NCR.COM> Reply-To: mash@mips.COM (John Mashey) Organization: MIPS Computer Systems, Inc. Lines: 46