[Coco] 6309 Division instructions

jdaggett at gate.net jdaggett at gate.net
Tue Aug 2 10:01:34 EDT 2005


Sorry was a typo. Contents of D. W and D are the results. 

james 

On 1 Aug 2005 at 23:48, Robert Gault wrote:

Date sent:      	Mon, 01 Aug 2005 23:48:46 -0400
From:           	Robert Gault <robert.gault at worldnet.att.net>
To:             	CoCoList for Color Computer Enthusiasts 
<coco at maltedmedia.com>
Subject:        	Re: [Coco] 6309 Division instructions
Send reply to:  	CoCoList for Color Computer Enthusiasts 
<coco at maltedmedia.com>
	<mailto:coco-
request at maltedmedia.com?subject=unsubscribe>
	<mailto:coco-
request at maltedmedia.com?subject=subscribe>

> Is that a typo? Why would regW be involved with DIVD?
> 
> jdaggett at gate.net wrote:
> 
> > Tim 
> > 
> > from the 6309 documentation I h ave the DIVD does a 16 bit by 8
> > signed division. The contents of W is divided by memory byte and the
> > quotient is stored in W and the modulo (remainder) is in D. 
> > 
> > This yields +32,767/-32,768 divided by +127/-128 ranges. 
> > 
> > 
> > Initial thoughts on how to get an overflow condition would mean the
> > modulo would overflow or the divisor is "one"?
> > 
> > james
> > 
> > On 1 Aug 2005 at 20:15, tim lindner wrote:
> > 
> > To:             	coco at maltedmedia.com (CoCo Mailing List)
> > From:           	tlindner at ix.netcom.com (tim lindner)
> > Date sent:      	Mon, 1 Aug 2005 20:15:58 -0700
> > Organization:   	Computers Suck, Inc.
> > Subject:        	[Coco] 6309 Division instructions
> > Send reply to:  	CoCoList for Color Computer Enthusiasts 
> > <coco at maltedmedia.com>
> > 	<mailto:coco-
> > request at maltedmedia.com?subject=unsubscribe>
> > 	<mailto:coco-
> > request at maltedmedia.com?subject=subscribe>
> > 
> >>I was testing the division instructions against my 6309 core (in
> >>MESS) and found something unusual.
> >>
> >>My Burke & Burke 6309 documents say that result of DIVD is a signed
> >>8-bit value in register B and an unsigned remainder in register A.
> >>
> >>Further more it says that if the quotient overflows, the value of A
> >>and B will be unchanged and the V condition code will be set.
> >>
> >>But this is not exactly the behiavior I am seeing on real hardware.
> >>
> >>What I am seeing is a sort of two stage overflow. If the quotient
> >>doesn't fit in an signed 8 bit container but would fit in a unsigned
> >>8 bit container, then the correct absolute value is wirrten to B and
> >>the V condition code is set.
> >>
> >>If the value overflows an unsgined container, the registers A and B
> >>set to the absolute value the the orginal numerator and the V
> >>condition code is set.
> >>
> >>I have not seen this behiavor described anywhere and I would be
> >>interested in other peoples thoughts on it.
> >>
> >>-- 
> >>tim lindner
> >>tlindner at ix.netcom.com                                   Bright
> >>
> >>-- 
> >>Coco mailing list
> >>Coco at maltedmedia.com
> >>http://five.pairlist.net/mailman/listinfo/coco
> > 
> > 
> > 
> > 
> 
> -- 
> Coco mailing list
> Coco at maltedmedia.com
> http://five.pairlist.net/mailman/listinfo/coco





More information about the Coco mailing list