[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