[Coco] 6309 microprocessor project 01-16-2004
Roger Taylor
rtaylor at bayou.com
Sat Jan 17 23:48:41 EST 2004
At 04:48 PM 1/17/2004 -0500, you wrote:
>I just talking didn't mean to cause alarm.
>
>A&B could still equal the lower 16-BITS of D.
>E&F could still equal the lower 16-BITS of W.
>Q could still equal D&W, but the lower 32-BITS of Q.
A 64-bit Q register. Sweet.
By the way, there's some comments in Chet and Alan's 6309 ref guide that
kinda talk down just a tad about some of the feaures in the 6309 and how
unuseful they are, but I have found that there are many good uses for
everything they added to the 6309.
One of the simplest things that was given is a brand new register called
V. There's a 16-bit V register and we can't find a use for it? The first
thing I thought of was "V for variable" pointer.
One use could be exactly like how the EBP register works on the PC. You
push some parameters to the stack, call a procedure, and on entry into that
procedure it makes a copy of the stack location into V, then makes more
room on the stack for local data. Because we know what side of V our
parameters are on, and the side that our local data is on, we can reference
everything using [-/+offset,V] (*I think*)... I have not verified this
yet, but it looks legal. Everything on the plus side of V should be our
local data since it was pushed last, and everything on the negative side
should be our parameters. Naturally, a compiler would compute these offsets.
It might not sound like there's a logic behind this, but I have plenty of
docs that say otherwise, so if the EBP register has this one role on the
PC, then perhaps the V register on the 6809 could take advantage of any
advantages there might be. :)
----------
Roger Taylor
More information about the Coco
mailing list