But that "K=1024" usage was ONLY because in the context of Assembler coding you were dealing with processor memory addresses in hardware instructions, and memory on the S/360 (and its successors) was addressed by binary values of 24 bits (later 31 bits). So the S/360 PoOp and ASM manuals, only in discussing memory addresses and blocks of memory, for brevity used "K" and "M" for close powers of 2. Those manuals were also very careful to explicitly state that was the convention being used -- precisely because it was not the conventional usage in other contexts, even within IBM and S/360 (like as Mike recently pointed out, for metric physical length measurements in IBM manuals, or for DASD).

Other S/360 manuals which dealt with storage measurement in contexts other than processor memory or blocks of processor memory, most notably those having to do with DASD and DASD external storage capacity in bytes, used "K" and "M" with the conventional meanings of powers of 10.

Somewhere along the line a confused notational convention became even more confused as succeeding generations failed to understand the underlying rational for the distinct conventions, and in some cases perhaps even failed to recognize there were two usage conventions. Usage also got further confused with FBA disk devices with capacity defined as n*b Bytes, where "b" was a power of 2 and "n" was not. Where "b" was 512, this made "1024" a convenient multiplier to use for "K", but some also chose 1000*1024 as a more natural multiplier for M since the binary dependency ended at 2^9. ... and then you had a similar issue with describing capacity of Page Data Sets (and now also Linear Data Sets and PDS/E's) on CKD DASD, where the DASD architecture has no relation with binary but the physical blocks represent "4K" processor memory pages, so you have a non-binary-related quantity of 4 KiB blocks.

Those who understood the problem talked about resolving this confusion in various incompatible ways for over three decades before the binary prefix standard was finally adopted in 1998. Now if needed, we even have precise notation for 1000*1024 as "KKi" (which makes it more precise, but still aesthetically displeasing).
    Joel C. Ewing

On 05/03/2013 05:08 PM, Scott Ford wrote:
Shmuel,

I always used K, with the understanding it was 1024 ...if you write assembler a 
base register used to cover 4K ,,4096 bytes ....it's all through IBM manuals as 
far as I know ...unless your doing baseless.....

Scott ford
www.identityforge.com
from my IPAD

'Infinite wisdom through infinite means'


On May 3, 2013, at 3:58 PM, "Shmuel Metz (Seymour J.)" <[email protected]> 
wrote:

In <[email protected]>, on 05/02/2013
   at 09:16 PM, Scott Ford <[email protected]> said:

Ok guys ..I understand the science here but I learned a K = 1024
bytes
Back in the 1960's people who used K when they meant 1024 unsderstood
that they were misusing it. In the same epoch I also learned that K
was 512, which was an even worse misuse.

am I too old school .....
No; were you old schjool then you would use K as 1000 exclusively.

--
     Shmuel (Seymour J.) Metz, SysProg and JOAT
     Atid/2        <http://patriot.net/~shmuel>
We don't care. We don't have to care, we're Congress.
(S877: The Shut up and Eat Your spam act of 2003)




--
Joel C. Ewing,    Bentonville, AR       [email protected] 

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to