On 18 Feb 2001, at 23:33, Constant Brouerius van Nidek wrote:

> Nice to have survpc back online.
> When I use some programs on my 486 I get the info that emm386 has
> discovered... and the system may be unstable. The error discovered is every
> time and again " Exception 6 (invalid Opcode)" with a lot of other
> information.
> This invalid opcode error happens with several programs s I can not pinpoint
> a common reason, except my use of DRDOS 7.03.
> Has somebody an idea what I could do to prevent this to happen?
> What is Exception 6 and what is an opcode?

Exception #6 is the one generated by 8086/80186/80286 (perhaps
higher) processors when they encounter an instruction in a program
which they don't recognize.

Don't know how much programming you know, so here's a quick
explanation:

Any program written by a human is translated [compiled] by the
programming language they are using into machine code.   Machine code
is the specific instructions that are used by the CPU to run the
program.  A .EXE, being an executable program, is one long set of
instructions in machine code, that your processor can read.

Machine code on the IBM PC is usually of the form (shown in hex)
4F 33 D5 66 73 8F F4 D5 AA 23 01 28 45 8A D5 F6

where each byte is either an instruction, or arguments to the
instruction.  The instructions can move bytes around in memory,
perform I/O, or perform arithmatic functions.

What's occuring in your case is that one of those instructions is
being read from memory by your CPU, and the CPU is determining that
it can't figure out what kind of instruction it is.   This is what
generates the "Illegal Opcode" error. (Opcode is shorthand for
'operation code' or 'instruction'.)

Cause:
There are two possible causes for this.

1.  A program is being used on your machine that was written for a
higher-class CPU than yours.  Each new generation of the x86 line has
included instructions which were not present in the previous CPUs.
If the programmer doesn't specify (to the language compiler) that it
should work on all Intel x86 CPUs, then the program may use
instructions that are (for example) only available on a Pentium-
class, and the program will fail on lower class CPUs.

2. A program being used on your computer has gotten corrupted.
Changing just a single bit of one of the bytes of a program can cause
this error, and if it happened on your hard drive, then every time
the program is loaded and executed, it will generate an error,
because there is an illegal [corrupted] instruction in the program.

Resolution:

Well, this is the time-consuming part.  You'll need to figure out
which program is causing this.  You'll need to load your programs
that run when your computer starts up one at a time.  You'll need to
edit your autoexec.bat file, and config.sys file, and comment out one
line at a time, until you no longer have problems.  The last thing
commented out is probably the suspect, but do some further testing on
it to be sure, i.e., loading it all by itself, and working with the
program.

When you think you've found the problem program, first try replacing
it with a known-good copy.  If it works after that, then you've
probably found a situation #2 (above).   If not, then you may be in
situation #1 (above)   See the documentation for the program, to see
if it lists a specific processor that it should be run on.

Hope this helps,
Anthony J. Albert

==============================================================
Anthony J. Albert                [EMAIL PROTECTED]
Systems and Software Support Specialist           Postmaster
Computer Services - University of Maine, Presque Isle

"We took risks. We knew we took them. Things have come out against
 us. We have no cause for complaint." - Explorer Robert Scott, found in
 his diary after his party froze to death in Antarctica.

To unsubscribe from SURVPC send a message to [EMAIL PROTECTED] with 
unsubscribe SURVPC in the body of the message.
Also, trim this footer from any quoted replies.
More info can be found at;
http://www.softcon.com/archives/SURVPC.html

Reply via email to