home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!pmafire!news.dell.com!swrinde!sdd.hp.com!usc!newshub.sdsu.edu!case.sdsu.edu!case
- From: case@ucs.sdsu.edu (Steve Case)
- Newsgroups: comp.protocols.tcp-ip.ibmpc
- Subject: Re: EMM386 Execption Erro #12
- Message-ID: <case.26.715638437@ucs.sdsu.edu>
- Date: 4 Sep 92 20:27:17 GMT
- References: <hippo.38.0@sonoma.edu>
- Sender: news@newshub.sdsu.edu
- Organization: San Diego State University, Data Communications
- Lines: 80
- Nntp-Posting-Host: case.sdsu.edu
-
- In article <hippo.38.0@sonoma.edu> hippo@sonoma.edu (Michel Davidoff) writes:
- >Subject: EMM386 Execption Erro #12
- >From: hippo@sonoma.edu (Michel Davidoff)
- >Date: 4 Sep 92 08:46:49 PDT
- >When I run marknet and relnet I often get the message
- >Emm386 Ececption error # 12 P
- >And then my system halts. I think that the p is the begining of
- >a parity error.
- >I looked in the DOS 5.0 manual and there is no clue to
- >what the error is.
- >Help ????
- >
- >Michel Davidoff
-
- Tried to email you at hippo@sonoma.edu, but it bounced back.
-
- Anyways, here's an answer to your query from the Desqview FAQ. Replace QEMM
- with EMM386 in the discussion below. Both are 386 memory mgrs/control
- progs, but QEMM is much better, IMO. Hope this helps.
-
- Q15: What are Exceptions 12 and 13?
-
- A15: An exception 12 (or 13) is caused by the program you are running doing
- something that it is not allowed to do on a 80386 while in Virtual 8086
- (V86) mode. Since QEMM is the 386 ``control program,'' it can only
- report the error caused by the user program. The main cause is operand
- wrapping past the last address in segment, 65,535 (FFFF in hex)
-
- Note that exceptions are only reported by QEMM, and are not caused by
- either QEMM or DESQview. They are caused by old programs that assume
- they are running on an 80286 or less; or by a program that ``crashed''.
-
- From the INTEL ``80386 Programmer's Reference Manual,''
- PART III - COMPATIBILITY
- chapter 15, VIRTUAL 8086 MODE
- Section 15.6 DIFFERENCES FROM 8086
- Stated ``reasons'' 6, 7 & 8
- (pages 15-10 & 15-11)
-
- Quoting from the INTEL manual:
- 15.6 DIFFERENCES FROM 8086
- In general, V86 mode will correctly execute software designed for
- the 8086, 8088, 80186 and 80188. Following is a list of the minor
- differences between 8086 execution on the 80386 and on an 8086.
-
- ... (only those causing exception 12 or 13 are listed)
-
- 6. Redundant prefixes.
- The 80386 sets a limit of 15 bytes on instruction length. The only
- way to violate this limit is by putting redundant prefixes before
- an instruction. Exception 13 occurs if the limit on instruction
- length is violated. The 8086/8088 has no instruction limit.
-
- 7. Operand crossing offset 0 or 65,535.
- On the 8086, an attempt to access a memory operand that crosses
- offset 65,535 (e.g., MOV a word to offset 65,535) or offset 0
- (e.g., PUSH a word when SP = 1) causes the offset to wrap around
- modulo 65,535. The 80386 raises an exception in these cases -
- exception 13 if the data segment (i.e., if CS, DS, ES, FS, or GS is
- being used to address the segment), exception 12 if the segment is
- a stack segment (i.e., if SS is being used.)
-
- 8. Sequential execution across offset 65,535.
- On the 8086, if sequence execution of instructions proceeds past
- offset 65,535, the processor fetches the next instruction byte from
- offset 0 of the same segment. On the 80386, the processor raises
- exception 13 in such a case.
-
- In order to fix an Exception 13, you can try to load the program causing
- it into a different area of memory. To do this, try increasing your
- FILES or BUFFERS, or loading some TSRs low rather than high, etc.
- However, the best solution is to contact the programmer. Another
- possible solution is to increase the amount of memory specified in
- Change A Program.
- --
- Steve Case (case@ucs.sdsu.edu) | "Cover for me!"
- Data Communications Group | "Oh, good idea, boss!"
- University Computing Services | "It was like that when I got here."
- San Diego State University | - Homer's standard disclaimers.
- San Diego, California 92182 | "My opinions only" - my standard disclaimer
-