[Coco] 6309 bitmd instruction
jdaggett at gate.net
jdaggett at gate.net
Sun Feb 19 18:46:53 EST 2006
One has to remember that the BIT instruction of the 6809/6309
does a logical "AND" with the register and the constents of memory
or a mask bit. Depending on what you are anding the MD register
with will determine the state of the Z and N bits of the CCR. The
Carry and Half Carry bits are unaffected and the Overflow bit is set
to zero.
james
On 19 Feb 2006 at 16:32, Gene Heskett wrote:
> On Sunday 19 February 2006 14:19, Boisy Pitre wrote:
> >Does anyone know how the 6309 instruction BITMD affects the CC
> >register? In my debugging efforts, I am seeing ZERO change in the CC
> >register when using this instruction, and am wondering how this
> >instruction actually works.
> >
> >Any insight, anyone?
>
> Chet Simpson, many years ago now, wrote a nomograph about the 'new' 6309
> codes. It might be in there, but it would take me hours to lay my
> hands on the copy I printed out way back then. Hey, I got lucky, it
> hadn't gone to the basement yet. Only took about 2 minutes to dig it
> off the bookshelf over where the coco used to live.
>
> From that, on page 3:
> =======
> The MD register is a mode and error register and works much in the same
> way as the CC register. The bit definitions are as follows:
>
> Write bits
> Bit0 - Execution mode of the 6309
> If clear(0), the cpu is in the 6809 emulation mode
> If set(1), the cpu is in 6309 native mode
> Bit1 - FIRQ mode
> If clear(0), the FIRQ will occur normally
> If set(1), the FIRQ will operate the same as the IRQ
>
> Bits2-5 are unused.
>
> Read Bits - One of these is set when the 6309 traps an error
> Bit6 - This bit is set(1), if an illegal instruction is encountered
> Bit7 - This bit is set(1), if a zero division occurs
> ========
>
> And thats all it says about the MD register, Boisy. As for
> BITMD - Test any bit or bits in the MD register.
>
> Its opcode is $113C, its an immediate mode instruction, takeing 4 cycles
> to execute, and 3 bytes total in the execution input stream. I'd say
> the third byte is the bit spec to read. One of $40, $80 or $C0
> depending on which bit or bits you wanted to read. I never found a use
> for it so I can't confirm thats how it works myself. Also don't know
> if the write bits can be read back too.
>
> Does this help?
>
> --
> Cheers, Gene
> People having trouble with vz bouncing email to me should add the word
> 'online' between the 'verizon', and the dot which bypasses vz's
> stupid bounce rules. I do use spamassassin too. :-)
> Yahoo.com and AOL/TW attorneys please note, additions to the above
> message by Gene Heskett are:
> Copyright 2006 by Maurice Eugene Heskett, all rights reserved.
>
> --
> Coco mailing list
> Coco at maltedmedia.com
> http://five.pairlist.net/mailman/listinfo/coco
>
>
> --
> No virus found in this incoming message.
> Checked by AVG Free Edition.
> Version: 7.1.375 / Virus Database: 267.15.11/264 - Release Date: 2/17/2006
>
More information about the Coco
mailing list