Writes a byte value to an internal register.
SETREG Reg , value
Most AVR chips have 32 registers named R0-R31. Registers R16-R31 can be assigned directly. Register R0-R15 do not accept this.
In some cases you might want to write to the internal registers. While you can include some ASM code directly, you can also use the BASIC SETREG statment.
The register name : R0-R31 or a register definition.
A constant or byte value to assign to the register.
PEEK and POKE work with an address. And will return a HW register on the Xmega since Xmega has a different address map.
GetReg and SetReg will read/write registers on all AVR processors.
Internally the compiler will use R24 if you write a constant to register R0-R15 :
For example :
Setreg R0 , 1
Mov R0, R24
Setreg R31 , 1
In version 2078, all internal registers (R0-R31) are made available as normal BYTE variables. This means that you can simply assign or read a register from basic : Rx=value.
This is more convenient than using SETREG and GETREG.