What are the differences between these two IRPs?
Take these two IRPs for example:
mvkl _c_int00, b0
mvkh _c_int00, b0
b b0 ----------------(1)
mvkl _func_nmi, b0
mvkh _func_nmi, b0
ldw *b0, b0 ----------------(2)
why does _NMI use sentence(2) to get the value of b0? what the
differences between the function '_c_int00' and '_func_nmi'?
is it possible to use a branch via register? Is the register you use - in
your example b0 saved? I dont think so. In my application, I jump to the
interrupt functions like this (using a global symbol without modifying a
When I was using the b b0 type of jump, I always destroyed the b0 content
that some parts of the application needed.
Isnt it required to have the nops after the b instruction? I thought that
after a b, some 3 or 4 more instructions are executed before the jump takes
place. So in your case the processor might execute the code after the b -
and this might not be initialized. Well, Im not sure about that...
A drawback of the b label jump is that it can only handle 21 bit adress
offset. So I had to place the ISRs in the same section than the jump
How is it possible to use the jump via register? I would like to exchange it
in my application...
> Take these two IRPs for example:
> mvkl _c_int00, b0
> mvkh _c_int00, b0
> b b0 ----------------(1)
> mvkl _func_nmi, b0
> mvkh _func_nmi, b0
> ldw *b0, b0 ----------------(2)
> nop 4
> b b0
> why does _NMI use sentence(2) to get the value of b0? what the
> differences between the function '_c_int00' and '_func_nmi'? >