ORG , . SRAM (), , EEPROM EEPROM. ( ) . EEPROM , 32 ( 0-31 ). EEPROM - .
:
.ORG
:
.DSEG;
.ORG 0x37; SRAM 0x37
variable:.BYTE 1; 0x37H
.CSEG
.ORG 0x10; 0x10
mov r0,r1; 0x10
SET - .
SET . . EQU SET.
:
.SET =
:
.SET io_offset = 0x23
.SET porta = io_offset + 2
.CSEG;
clr r2; r2
out porta,r2; A
, , . 32-.
:
( ).
SET
EQU
:
o ( ): 10, 255
o ( ): 0x0a, $0a, 0xff, $ff
o : 0b00001010, 0b11111111
o ( ): 010, 077
PC - (Programm Counter)
ADD1 | Rd, Rr | Rd =Rd + Rr | Z,C,N,V,H | |||
ADC | Rd, Rr | Rd = Rd + Rr + C | Z,C,N,V,H | |||
ADIW | Rdl,K | Rdh:Rdl = Rdh:Rdl + K | Z,C,N,V,S | |||
SUB | Rd, Rr | Rd=Rd - Rr | Z,C,N,V,H | |||
SUBI | Rd, K | Rd=Rd - K | Z,C,N,V,H | |||
SBC | Rd, Rr | Rd=Rd - Rr - C | Z,C,N,V,H | |||
SBCI | Rd, K | Rd=Rd - K - C | Z,C,N,V,H | |||
SBIW | Rdl,K | Rdh:Rdl= Rdh:Rdl-K | Z,C,N,V,S | |||
AND | Rd, Rr | Rd=Rd&Rr | Z,N,V | |||
ANDI | Rd, K | Rd=Rd&K | Z,N,V | |||
OR | Rd, Rr | Rd=Rd v Rr | Z,N,V | |||
ORI | Rd, K | Rd=Rd v K | Z,N,V | |||
EOR | Rd, Rr | . | Rd=Rd Rr | Z,N,V | ||
COM | Rd | 0b11111111 ($FF), | Rd=$FF - Rd | Z,C,N,V | ||
NEG | Rd | 0b00000000 ($00) | Rd=$00 - Rd | Z,C,N,V,H | ||
SBR | Rd, K | () | Rd=Rd v K | Z,N,V | ||
CBR | Rd, K | () | Rd=Rd ($FF - K) | Z,N,V | ||
INC | Rd | Rd=Rd + 1 | Z,N,V | |||
DEC | Rd | Rd=Rd - 1 | Z,N,V | |||
TST | Rd | Rd=Rd. Rd | Z,N,V | |||
CLR | Rd | Rd=Rd-Rd | Z,N,V | |||
SER | Rd | Rd=$FF | ||||
MUL | Rd, Rr | R1:R0=RdxRr | Z, C | |||
MULS | Rd, Rr | R1:R0=RdxRr | Z, C | |||
MULSU | Rd, Rr | R1:R0=Rd x Rr | Z, C | |||
FMUL | Rd. Rr | R1:R0= (RdxRr) << 1 | Z, C | |||
FMULS | Rd, Rr | R1:R0= (RdxRr) << 1 | Z, C | |||
FMULSU | Rd, Rr | R1:R0= (RdxRr) << 1 | Z, C | |||
RJMP | k | PC=PC + k +1 | ||||
IJMP | (Z) | PC=Z | ||||
JMP | k | PC=k | ||||
RCALL | k | PC=PC + k + 1 | ||||
ICALL | (Z) | PC=Z | ||||
CALL | k | PC=k | ||||
RET | PC=STACK | |||||
RETI | PC=STACK | I | ||||
CPSE | Rd,Rr | , if (Rd = Rr) | PC=PC + 2 3 | 1/2/3 | ||
CP | Rd,Rr | Rd-Rr | Z, N,V,C,H | |||
CPC | Rd,Rr | Rd - Rr-C | Z, N,V,C,H | |||
CPI | Rd,K | Rd-K | Z, N,V,C,H | |||
SBRC | Rr,b | , | if(Rr(b)=O) PC=PC+2 3 | 1 /2/3 | ||
SBRS | Rr, b | , | if (Rr(b)=1) PC=PC+ 2 3 | 1/2/3 | ||
SBIC | P, b | , - | if (P(b)=O) PC=PC + 2 3 | 1 /2/3 | ||
SBIS | P, b | , - | if (P(b)=1) PC=PC + 2 3 | 1 /2/3 | ||
BRBS | s, k | , | if(SREG(s)=1) then PC=PC+k + 1 | 1/2 | ||
BRBC | s, k | , | if(SREG(s)=0) then PC=PC+k + 1 | 1 /2 | ||
BREQ | k | , | if(Z=1) then PC=PC + k + 1 | 1 /2 | ||
BRNE | k | , | if(Z=0) then PC=PC + k + 1 | 1 /2 | ||
BRCS | k | , | if(C=1)then PC=PC+k+ 1 | 1 /2 | ||
BRCC | k | , | if(C=0) then PC=PC +k+ 1 | 1 /2 | ||
BRSH | k | , | if(C=0) then PC=PC+k+ | 1 /2 | ||
BRLO | k | , | if(C=1) then PC=PC+k+1 | 1 /2 | ||
BRMI | k | , | if(N=1) then PC=PC+k + 1 | 1 /2 | ||
BRPL | k | , | if(N=0) then PC=PC + k + 1 | 1 /2 | ||
BRGE | k | , | if(NeV=0) then PC=PC+k+1 | 1 /2 | ||
BRLT | k | , | if(NeV=1) then PC=PC+k+ | 1 /2 | ||
BRHS | k | , | if(H=1) then PC=PC+k+1 | 1 /2 | ||
BRHC | k | , | if (H=0) then PC=PC+k + 1 | 1 /2 | ||
BRTS | k | , | if (T=1) then PC=PC + k +1 | 1 /2 | ||
BRTC | k | , | if (T=0) then PC=PC+k+1 | 1 /2 | ||
BRVS | k | , V | if (V=) then PC=PC+k+1 | 1 /2 | ||
BRVC | k | , V | if (V=0) then PC=PC + k+1 | 1 /2 | ||
BRIE | k | , | if (I = 1)then PC=PC+ k+ 1 | 1 /2 | ||
BRID | k | , | if (I =0) then PC=PC +k +1 | 1 /2 | ||
MOV | Rd, Rr | Rd=Rr | ||||
MOVW | Rd, Rr | Rd+1:Rd=Rr+1:Rr | ||||
LDI | Rd, K | Rd=K | ||||
LD | Rd, X | Rd=(X) | ||||
LD | Rd, X+ | . | Rd=(X), X=X + 1 | |||
LD | Rd,-X | , | X=X - 1, Rd=(X) | |||
LD | Rd,Y | Rd=(Y) | ||||
LD | Rd, Y+ | . | Rd=(Y), Y=Y + 1 | |||
LD | Rd,-Y | , | Y=Y - 1, Rd=(Y) | |||
LDD | Rd,Y+q | Rd=(Y + q) | ||||
LD | Rd, Z | Rd=(Z) | ||||
LD | Rd, Z+ | . | Rd=(Z),Z=Z+1 | |||
LD | Rd.-Z | , | Z=Z - 1, Rd=(Z) | |||
LDD | Rd, Z+q | Rd=(Z + q) | ||||
LDS | Rd, k | Rd=(k) | ||||
ST | X, Rr | (X)=Rr | ||||
ST | X+, Rr | . | (X)=Rr, X=X + 1 | |||
ST | -X, Rr | . | X=X - 1, (X)=Rr | |||
ST | Y, Rr | (Y)=Rr | ||||
ST | Y+, Rr | . | (Y)=Rr, Y=Y + 1 | |||
ST | -Y, Rr | . | Y=Y - 1, (Y)=Rr | |||
STD | Y+q,Rr | (Y + q)=Rr | ||||
ST | Z, Rr | (Z)=Rr | ||||
ST | Z+, Rr | . | (Z)=Rr, Z=Z + 1 | |||
ST | -Z. Rr | . | Z=Z - 1, (Z)=Rr | |||
STD | Z+q,Rr | (Z + q)=Rr | ||||
STS | k, Rr | (k)=Rr | ||||
LPM | R0=(Z) | |||||
LPM | Rd, Z | Rd=(Z) | ||||
LPM | Rd, Z+ | Rd=(Z), Z=Z+1 | ||||
ELPM | R0=(RAMPZ:Z) | |||||
ELPM | Rd, Z | Rd=(RAMPZ:Z) | ||||
ELPM | Rd, Z+ | Rd=(RAMPZ:Z), RAMPZ:Z=RAMPZ:Z+1 | ||||
SPM | (Z)=R1:R0 | - | ||||
IN | Rd, P | - | Rd=P | |||
OUT | P, Rr | - | P=Rd | |||
PUSH | Rr | STACK=Rr | ||||
POP | Rd | Rd=STACK | ||||
SBI | P,b | - | l/O(P,b)=1 | |||
CBI | P,b | - | l/O(P,b)=0 | |||
LSL | Rd | Rd(n+1)=Rd(n), Rd(0)=0 | Z,C,N,V | |||
LSR | Rd | Rd(n)=Rd(n+1), Rd(7)=0 | Z,C,N,V | |||
ROL | Rd | Rd(0)= C, Rd(n+1)=Rd(n), C=Rd(7) | Z,C,N,V | |||
ROR | Rd | Rd(7)=C, Rd(n)=Rd(n+1), C=Rd(0) | Z,C,N,V | |||
ASR | Rd | Rd(n)= Rd(n+1), n=0..6 | Z,C,N,V | |||
SWAP | Rd | Rd(3..0)=Rd(7..4), Rd(7..4)=Rd(3..0) | ||||
BSET | s | SREG | SREG(s)=1 | SREG(s) | ||
BCLR | s | SREG | SREG(s)=0 | SREG(s) | ||
BST | Rr, b | T | T=Rr(b) | T | ||
BLD | Rd, b | T | Rd(b)=T | |||
SEC | C=1 | C | ||||
CLC | C=0 | C | ||||
SEN | N | N=1 | N | |||
CLN | N | N=0 | N | |||
SEZ | Z | Z=1 | Z | |||
CLZ | Z | Z=0 | Z | |||
SEI | L= 1 | I | ||||
CLI | l=0 | I | ||||
SES | S | S=1 | S | |||
CLS | S | S=0 | S | |||
SEV | V SREG | V=1 | V | |||
CLV | V SREG | V=0 | V | |||
SET | T SREG | T=1 | T | |||
CLT | T SREG | T=0 | T | |||
SEH | SREG | H=1 | H | |||
CLH | SREG | H=0 | H | |||
NOP | ||||||
SLEEP | (. ) | |||||
WDR | (. ) | |||||
BREAK | - | |||||
|
|
|
|
|
|
3
5.
AVR
7 | 6 | 5 | 3 | 2 | 1 | 0 | ||
($FF)- | - | - | - | - | - | - | - | - |
($9E)- | - | - | - | - | - | - | - | - |
($9D)-UCSR1C C 1 | - | UMSEL1 | UPM11 | UPM10 | USBS1 | UCSZ11 | UCSZ10 | UCPOL1 |
($9C)-UDR1 | 1 | |||||||
($9B)-UCSR1A 1 | RXC1 | TXC1 | UDRE1 | FE1 | DOR1 | UPE1 | U2X1 | MPCM1 |
($9A)-UCSR1B B 1 | RXCIE1 | TXCIE1 | UDRIE1 | RXEN1 | TXEN1 | UCSZ12 | RXB81 | TXB81 |
($99)-UBRR1L | 1 | |||||||
($98)-UBRR1H | - | - | - | - | 1 | |||
($97)- | - | - | - | - | - | - | - | - |
($96)- | - | - | - | - | - | - | - | - |
($95)-UCSR0C. C 0 | - | UMSEL0 | UPM01 | UPM00 | USBS0 | UCSZ01 | UCSZ00 | UCPOL0 |
($94)- | - | - | - | - | - | - | - | - |
($93)- | - | - | - | - | - | - | - | - |
($92)- | - | - | - | - | - | - | - | - |
($91)- | - | - | - | - | - | - | - | - |
($90)-UBRR0H | - | - | - | - | . 0 | |||
($8F)- | - | - | - | - | - | - | - | - |
($8E)- | - | - | - | - | - | - | - | - |
($8D)- | - | - | - | - | - | - | - | - |
($8C)-TCCR3C | FOC3A | FOC3B | FOC3C | - | - | - | - | - |
($8B)-TCCR3A | COM3A1 | COM3A0 | COM3B1 | COM3B0 | COM3C1 | COM3C0 | WGM31 | WGM30 |
($8A)-TCCR3B | ICNC3 | ICES3 | - | WGM33 | WGM32 | CS32 | CS31 | CS30 |
($89)-TCNT3H | - 3 - | |||||||
($88)-TCNT3L | - 3 - | |||||||
($87)-OCR3AH | - 3 - | |||||||
($86)-OCR3AL | - 3 - | |||||||
($85)-OCR3BH | - 3 - | |||||||
($84)-OCR3BL | - 3 - | |||||||
($83)-OCR3CH | - 3 - | |||||||
($82)-OCR3CL | - 3 - | |||||||
($81)-ICR3H | - 3 - | |||||||
($80)-ICR3L | - 3 - | |||||||
($7F)- | - | - | - | - | - | - | - | - |
($7E)- | - | - | - | - | - | - | - | - |
($7D)-ETIMSK | - | - | TICIE3 | OCIE3A | OCIE3B | TOIE3 | OCIE3C | OCIE1C |
($7C)-ETIFR | - | - | ICF3 | OCF3A | OCF3B | TOV3 | OCF3C | OCF1C |
($7B)- | - | - | - | - | - | - | - | - |
($7A)-TCCR1C | FOC1A | FOC1B | FOC1C | - | - | - | - | - |
($79)-OCR1CH | - 1 - | |||||||
($78)-OCR1CL | - 1 - | |||||||
($77)- | - | - | - | - | - | - | - | - |
($76)- | - | - | - | - | - | - | - | - |
($75)- | - | - | - | - | - | - | - | - |
($74)-TWCR. TWI | TWINT | TWEA | TWSTA | TWSTO | TWWC | TWEN | - | TWIE |
($73)-TWDR. TWI | ||||||||
($72)-TWAR. TWI | TWA6 | TWA5 | TWA4 | TWA3 | TWA2 | TWA1 | TWA0 | TWGCE |
($71)-TWSR. TWI | TWS7 | TWS6 | TWS5 | TWS4 | TWS3 | - | TWPS1 | TWPS0 |
($70)-TWBR | ||||||||
($6F)-OSCCAL | ||||||||
($6E)- | - | - | - | - | - | - | - | - |
($6D)-XMCRA | - | SRL2 | SRL1 | SRL0 | SRW01 | SRW00 | SRW11 | - |
($6C)-XMCRB | - | - | - | - | - | XMM2 | XMM1 | XMM0 |
($6B)- | - | - | - | - | - | - | - | - |
($6A)-EICRA | ISC31 | ISC30 | ISC21 | ISC20 | ISC11 | ISC10 | ISC01 | ISC00 |
($69)- | - | - | - | - | - | - | - | - |
($68)-SPMCSR | SPMIE | RWWSB | - | RWWSRE | BLBSET | PGWRT | PGERS | SPMEN |
($67)- | - | - | - | - | - | - | - | - |
($66)- | - | - | - | - | - | - | - | - |
($65)-PORTG | - | - | - | PORTG4 | PORTG3 | PORTG2 | PORTG1 | PORTG0 |
($64)-DDRG. G | - | - | - | DDG4 | DDG3 | DDG2 | DDG1 | DDG0 |
($63)-PING | - | - | - | PING4 | PING3 | PING2 | PING1 | PING0 |
($62)-PORTF | PORTF7 | PORTF6 | PORTF5 | PORTF4 | PORTF3 | PORTF2 | PORTF1 | PORTF0 |
($61)-DDRF. F | DDF7 | DDF6 | DDF5 | DDF4 | DDF3 | DDF2 | DDF1 | DDF0 |
($60)- | - | - | - | - | - | - | - | - |
$3F($5F)-SREG. | I | T | H | S | V | N | Z | C |
$3E($5E)-SPH. (. ) | SP15 | SP14 | SP13 | SP12 | SP11 | SP10 | SP9 | SP8 |
$3D($5D)-SPL (. ) | SP7 | SP6 | SP5 | SP4 | SP3 | SP2 | SP1 | SP0 |
$3C($5C)-XDIV | XDIVEN | XDIV6 | XDIV5 | XDIV4 | XDIV3 | XDIV2 | XDIV1 | XDIV0 |
|
|
:
1. . 0. .
|
|
2. . 1. , CBI SBI - (--). CBI SBI $00$1F.
4
6. ATmega128
$0000 | RESET | , , , JTAG- | |
$0002 | INT0 | 0 | |
$0004 | INT1 | 1 | |
$0006 | INT2 | 2 | |
$0008 | INT3 | 3 | |
$000A | INT4 | 4 | |
$000C | INT5 | 5 | |
$000E | INT6 | 6 | |
$0010 | INT7 | 7 | |
$0012 | TIMER2 COMP | - 2 | |
$0014 | TIMER2 OVF | - 2 | |
$0016 | TIMER1 CAPT | - 1 | |
$0018 | TIMER1 COMPA | - 1 | |
$001A | TIMER1 COMPB | - 1 | |
$001C | TIMER1 OVF | - 1 | |
$001E | TIMER0 COMP | - 0 | |
$0020 | TIMER0 OVF | - 0 | |
$0022 | SPI, STC | SPI | |
$0024 | USART0, RX | 0 | |
$0026 | USART0, UDRE | 0 | |
$0028 | USART0, TX | 0 | |
$002A | ADC | ||
$002C | EE READY | EEPROM | |
$002E | ANALOG COMP | ||
$0030(3) | TIMER1 COMPC | - 1 | |
$0032(3) | TIMER3 CAPT | 3 | |
$0034(3) | TIMER3 COMPA | - 3 | |
$0036(3) | TIMER3 COMPB | - 3 | |
$0038(3) | TIMER3 COMPC | - 3 | |
$003A(3) | TIMER3 OVF | 3 | |
$003C(3) | USART1, RX | 1 | |
$003E(3) | USART1, UDRE | 1 | |
$0040(3) | USART1, TX | 1 | |
$0042(3) | TWI | ||
$0044(3) | SPM READY |
.
1. BOOTRST , .
2. IVSEL MCUCR, -. -.
3. $0030 - $0044 ATmega103.
5
AVR
ATmega8(L)
ATmega128
ATmega64
ATmega32
ATmega16
ATmega169
ATmega8535
ATmega163
ATtiny15L
ATtiny26
ATtiny28
AT90S2313
[1] http://logic-bratsk.ru/radio/micro/atmega128/index.htm
[2] - - , .
[3] BLB02 , . BLB12 , .
[4] (ACO) - 1 . - 3 .
[5] TWI.
-, . SCL ;
, ;
- , ;
-, .
[6] 3 ..