[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