[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Opcode Instruction Question
David Empson <dempson@actrix.gen.nz> wrote:
> Linards Ticmanis <ticmanis@coli.uni-sb.de> wrote:
>
> > Bryan Parkoff wrote:
> > > I understand now. All 65xxx use only 8-bit for program status
> > > (P). Is it true that Intel x86 have 16-bit for program status, but
> > > you said it is only 8-bit?
> > > Is it correct that 68K use 16-bit for program status?
> >
> > The length of the operands has nothing to do with the length of the
> > status word.
>
> Another oddball processor I've encountered, though I haven't programmed
> it (other people at work have done): the Atmel AVR family.
>
> It is an 8-bit micro (probably with an 8-bit status register). It has a
> Harvard architecture with separate instruction and data address spaces.
> The data space is addressed has 8 bits per memory location, while the
> instruction space has 12 bits per memory location (using Flash memory
> which is internal to the MCU).
>
> The "opcode" in this case may be up to 12 bits, with operand data being
> included in the first instruction word in some cases, or with additional
> 12-bit words being fetched for operand data in other cases.
I've had an E-Mail message from Jonathan Pratt, who points out that I've
misremembered the details here. The AVR has 16-bit program memory, with
the operand always being embedded in the instruction word.
I've apparently confused the AVR with the PIC, which has variants which
use 12-bit, 14-bit and 16-bit instruction words.
--
David Empson
dempson@actrix.gen.nz