instrucoes assembly

Upload: nando-carneiro

Post on 20-Jul-2015

85 views

Category:

Documents


0 download

TRANSCRIPT

Tcnicas de Projetos Eletrnicos com os Microcontroladores AVR

Tcnicas de Projetos Eletrnicos com os Microcontroladores AVR

A. INSTRUES ASSEMBLY DO ATMEGA8

INSTRUES DE DESVIORJMP IJMP RCALL ICALL RET k k Desvio relativo Desvio indireto para (Z) Chama de sub-rotina Chamada indireta para (Z) Retorno de sub-rotina Retorno de interrupo Rd, Rr Rd, Rr Rd, Rr Rd, K Rr, b Rr, b P, b P, b s, k s, k k k k k k k k k k k k k k k k k k k Compara, pula se igual Compara Compara com Carry Compara registrador com valor imediato Pula se o bit do registrador estiver limpo (0) Pula se o bit do registrador estiver ativo (1) Pula se o bit do registrador de I/O estiver limpo (0) Pula se o bit do registrador de I/O estiver ativo (1) Desvia se o bit de sinalizao de status estiver ativo (1) Desvia se o bit de sinalizao de status estiver limpo (0) Desvia se igual Desvia se diferente Desvia se o bit de Carry estiver ativo (1) Desvia se o bit de Carry estiver limpo (0) Desvia se igual ou maior Desvia se menor Desvia se negativo Desvia se positivo Desvia se maior ou igual, com sinal Desvia se menor que zero, com sinal Desvia se o bit sinalizador de meio Carry estiver ativo (1) Desvia se o bit sinalizador de meio Carry estiver limpo (0) Desvia se o bit sinalizador T estiver ativo (1) Desvia se o bit sinalizador T estiver limpo (0) Desvia se o bit sinalizador de estouro estiver ativo (1) Desvia se o bit sinalizador de estouro estiver limpo (0) Desvia se a interrupo estiver habilitada Desvia se a interrupo estiver desabilitada PC PC + k + 1 PC Z PC PC + k + 1 PC Z PC STACK PC STACK if(Rd=Rr) PC PC + 2 ou 3 Rd - Rr Rd Rr - C Rd - K if(Rr(b)=0) PC PC + 2 ou 3 if(Rr(b)=1) PC PC + 2 ou 3 if(P(b)=0) PC PC + 2 ou 3 if(P(b)=1) PC PC + 2 ou 3 if(SREG(s)=1) PC PC + k + 1 if(SREG(s)=0) PC PC + k + 1 if(Z=1) PC PC + k + 1 if(Z=0) PC PC + k + 1 if(C=1) PC PC + k + 1 if(C=0) PC PC + k + 1 if(C=0) PC PC + k + 1 if(C=1) PC PC + k + 1 if(N=1) PC PC + k + 1 if(N=0) PC PC + k + 1 if(N V = 0) PC PC + k + 1 if(N V = 1) PC PC + k + 1 if(H=1) PC PC + k + 1 if(H=0) PC PC + k + 1 if(T=1) PC PC + k + 1 if(T=0) PC PC + k + 1 if(V=1) PC PC + k + 1 if(V=0) PC PC + k + 1 if(I=1) PC PC + k + 1 if(I=0) PC PC + k + 1 Nenhum Nenhum Nenhum Nenhum Nenhum I Nenhum Z,N,V,C,H Z,N,V,C,H Z,N,V,C,H Nenhum Nenhum Nenhum Nenhum Nenhum Nenhum Nenhum Nenhum Nenhum Nenhum Nenhum Nenhum Nenhum Nenhum Nenhum Nenhum Nenhum Nenhum Nenhum Nenhum Nenhum Nenhum Nenhum Nenhum 2 2 3 3 4 4 1/ 2/ 3 1 1 1 1/ 2/ 3 1/ 2/ 3 1/ 2/ 3 1/ 2/ 3 1/ 2 1/ 2 1/ 2 1/ 2 1/ 2 1/ 2 1/ 2 1/ 2 1/ 2 1/ 2 1/ 2 1/ 2 1/ 2 1/ 2 1/ 2 1/ 2 1/ 2 1/ 2 1/ 2 1/ 2

Clocks

Mnemnico

Operan -dos

Descrio

Operao

Flags

RETI CPSE CP CPC CPI

INSTRUES ARITMTICAS E LGICASADD ADC ADIW SUB SUBI SBC SBCI SBIW AND ANDI OR ORI EOR COM NEG SBR CBR INC DEC TST CLR SER MUL MULS MULSU FMUL FMULS FMULSU Rd, Rr Rd, Rr Rdl, K Rd, Rr Rd, K Rd, Rr Rd, K Rdl, K Rd, Rr Rd, K Rd, Rr Rd, K Rd, Rr Rd Rd Rd, K Rd, K Rd Rd Rd Rd Rd Rd, Rr Rd, Rr Rd, Rr Rd, Rr Rd, Rr Rd, Rr Soma dois registradores Soma dois registradores com Carry Soma o valor imediato palavra (16 bits) Subtrai dois registradores Subtrai uma constante do registrador Subtrai dois registradores com Carry Subtrai constante de registrador com Carry Subtrai valor imediato da palavra (16 bits) Lgica E entre registradores Lgica E entre registrador e constante Lgica OU entre registradores Lgica OU entre registrador e constante OU exclusivo entre registradores Complemento de um Complemento de dois Ativa bit(s) no registrador (coloca em nvel lgico 1) Limpa bit(s) no registrador (coloca em nvel lgico 0) Incrementa registrador Decrementa registrador Teste de zero ou negativo Limpa registrador Ativa registrador (todos os bits em 1) Multiplica sem sinal Multiplica com sinal Multiplica registrador com sinal e sem sinal Multiplicao fracionria sem sinal Multiplicao fracionria com sinal Multiplicao fracionria de registrador com sinal e sem sinal Rd Rd + Rr Rd Rd + Rr + C Rdh:Rdl Rdh:Rdl + K Rd Rd - Rr Rd Rd - K Rd Rd - Rr - C Rd Rd - K - C Rdh:Rdl Rdh:Rdl - K Rd Rd Rr Rd Rd K Rd Rd v Rr Rd Rd v K Rd Rd Rr Rd 0xFF - Rd Rd 0x00 - Rd Rd Rd v K Rd Rd (0xFF K) Rd Rd + 1 Rd Rd - 1 Rd Rd Rr Rd Rd Rd Rd 0xFF R1:R0 Rd Rr R1:R0 Rd Rr R1:R0 Rd Rr R1:R0 (Rd Rr)