HP3000-L Archives

February 1995, Week 1

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Jeff Kell <[log in to unmask]>
Reply To:
Jeff Kell <[log in to unmask]>
Date:
Sat, 4 Feb 1995 00:40:28 EST
Content-Type:
text/plain
Parts/Attachments:
text/plain (32 lines)
On Fri, 3 Feb 1995 21:45:17 -0500 Robert Meissner said:
>This data type came from IBM RPG,  It is supported in HP RPG, TRANSACT.
>On an old IBM 029 Key Punch the Plus or Minus sign was an over punch in
>the 11 & 12 hole on the right most digit.
 
Not to mention COBOL.  But it predates them all.
 
The IBM 360 Instrution Set is where it came from.  There were initially four
formats (excluding binary variations on single/double/etc):
 
* Zoned decimal... in EBCDIC digits are x'F0'-x'F9' with 'F' included as a
  positive sign.  Negative was done by overpunching to change the 'F' to a
  negative value.
 
* Packed decimal... a digit value per each 'nibble' (4 bit hex value) plus
  a sign nibble.
 
* Standard binary format, big-endian.
 
* Floating-point format.
 
To convert to binary, you did a PACK and a CVB (convert to binary).
To convert to display, you did a CVD and UNPK, and OR immedate the last
digit with x'F0' since 'F' wasn't default positive.
 
Invalid values blew you out of the water :-)
 
Packed-decimal arithmetic was available, and most 'commercial' languages that
evolved this, while Assembler, Fortran, etc exploited binaries and floats.
 
[\] Jeff Kell, [log in to unmask]

ATOM RSS1 RSS2