Previous: Part Definitions, Up: Part Definitions

#### 4.3.1 Instruction Format

Instruction formats are specified as a comma seperated list of string values containing information (bit specifiers) about each of the 32 bits of the instruction. Bit specifiers may be one of the following formats:

`1`
  The bit is always set on input as well as output
`0`
  the bit is always clear on input as well as output
`x`
  the bit is ignored on input and output
`a`
  the bit is an address bit, the bit-number matches this bit specifier's position within the current instruction byte
`a` N
  the bit is the Nth address bit, bit-number = N, i.e., `a12` is address bit 12 on input, `a0` is address bit 0.
`i`
  the bit is an input data bit
`o`
  the bit is an output data bit

Each instruction must be composed of 32 bit specifiers. The instruction specification closely follows the instruction data provided in Atmel's data sheets for their parts. For example, the EEPROM read and write instruction for an AT90S2313 AVR part could be encoded as:

         read  = "1  0  1  0   0  0  0  0   x x x x  x x x x",
                 "x a6 a5 a4  a3 a2 a1 a0   o o o o  o o o o";

         write = "1  1  0  0   0  0  0  0   x x x x  x x x x",
                 "x a6 a5 a4  a3 a2 a1 a0   i i i i  i i i i";