??? 04/15/08 12:21 Read: times |
#153369 - As mentioned Responding to: ???'s previous message |
As Andy has mentioned, it really depends on how big your ISR code is going to be. If its a couple of bytes, then no need, but if you ISR routine where lets say 100 bytes and that was for external interrupt 0, then your code would overlap interrupt 1's memory space and it would never fire because of interrupt 0's ISR data.
If your ISR code label is BEYOND the org 100 statement, that would be "higher memory" relative to ALL the ISR routines vector locations. SO a LJMP or a LCALL (although JMP makes more sense) is a smarter, IMO, decision so you can write the ISR above those vectors without consequence if you have to adjust it later or modify it as opposed if you left it at the ISR location in which you'll have very limited space for the ISR code to continue. You typically want to keep an ISR routine "together", not start at the interrupt vector and then "jump" to the remain larger part of the code. Some may argue it takes a bit longer.....so what....a if your app is a few us dependant, then you may have to look at faster processor....... Hope this helps a bit and clarify what I was going for......if not let me know. |
Topic | Author | Date |
8051 interrupt | 01/01/70 00:00 | |
what language? | 01/01/70 00:00 | |
8051 | 01/01/70 00:00 | |
Ok | 01/01/70 00:00 | |
Re: OK | 01/01/70 00:00 | |
As mentioned | 01/01/70 00:00 | |
High, higher, highest... | 01/01/70 00:00 | |
Re: As mentioned | 01/01/70 00:00 | |
My words are not casual...... | 01/01/70 00:00 | |
It's assembler | 01/01/70 00:00 | |
this may be help | 01/01/70 00:00 | |
external trigger address | 01/01/70 00:00 | |
Read the tutorials... | 01/01/70 00:00 | |
Check the emulator manual | 01/01/70 00:00 | |
+800 | 01/01/70 00:00 | |
read andy's post above | 01/01/70 00:00 | |
RE: Does this make sense to you? | 01/01/70 00:00 | |
I am sorted![]() | 01/01/70 00:00 |