home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #18 / NN_1992_18.iso / spool / comp / sys / intel / 1496 < prev    next >
Encoding:
Text File  |  1992-08-13  |  2.0 KB  |  53 lines

  1. Newsgroups: comp.sys.intel
  2. Path: sparky!uunet!boulder!ophelia!drew
  3. From: drew@ophelia.cs.colorado.edu (Drew Eckhardt)
  4. Subject: Re: 386 <-> 486 incompatibilities
  5. Message-ID: <1992Aug13.232325.930@colorado.edu>
  6. Keywords: 80386, i486, self-modifying code
  7. Sender: news@colorado.edu (The Daily Planet)
  8. Nntp-Posting-Host: ophelia.cs.colorado.edu
  9. Organization: University of Colorado at Boulder
  10. References: <16ds34INNpvn@fbi-news.Informatik.Uni-Dortmund.DE>
  11. Date: Thu, 13 Aug 1992 23:23:25 GMT
  12. Lines: 39
  13.  
  14. In article <16ds34INNpvn@fbi-news.Informatik.Uni-Dortmund.DE> eggenste@cantor.informatik.uni-dortmund.de (Heinz-Bernd Eggenstein) writes:
  15. >Hello!
  16. >
  17. >Among the few MS-DOS programs that will run on a 80386, but not on
  18. >an i486 based machine, there's a program called "PC Scheme"
  19. >by Texas Instruments (Scheme is a Lisp-like language). 
  20. >
  21. >According to rumors, this is a result of the program changing 
  22. >some instructions in its own code-segment at runtime. 
  23.  
  24. >-How can this cause incompatibilities between 
  25. > 80386 and i486 processors?
  26.  
  27. The i386 has a 12 byte prefetch, the i486 a larger (32 byte? Intel 
  28. Gurus, please provide a correct value if it's not 32 bytes).  If the 
  29. i486 changes something that has already been prefetched, 
  30. it changes the copy in the cache, but not the prefetch, and 
  31. the old instruction gets executed.
  32.  
  33. >-I don't think every  self-modification of a program will
  34. > cause problems. Exactly under what conditions may 
  35. > problems occur? 
  36.  
  37. When the modified code falls within the prefetch.
  38.  
  39. >-Is there a way to detect this kind of self-modification
  40. > either at runtime (say, with a small TSR debugger-like program) or 
  41. > scanning the assembly-code sources.
  42.  
  43. Scanning the assembly code should do it.
  44.  
  45. >-Are there any other mayor causes for i486 incompatibilities?
  46.  
  47. No.
  48.  
  49. -- 
  50. Microsoft is responsible for propogating the evils it calls DOS and Windows, 
  51. IBM for AIX (appropriately called Aches by those having to administer it), but neither is as bad as AT&T.  Boycott AT&T, and let them know how you feel. 
  52.  
  53.