Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site allegra.UUCP Path: utzoo!watmath!clyde!floyd!harpo!eagle!allegra!jdd From: jdd@allegra.UUCP (John DeTreville) Newsgroups: net.arch Subject: Re: Re: Complement Arithmetic - (not really) Message-ID: <2266@allegra.UUCP> Date: Wed, 8-Feb-84 14:19:10 EST Article-I.D.: allegra.2266 Posted: Wed Feb 8 14:19:10 1984 Date-Received: Fri, 10-Feb-84 02:22:03 EST References: <5448@uiucdcs.UUCP> Organization: AT&T Bell Laboratories, Murray Hill Lines: 22 Somebody, somewhere had to initalize them anyway :-). I was actually refering to runtime costs - you don't have to generate code to test for the illegal value before each statement. At least one compiler (the Waterloo Fortran V) does this now. It's a good idea, but the cost! [If you're interested, the value is 2 * ' '.] Ah, this brings back fond memories of WATFOR on the IBM 7040/7044. These machines had 36-bit words with an extra parity bit, but IBM let you twiddle the parity, and WATFOR used this "feature" (which was not documented in the Principles of Operation). Variables were initialized to contain bad parity, and normal-parity loads, adds, etc. would trap if done prior to a normal- parity store. Another trick was that the ASSIGN statement stored reversed parity into the variable named, and ASSIGNed GOTO's used a reversed-parity load to access the contents; this kept you from storing an arbitrary value into a variable and then using it in an ASSIGNed GOTO. Cheers, John ("Bad Parity") DeTreville Bell Labs, Murray Hill