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
register)
b _HWI7_Entry
NOP
NOP
NOP
NOP
NOP
NOP
NOP
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
table...
How is it possible to use the jump via register? I would like to exchange it
in my application...
bye,
Thomas
> Take these two IRPs for example:
>
> RESET:
> mvkl _c_int00, b0
> mvkh _c_int00, b0
> b b0 ----------------(1)
> ......
> _NMI:
> ......
> 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'?
>
>