> On Aug 3, 2021, at 2:44 PM, Chuck Guzis via cctalk <[email protected]> 
> wrote:
> 
> On 8/3/21 9:46 AM, ben via cctalk wrote:
> 
>> Hardware makes software interesting, or is it the other way around?
>> With C being developed on a PDP 11, you had no decimal operations,
>> but IBM had PL/I that did. Every thing was binary floating point
>> since then, until the latest standard of floating point for
>> hardware and software came out. Decimal is BACK Now things are more
>> confusing than ever with operating systems changing CPU's with the
>> latest marketing gimmick.
> 
> You don't need decimal hardware to do decimal arithmetic. CDC 6000 COBOL
> killed IBM S/360 COBOL, even though the latter had hardware decimal
> features and the former did not--the big CDC iron was never really sold
> as a COBOL cruncher, even though it did quite well at it.

Similarly, think of all the machines that did floating point arithmetic without 
benefit of floating point hardware.  Or integer division without a divide 
instruction.

> Using numbers in their 6-bit display code representation (33->44 octal),
> it's a simple matter to perform 10 digit decimal addition and
> subtraction in just a few instructions.   I'll leave it as an exercise
> to those who are curious (I'll give a hint that octal 25 25 25 25...
> plays a part).
> 
> Also note that display "0' = 33 octal and display "9" = 44 octal, so
> that nines' complement of a display number is the same as the ones'
> complement, so subtraction follows quite naturally.

I didn't realize that.  Interesting.  Probably a coincidence, but one wonders.

> The CDC 6000 has only one addressing granularity--60 bit word.  There's
> no CPU hardware for handling bytes (6 or 8 bit).  Yet character
> manipulation isn't very difficult at all.

Mostly true; some machines had the "compare-move unit" which would do what it 
says -- move or compare string of 6-bit characters".  But nothing fancier.

> The wonders of RISC.  Do a few things, but do them quickly.

One of the classic bits of character magic without character instructions is 
the famous "wod" library function -- convert a 60 bit integer to its 20 digit 
octal representation, in two words of 10 6-bit display code characters each (by 
C. R. Willis, U. of Minnesota).  35 lines of straight code, no loops.

        paul

Reply via email to