is there any word processing software for the pdp11?
    Chuck Guzis 
    cclist at sydex.com
       
    Thu Dec  4 17:15:44 CST 2014
    
    
  
On 12/04/2014 01:50 PM, Peter Corlett wrote:
> On Tue, Dec 02, 2014 at 03:32:38PM -0800, Fred Cisin wrote:
>> . . .
>>>>> long long int A;
>>>>> int B;
>>>>> A = B << 32;
> The C99 (draft) standard says of << and >> that "[t]he behavior is undefined if
> the right operand is negative, or greater than or equal to the length in bits
> of the promoted left operand", with the C++ standard using much the same words
> but in a different order.  There are all sorts of edge cases and caveats in the
> standard, but I've not omitted anything relevant.
I think that Fred's also hinting at differences in x86 architecture as 
well.
Some members of the family shift modulo (data item bit length);
others shift (shift_count => data_length ? 0 : item << shift_count)
And then there are some compiler implementations that direct the shift 
operator to an intrinsic library routine and shift one bit at a time, in 
a loop (the old Lattice C compiler would do this).
So, the same code on either system yields a different result--and it's 
dangerous for any compiler to make any assumption about how the 
instruction operates.
You could, of course, standardize the meaning of << on a particular 
platform by AND-ing the shift count with (data item bit length -1) -- 
which may or may not be what the writer intended.
There, the best solution is to shoot the programmer for even writing 
such stuff.
--Chuck
    
    
More information about the cctech
mailing list