Identical code and OS, different behaviour between machines?



I'd be really grateful if anyone could shed light on this!

I have a little application that I developed, using latest FTN95, on
one service-pack-up-to-date Win2k Pentium PC. Checkmate, debug and
release builds run fine.

On another service-pack-up-to-date Win2k Pentium PC (rather old),
checkmate build runs fine, but debug and release builds bomb out on
the grounds of trying to execute an illegal instruction.

I have tried these builds on several other machines, both Win9x and
Win2k, with no problems. Here's what I have established:

- it makes no difference which of the first two machines I build the
application on; I see the same behaviour.
- the FTN95 runtime makes reference to 8 Win32 API DLLs; all eight
are exactly the same on both machines.
- the offending line of source uses the intrinsic TRIM function and
concatenation to build a string assignment
- the offending assembler instruction is a CMOVL instruction in the
builds that bomb out; there is no such instruction in the checkmate
build.
- I have since managed to reproduce the problem in another
application
- I have tried to isolate and illustrate the problem in a mini-app,
so far without success (and without managing to generate a CMOVL
instruction in the corresponding assembler).

Does anyone have any idea what might be going on here? At the moment,
the best straw I can scrape a barrel with is based on the age of the
offending machine, and that the instruction set for the CPU has
changed slightly, and that the compiler makes some assumption about
the oldest CPU it can reasonably expect to encounter ...
.



Relevant Pages

  • Re: Interfaces.Shift_Left
    ... instructions from the instruction set of some processor; ... Ada code (we didn't have record rep. clauses in the early days of Janus/Ada, ... text once (as a record type declaration, which is quite readable), rather ... write Ada 95 code that was portable between machines with different bit ...
    (comp.lang.ada)
  • Re: OT: Bletchley Park
    ... designed and built some of the important parts of Colossus. ... includes among its instruction set a conditional jump instruction, ... address machines (the third address defines "next instruction", ... certainly used Netscape 0.9, 0.94, ...
    (uk.media.radio.archers)
  • Re: "The Difference Engine"
    ... Look at the instruction set for the Intel processors almost universally ... Intel tried to break the chains of x86 architecture three times in the last twenty years with the iAPX432, the i960 and the PA machines, all of which failed in the market. ... By partially decoding the x86 instructions into a small number of simpler ones that were suitable for a RISC-like execution unit, Intel saved the code museum while gaining lots of speed. ... I wonder what direction mechanical computing would take to reduce the ...
    (sci.military.naval)
  • Re: Painless micro program
    ... cycles of a 2 MHZ clock. ... There weren't many triple-operand machines around, ... single instruction. ... set/memory architectures and market success. ...
    (sci.electronics.design)
  • Re: Painless micro program
    ... cycles of a 2 MHZ clock. ... MOVX A,@DPTR; 2 ... There weren't many triple-operand machines around, ... single instruction. ...
    (sci.electronics.design)