derstad@CIM-VAX.HONEYWELL.COM ("DAVE ERSTAD") (11/14/89)
Here's one I've never seen before. We have a piece of code which behaves differently on a DSP-160 than on other nodes using Pascal; SR9.7.0.4. I suspect a hardware problem, but am wondering if anyone has seen something like this. We've narrowed it down to a line like c := 1.0 In the expanded code listing, both the working machines and the non-working machines translate this to MOVE.L # 1.000000 , C(DB) However, on the 160 the actual object code is 2B7C3F8800000004 Whereas on other machines it is 2B7C3F8000000004 The extra bit set on the 160 means 'c' gets the value 1.06 rather than 1.00. We've seen the same thing with constants other than unity as well. Any thoughts? I've got another 160 I'm going to boot diskless off the first this afternoon; that should provide some clues. (the second 160 is at SR10 so can't be used for a direct verification until we boot it at 9.7). Whether that works or not, it's still a bit of a mystery to me that the constant is correctly in the code listing but wrong in the object code; you would think a hardware error bad enough to flip a bit like that would cause wider problems as well. Dave Erstad DERSTAD@cim-vax.honeywell.com Honeywell SSEC