Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
02/21/03 16:57
Read: times


 
#39686 - thanks all
Responding to: ???'s previous message
Well, it looks like the loader program itself does some tricks that I wasn't aware of, but should have at least guessed. I started to disassemble the loader, starting at address 0x0000, and found this:

02 31 31

Which is LJMP 0x3131

Then, at 0x0003 I find

02 80 03

or LJMP 0x8003

Figuring out the pattern, I look at 0x0023, and find

02 80 23

This is code in PROM, so my attempt to change the code at 0x0023 was quietly ignored, and serial interrupt was still executing code at 0x8023. In my program, starting at 0x8000, I did NOT have a LJMP main, which should have been followed by RETI's and code for the interrupts that I wanted.

So now I have in my program:

ljmp _main
reti
.ds 7
.
.
.
.
ljmp uart_intr
.ds 5
_main
.
.
.

As I should have been doing in the first place. Keep up the good work guys, you guys are sharp about stuff like this...

List of 7 messages in thread
TopicAuthorDate
Interrupts on my 8052 are broken! (?)            01/01/70 00:00      
   RE: Interrupts on my 8052 are broken! (?)            01/01/70 00:00      
   RE: Interrupts on my 8052 are broken! (?)            01/01/70 00:00      
      RE: Interrupts on my 8052 are broken! (?)            01/01/70 00:00      
         RE: Interrupts on my 8052 are broken! (?)            01/01/70 00:00      
   RE: Interrupts on my 8052 are broken! (?)            01/01/70 00:00      
      thanks all            01/01/70 00:00      

Back to Subject List