tholen@uhccux.uhcc.hawaii.edu (David Tholen) (01/08/90)
The BIND utility allows a programmer to create an executable file that will run under OS/2 protected mode, OS/2 real mode (a.k.a. DOS mode, DOS compatibility box), and DOS itself. Having done that, my question is whether a bound program will run on a DOS machine equipped with only an 8086/8088 processor. The source code has been compiled such that it should only make use of the 8086/8088 instruction set, but the program was then linked to API.LIB and DOSCALLS.LIB, and I have no idea whether these libraries use 80286 instructions or not. The reason I ask is because for the first time since I started programming under OS/2, I tried to run a program on a laptop machine equipped with only an 8086 and DOS, and the program hung the machine. The same program runs fine on my OS/2 machine at home and on my DOS machine at work (but it has an 80286). I should mention that the program uses only family API routines. Incidentally, just how old a version of DOS will bound programs run on? I recall running across something in the documentation mentioning that bound programs will run under DOS version 3. Might bound programs successfully run under version 2 by restricting the program to those calls that don't require version 3? Anyway to find out which calls require the additional features of version 3? I'm also curious as to just how large the user base is that might still be running DOS version 2 (market demographics). tholen@uhccux.uhcc.hawaii.edu
richgi@microsoft.UUCP (Richard GILLMANN) (01/12/90)
In article <6064@uhccux.uhcc.hawaii.edu> tholen@uhccux.uhcc.hawaii.edu (David Tholen) writes: >whether a bound program will run on a DOS machine equipped with only an >8086/8088 processor. The source code has been compiled such that it should A bound program will run on an 8088 or 8086. The FAPI emulation code does not contain 286 instructions. >Incidentally, just how old a version of DOS will bound programs run on? I A bound program will run under DOS 2.0 or later, but if you rename the .exe file, it will only work on DOS 3.0 or later.