[Coco] 6309 Division instructions

jdaggett at gate.net jdaggett at gate.net
Mon Aug 1 23:56:14 EDT 2005


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






More information about the Coco mailing list