avrora.core
Class Register

java.lang.Object
  extended byavrora.core.Register

public class Register
extends java.lang.Object

The Register class represents a register available on the AVR instruction set. All registers in the instruction set architecture are represented as objects that have a name and a number. Those objects are singletons and are public static final fields of this class.

Additionally, the Register class contains sets of registers that are used in verifying the operand constraints of each individual instruction as defined in the AVR instruction set reference. An example of an operand constraint is that ldi (load immediate) takes as operands one of the general purpose registers {r17...r31} and an immediate. Other instructions take certain subsets of the instructions. Those register sets are allocated once here and are exposed as static fields in this class.

See Also:
Operand, Instr

Nested Class Summary
static class Register.Set
           
 
Field Summary
static Register.Set ADR_set
           
static Register.Set EGPR_set
           
static Register.Set GPR_set
           
static Register.Set HGPR_set
           
static Register.Set MGPR_set
           
static Register R0
           
static Register R1
           
static Register R10
           
static Register R11
           
static Register R12
           
static Register R13
           
static Register R14
           
static Register R15
           
static Register R16
           
static Register R17
           
static Register R18
           
static Register R19
           
static Register R2
           
static Register R20
           
static Register R21
           
static Register R22
           
static Register R23
           
static Register R24
           
static Register R25
           
static Register R26
           
static Register R27
           
static Register R28
           
static Register R29
           
static Register R3
           
static Register R30
           
static Register R31
           
static Register R4
           
static Register R5
           
static Register R6
           
static Register R7
           
static Register R8
           
static Register R9
           
static Register.Set RDL_set
           
static Register X
           
static Register Y
           
static Register.Set YZ_set
           
static Register Z
           
static Register.Set Z_set
           
 
Method Summary
 java.lang.String getName()
           
 int getNumber()
           
static Register getRegisterByName(java.lang.String name)
           
static Register getRegisterByNumber(int num)
           
 int getWidth()
           
 int hashCode()
           
 Register nextRegister()
           
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

R0

public static final Register R0

R1

public static final Register R1

R2

public static final Register R2

R3

public static final Register R3

R4

public static final Register R4

R5

public static final Register R5

R6

public static final Register R6

R7

public static final Register R7

R8

public static final Register R8

R9

public static final Register R9

R10

public static final Register R10

R11

public static final Register R11

R12

public static final Register R12

R13

public static final Register R13

R14

public static final Register R14

R15

public static final Register R15

R16

public static final Register R16

R17

public static final Register R17

R18

public static final Register R18

R19

public static final Register R19

R20

public static final Register R20

R21

public static final Register R21

R22

public static final Register R22

R23

public static final Register R23

R24

public static final Register R24

R25

public static final Register R25

R26

public static final Register R26

R27

public static final Register R27

R28

public static final Register R28

R29

public static final Register R29

R30

public static final Register R30

R31

public static final Register R31

X

public static final Register X

Y

public static final Register Y

Z

public static final Register Z

GPR_set

public static final Register.Set GPR_set

HGPR_set

public static final Register.Set HGPR_set

MGPR_set

public static final Register.Set MGPR_set

EGPR_set

public static final Register.Set EGPR_set

ADR_set

public static final Register.Set ADR_set

RDL_set

public static final Register.Set RDL_set

YZ_set

public static final Register.Set YZ_set

Z_set

public static final Register.Set Z_set
Method Detail

getRegisterByName

public static Register getRegisterByName(java.lang.String name)

getRegisterByNumber

public static Register getRegisterByNumber(int num)

hashCode

public int hashCode()

toString

public java.lang.String toString()

getName

public java.lang.String getName()

getNumber

public int getNumber()

getWidth

public int getWidth()

nextRegister

public Register nextRegister()