Re: A89: Re: Re: Assembly-89 Digest V1 #715
[Prev][Next][Index][Thread]
Re: A89: Re: Re: Assembly-89 Digest V1 #715
> >I'm pretty sure you need a move.l (a0),a0 because bsr (a0) jumps to a0,
not
> >(a0) like you would think. But if that's the case, then you will need
jsr
> >(a0) since the addresses defined in your table are absolute addresses (I
> >don't think bsr (a0) exists anyhow).
>
> Whoops, you're right. . . I skipped a step =) But you DO NOT need to do
jsr
> instead of bsr -- you should have to, but somewhere or other either A68k
or
> Doors/Plusshell fixes that (the same relocation stuff you were arguing
about
> in the ticalc comments section earlier)
well, you can use bsr if you want, but bsr (a0) (couldn't find it existing
anywhere, so your compiler probably changes it to jsr (a0)) would take (a0)
and add it to the program counter, jumping to that address. You'd have to
do some complex labelling in order to get that working in this table, so you
probably want jsr (a0) instead.
you would also have to have bsr.w (a0), if (a0) is a word in length, or it
wouldn't work
References: