Hi All, I hope this is the right forum, I have a 68hc11 microcontroller, and im using BR to debug my buggy code (it has the Buffalo monitor) The gist of it is: I load numbers into registers and then jump to a subroutine, i check the numbers before and after the jump, but they have changed- any clues to what is happening? cheers, dt
jsr changing registers in 68hc11?
Started by ●April 4, 2007
Reply by ●April 4, 20072007-04-04
On Apr 4, 9:56 am, "Mr Dump" <dth42...@bigpond.net.au> wrote:> The gist of it is: I load numbers into registers and then jump to a > subroutine, i check the numbers before and after the jump, but they > have changed- any clues to what is happening?Is an interrupt occuring? When you say "registers", do you mean MCU registers or I/O control registers? Buffalo is not a very good way to debug since it is invasive. You might consider the 9s12 devices at some point because of their superior BDM debugging. Eric
Reply by ●April 5, 20072007-04-05
On Apr 5, 7:12 am, "Eric" <englere_...@yahoo.com> wrote:> On Apr 4, 9:56 am, "Mr Dump" <dth42...@bigpond.net.au> wrote: > > > The gist of it is: I load numbers into registers and then jump to a > > subroutine, i check the numbers before and after the jump, but they > > have changed- any clues to what is happening? > > Is an interrupt occuring? > > When you say "registers", do you mean MCU registers or I/O control > registers? > > Buffalo is not a very good way to debug since it is invasive. You > might consider the 9s12 devices at some point because of their > superior BDM debugging. > > EricHi Eric, Thanks for responding! by registers, I mean MCU registers, Reg X and Reg B. Im using Buffalo, could the buffalo BR command be a cause?- i'm using that to halt things to look at the registers. I thought for a while I might have been using direct addressing by accident instead of load immediate, but the check before the jump subroutine command shows the number I want, but the check immediately after the jump shows a change! It is weird, the code works when loaded into ram, but I needed it put in EEPROM, so I changed address labels around to suit etc.... and partial operation occurs, but not quite what I want, and it seems to be at this jump point, that things are going amiss. cheers,
Reply by ●April 6, 20072007-04-06
On Apr 6, 12:23 pm, "Mr Dump" <dth42...@bigpond.net.au> wrote: BWAHHHH!! He he he found it- it's NOT changing the registers at all!!! The same routine is called for earlier in the initialisation setup- so when the break point exited, I was looking at *those* values! It pays to have a nights sleep on the matter! Thanks Eric for your time! [SNIP]