home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #30 / NN_1992_30.iso / spool / comp / sys / m6809 / 550 < prev    next >
Encoding:
Text File  |  1992-12-17  |  2.1 KB  |  49 lines

  1. Newsgroups: comp.sys.m6809
  2. Path: sparky!uunet!psinntp!telesci!kindred
  3. From: kindred@telesciences.com (David L Kindred (Dave))
  4. Subject: Re: Stack problem.. is it a hardware or software fault?
  5. In-Reply-To: steveh@tasman.cc.utas.edu.au's message of Tue, 8 Dec 1992 23:16:38 GMT
  6. Message-ID: <KINDRED.92Dec16211435@pyrite.telesciences.com>
  7. Sender: news@telesciences.com
  8. Nntp-Posting-Host: pyrite
  9. Organization: Telesciences CO Systems, Inc.
  10. References: <steveh.723856598@tasman>
  11. Date: Thu, 17 Dec 1992 02:14:35 GMT
  12. Lines: 35
  13.  
  14. In article <steveh.723856598@tasman> steveh@tasman.cc.utas.edu.au (Steve Howell) writes:
  15.  
  16.        Hello peoples.. ive run into a major problem with one of our 6809
  17.    designs, and cannot figure what exactly is going on... we have a 6809 that
  18.    crashes if an interupt occurs (of either firq and irq), and that it fails
  19.    to maintain its stack correctly.. to reproduce the error, if we push the B
  20.    register with a value, then push a 16 bit X on top, then pull X off, then B off,
  21.    then B will be corrupt!.. is it RAM.. nope.. Ram works and passes every test!
  22.    Is it the IRQ hardware line or a device interupting?.. nope. using a clean
  23.    tight, as well as know good devices, the interupt receives a cleanly shaped
  24.    high to low pulse. Blam!.. still dies...
  25.    Is it ROM?.. why? everything  else works fine.. including a full on 16k
  26.    sized program (which is IRQless and B register less) it has no problems....
  27.  
  28. One thing to remember is that the stacking operations perform multiple
  29. consecutive memory accesses.  Normal instruction processing will
  30. provide many, many dead cycles, and of course the alternation
  31. between RAM and ROM.  I have seen memory designs (although they were
  32. usually using dynamic RAMs) that would not function properly for more
  33. than one or two consecutive cycles.  This could easily be checked with
  34. the following code:
  35.  
  36.         pshs    a,b,cc,dp,x,y,u
  37.         puls    a,b,cc,dp,x,y,u
  38.  
  39. and check the register contents.
  40.  
  41.  
  42.                         - Dave
  43. --
  44.  
  45. EMail: kindred@telesciences.com
  46. CI$: 72456,3226 (72456.3226@compuserve.com)
  47. Phone: +1 609 866 1000 x222
  48. Snail: TeleSciences C O Systems, 351 New Albany Rd, Moorestown, NJ 08057-1177
  49.