Thread: Need AVR Help
View Single Post
Old 05-20-2009   #4
Google

 
Google's Avatar
 
Last Online: 05-30-2013
Join Date: Jan 2008
Posts: 1,788
Thanks: 10,018
Thanked 1,100 Times in 651 Posts
Groans: 1
Groaned at 6 Times in 6 Posts
Default

Answering the left question, the third one. The AVR instructions are divided into:

Arithmetic:

ADD Rd, Rr
ADC Rd, Rr
ADIW Rd+1:Rd, K6
SUB Rd, Rr
SUBI Rd, K8
SBC Rd, Rr
SBCI Rd, K8
SBIW Rd+1:Rd, K6
INC Rd
DEC Rd
AND Rd, Rr
ANDI Rd, K8
OR Rd, Rr
ORI Rd, K8
EOR Rd, Rr

COM Rd
NEG Rd
CP Rd, Rr
CPC Rd, Rr
CPI Rd, K8
SWAP Rd
LSR Rd
ROR Rd
ASR Rd

MUL Rd, Rr
MULS Rd, Rr
MULSU Rd, Rr
FMUL Rd, Rr
FMULS Rd, Rr
FMULSU Rd, Rr


Bit and others:
BSET s
BCLR s
SBI A, b
CBI A, b
BST Rd, b
BLD Rd, b
NOP
BREAK
SLEEP
WDR


Transfer:

MOV Rd, Rr
MOVW Rd+1:Rd, Rr+1:Rr
IN Rd, A
OUT A, Rr
PUSH Rr
POP Rr
LDI Rd, K8
LDS Rd, K16
LD Rd, X
LD Rd, -X
LD Rd, X+
LDD Rd, Y+K6
LD Rd, -Y
LD Rd, Y+
LDD Rd, Z+K6
LD Rd, -Z
LD Rd, Z+
STS K16, Rr
ST X, Rr
ST -X, Rr
ST X+, Rr
STD Y+K6, Rr
ST -Y, Rr
ST Y+, Rr
STD Z+K6, Rr
ST -Z, Rr
ST Z+, Rr
LPM
LPM Rd, Z
LPM Rd, Z+
ELPM
ELPM Rd, Z
ELPM Rd, Z+
SPM

Jump:

RJMP K12
IJMP
EIJMP
JMP K22

Branch:

CPSE Rd, Rr
SBRC Rr, b
SBRS Rr, b
SBIC A, b
SBIS A, b
BRBC s, K7
BRBS s, K

Call:
RCALL K12
ICALL
EICALL
CALL K22
RET
RETI

As for the status register. It is also called "Flag register". It contains the current state of the processor. I think that all the architectures have the same BASIC flags. On the x86 architecture, the flags are:

FLAGS
0- Carry flag
1- Reserved
2- Parity flag
3- Reserved
4- Adjust flag
5- Reserved
6- Zero flag
7- Sign flag
8- Trap flag
9- Interrupt enable flag
10- Direction flag
11- Overflow flag
12,13- I/O Privilege level
14- Nested task flag
15- Reserved

EFLAGS
16- Resume flag
17- Virtual 8086 mode
18- Alignment check
19- Virtual interrupt flag
20- Virtual interrupt pending
21- Identification
22- Reserved
23- Reserved
24- Reserved
25- Reserved
26- Reserved
27- Reserved
28- Reserved
29- Reserved
30- Reserved
31- Reserved

RFLAGS
32-63- Reserved

Notice the 16-32-64 bit.

Google is offline   Reply With Quote
The Following User Says Thank You to Google For This Useful Post:
Adam (05-21-2009)