Escolar Documentos
Profissional Documentos
Cultura Documentos
2014-V
Juego de instrucciones
Instrucciones de trans3erencia de datos Instrucciones aritm5tico=lgicas Instrucciones de salto Instrucciones de mane1o de bits Instrucciones de control del sistema
01
Juego de instrucciones
Instrucciones sin operandos
Mnemnico
02
Juego de instrucciones
Instrucciones de trans3erencia de datos
MOV MOVW LDI LDS LD
Rd,Rr Rd,Rr Rd,K Rd,' Rd,, Rd,,% Rd,-, Rd,. Rd,.% Rd,-. Rd,/ Rd,/% Rd,-/ Rd,.%1 Rd,/%1
Copiar registro Copiar registro # Cargar dato inmediato Cargar dato desde (a memoria Carga e( registro con un dato indirecto
Rd Rr Rd%1&Rd Rr%1&Rr Rd K Rd *'+ Rd *,+ Rd *,+0 ,,%1 ,,-10 Rd *,+ Rd *.+ Rd *.+0 ..%1 ..-10 Rd *.+ Rd */+ Rd */+0 //%1 //-10 Rd */+ Rd *.%1+ Rd */%1+
1 1 1 2
"inguno
LDD
d[ ,31! 1[ ,63!
2 "inguno 2
03
Juego de instrucciones
Instrucciones de trans3erencia de datos
STS ST
', Rr ,,Rr ,%,Rr -,,Rr .,Rr .%,Rr -.,Rr /,Rr /%,Rr -/,Rr .%1,Rr /%1,Rr Rd,/ Rd,/%
*'+ Rr *,+ Rr *,+ Rr0 ,,%1 ,,-10 *,+ Rr *.+ Rr *.+ Rr0 ..%1 ..-10 *.+ Rr */+ Rr */+ Rr0 //%1 //-10 */+ Rr *.%1+Rr */%1+ Rr R */+ Rd */+ Rd */+0 //%1 */+ R1&R
"inguno 2 "inguno
STD
LPM
A(macenar registro en memoria con indirecto con desp(a2amiento Carga memoria de programa A(macenar en memoria de programa
r[ ,31! 1[ ,63!
SPM
04
Juego de instrucciones
Instrucciones de trans3erencia de datos
IN OUT PUS POP
Rd,3 3,Rr Rr Rd
4ntrada de( puerto 5a(ida 6acia e( puerto 4mpu7ar en pi(a 5acar de pi(a
05
Juego de instrucciones
Instrucciones de trans3erencia de datos
MO& R"0R8 IL R"0S"9
@8 registros ?; registros E/ S99
O+! "80R@
"?9 registros E/
RAMELD
06
Juego de instrucciones
Instrucciones aritm5tico=lgicas
!DD !DC !DIW SUB SUBI SBC SBCI SBIW !ND !NDI OR ORI "OR COM N"# INC D"C Rd,Rr Rd,Rr Rd,K Rd,Rr Rd,K Rd,Rr Rd,K Rd,K Rd,Rr Rd,K Rd,Rr Rd,K Rd,Rr Rd Rd Rd Rd 5uma sin carr8 5uma con carr8 5uma inmediato con pa(abra Resta sin carr8 Resta inmediato Resta con carr8 Resta inmediato con carr8 Resta inmediato con pa(abra And (gica And (gica con dato inmediato ;r (gica ;r (gica con dato inmediato 4<c(usi=e or Comp(emento a 1 Comp(emento a 2 @ncrementa Aecrementa d,r[ ,31! d,r[ ,31! d[24,26,28,3 ! K[ ,63! d,r[ ,31! d[16,31! K[ ,255! d,r[ ,31! d[16,31! K[ ,255! d[24,26,28,3 ! K[ ,63! d,r[ ,31! d[16,31! K[ ,255! d,r[ ,31! d[16,31! K[ ,255! d,r[ ,31! d,r[ ,31! d,r[ ,31! d,r[ ,31! d,r[ ,31! Rd Rd%Rr Rd Rd%Rr%C Rd%1&Rd Rd%1&Rd % K Rd Rd-Rr Rd Rd-K Rd Rd-Rr-C Rd Rd-K-C Rd%1&Rd Rd%1&Rd - K Rd Rd Rr Rd Rd K Rd Rd Rr Rd Rd K Rd Rd Rr Rd >??-Rd Rd > -Rd Rd Rd%1 Rd Rd-1 /,",9,C,:,5 /,",9,C,:,5 /,",9,C,5 /,",9,C,:,5 /,",9,C,:,5 /,",9,C,:,5 /,",9,C,:,5 /,",9,C,5 /,",9,5 /,",9,5 /,",9,5 /,",9,5 /,",9,5 /,",9,C,5 /,",9,C,5 /,",9,5 /,",9,5 2 1 1 1 1 1 1 1 1 1 1 1 2 1 1 1 1
07
Juego de instrucciones
Instrucciones aritm5tico=lgicas
CLR S"R CP CPC CPI MUL MULS MULSU Rd Rd Rd,Rr Rd,Rr Rd,K Rd,Rr Rd,Rr Rd,Rr 3oner a cero 3oner todo a 1 Compara Compara con carr8 Compara inmediato Bu(tip(ica sin signo Bu(tip(ica con signo Bu(tip(ica signo con sin signo d,r[ ,31! d,r[16,31! d,r[ ,31! d,r[ ,31! d[16,31! K[ ,255! d,r[ ,31! d,r[ ,31! d,r[ ,31! Rd Rd >?? Rd-Rr Rd-Rr-C Rd-K R1&R Rd < Rr R1&R Rd < Rr R1&R Rd < Rr *Rd signed Rr unsigned+ /,",9,5 /,",9,5 /,",9,C,:,5 /,",9,C,:,5 /,",9,C,:,5 /,C /,C /,C 1 1 1 1 1 2 2 2
08
Juego de instrucciones
Instrucciones de salto.
R$MP $MP %&' I$MP RC!LL 4ti1ueta 4ti1ueta 4ti1ueta 5a(to re(ati=o 5a(to 5a(to indirecto C(amada a subrutina re(ati=a C(amada a subrutina C(amada a subrutina indirecta Regreso de subrutina Regreso de interrup$ Compara, es1ui=a si igua(es 4s1ui=a si e( bit estF a cero 4s1ui=a si e( bit estF a uno -2K) 4ti1-3C-1)2K )4ti1ueta)4B -2K) 4ti1-3C-1 )2K )4ti1ueta)4B 3C 4ti1ueta 3C 4ti1ueta 3C / 5TACK 3C 3C4ti1ueta 5TACK 3C 3C 4ti1ueta 5TACK 3C 3C / 3C 5TACK 3C 5TACK 5i RdDRr 3C 3C%2 * 3+ 5i *Rd*b+D + 3C 3C%2 * 3+ 5i *Rd*b+D1+ 3C 3C%2 * 3+ "inguno "inguno "inguno "inguno "inguno 3 "inguno "inguno @ "inguno "inguno 1E 2E 3 "inguno 1E 2E 3 4 4 4 1E 2E 3 2 2 3 3
09
Juego de instrucciones
Instrucciones de salto.
SBIC SBIS BR"( BRN" BRCS BRCC BRS 3,b 4s1ui=a si e( bit de( puerto estF a 3,b 4s1ui=a si e( bit de( puerto estF a1 4ti1ueta 5a(ta si igua(es 4ti1ueta 5a(ta si distintos 4ti1ueta 5a(ta si C estF a 1 4ti1ueta 5a(ta si CestF a 4ti1ueta 5a(ta si igua( o ma8or 3[ ,31! b[ ,G! 3[ ,31! b[ ,G! -64 )4ti1-3C-1- )64 -64 )4ti1-3C-1- )64 -64 )4ti1-3C-1- )64 -64 )4ti1-3C-1- )64 -64 )4ti1-3C-1- )64 5i *4E5*3,b+D + 3C 3C%2 * 3+ 5i *4E5*3,b+D1+ 3C 3C%2 * 3+ 5i */D1+ 3C 4ti1ueta 5i */D + 3C 4ti1ueta 5i *CD1+ 3C4ti1ueta 5i *CD + 3C 4ti1ueta 5i *CD1+ 3C 4ti1ueta "inguno "inguno "inguno "inguno "inguno "inguno "inguno 1o2o 3 1o2o 3 1o2 1o2 1o2 1o2 1o2
10
Juego de instrucciones
Instrucciones de salto.
BRLO BRMI BRPL BR S BR C BRTS BRTC BRVS BRVC BRI" BRID 4ti1ueta 4ti1ueta 4ti1ueta 4ti1ueta 4ti1ueta 4ti1ueta 4ti1ueta 4ti1ueta 4ti1ueta 4ti1ueta 4ti1ueta 5a(ta 5a(ta 5a(ta 5a(ta 5a(ta 5a(ta 5a(ta 5a(ta 5a(ta 5a(ta 5a(ta si menor si negati=o si positi=o si : estF a 1 si : estF a si T estF a 1 si T estF a si 9 estF a 1 si 9 estF a si @ estF a 1 si @ estF a -64 )4ti1-3C-1- )64 -64 )4ti1-3C-1- )64 -64 )4ti1-3C-1- )64 -64 )4ti1-3C-1- )64 -64 )4ti1-3C-1- )64 -64 )4ti1-3C-1- )64 -64 )4ti1-3C-1- )64 -64 )4ti1-3C-1- )64 -64 )4ti1-3C-1- )64 -64 )4ti1-3C-1- )64 -64 )4ti1-3C-1- )64 5i *CD + 3C 4ti1ueta 5i *"D1+ 3C 4ti1ueta 5i *"D + 3C 4ti1ueta 5i *:D1+ 3C 4ti1ueta 5i *:D + 3C 4ti1ueta 5i *TD1+ 3C 4ti1ueta 5i *TD + 3C 4ti1ueta 5i *9D1+ 3C 4ti1ueta 5i *9D + 3C 4ti1ueta 5i *@D1+ 3C 4ti1ueta 5i *@D + 3C 4ti1ueta "inguno "inguno "inguno "inguno "inguno "inguno "inguno "inguno "inguno "inguno "inguno 1o2 1o2 1o2 1o2 1o2 1o2 1o2 1o2 1o2 1o2 1o2
11
Juego de instrucciones
Instrucciones de salto.
BR#" BRLT 4ti1ueta 5a(ta si ma8or o -64 )4ti1-3C-1- )64 igua(, *signo+ 4ti1ueta 5a(ta si menor *signo+ -64 )4ti1-3C-1- )64 5i *"9D + 3C 4ti1ueta 5i *"9D1+ 3C 4ti1ueta "inguno "inguno 1o2 1o2
Tes) %CP Rd*Rr' Rd Rr Rd ) Rr Rd D Rr Rd Rr Rd Rr Rd ) Rr Carr8 5in carr8 "egati=o 3ositi=o ;=erK(oL 5in o=erK(oL Cero "o cero
Booleana *" 9+ D *" 9+ D 1 /D1 /D CD CD1 CD1 CD "D1 "D 9D1 9D /D1 /D
Mnemonico HRI4 HRCT HR4J HR"4 HRCCEHR5: HRC5EHRC; HRC5 HRCC HRB@ HR3C HR95 HR9C HR4J HR"4
Comen)ario 5igno 5igno 5ignoE5in signo 5ignoE5in signo 5in signo 5in signo 5imp(e 5imp(e 5imp(e 5imp(e 5imp(e 5imp(e 5imp(e 5imp(e
12
Juego de instrucciones
Instrucciones de bit $ de bit=test.
LSL LSR ROL ROR !SR Rd Rd Rd Rd Rd Aesp(a2amiento a (a i21uierda Aesp(a2amiento a (a derec6a Rotacin a (a i21uierda Rotacin a (a derec6a Aesp(a2amiento aritmMtico a (a derec6a d[ ,31! d[ ,31! d[ ,31! d[ ,31! d[ ,31! Rd*n%1+ Rd*n+, Rd* + , C Rd*G+ Rd*n+ Rd*n%1+, Rd*G+ , C Rd* + Rd*n%1+ Rd*n+, Rd* +C, C Rd*G+ Rd*n+ Rd*n%1+, Rd*G+C, C Rd* + Rd*n+ Rd*n%1+, Rd*G+Rd*G+, C Rd* + /,C,",9,:,5 1 /,C,",9,5 1 /,C,",9,:,5 1 /,C,",9,5 1 /,C,",9,5 1
9 *
Rn Rn Rn
E
* 9 *
C R C C A R *
Rn
ROR ROC
Rn
13
Juego de instrucciones
Instrucciones de bit $ de bit=test.
SW!P Rd SBI 3,b CBI S"cc
1
@ntercambia nibb(es 3oner a 1 e( bit b de( puerto @; 3oner a e( bit b de( puerto @;
3,b
CLcc
1
3oner a 1 e( bit cc de( registro de estado 3oner a o e( bit cc de( registro de estado
d[ b[ 3 [ b[ 3 [
1 2 2
cc 1 cc 1
cc> *0L0!0K0I0&0#0
14
Juego de instrucciones
Instrucciones de control
NOP BR"!+ WDR SL""P "ada 3ara depuracin Reinica e( tempori2ador de( perro guardiFn Aormir "inguno "inguno "inguno "inguno 1 "EA 1 1
15
Directivas de ensamblador
Directivas de ensamblador
on comandos al programa que genera el cdigo ob1eto $ que se encuentran mezclados en el 3ic2ero 3uente con las instrucciones del microcontrolador . * EF=*ode egment
intaIis% .* EF intaIis% .D EF
D EF=Date egment
16
Directivas de ensamblador
Directivas de ensamblador)cont.GJ!E W Reserva b$tes a una variable
- Reserva en memoria de datos. Posible slo en D EF - intaIis% label% .GJ!E eIpresion - Var1: .BYTE 1 - Tabla: .BYTE 10
17
Directivas de ensamblador
Directivas de ensamblador)cont.DE7 W Asigna un nombre simblico a un registro.
- intaIis% .DE7 s$mbol>register - .DEF temp = r16 - .DEF ior= r0
EB+ W Xmbolo igual a eIpresin
45
18
Directivas de ensamblador
Directivas de ensamblador)cont.ORF W Establece la direccin de memoria
intaIis% .ORF eIpression .DSEG . !G 0"#$ %Dire&&i'( )#$ *e la memoria *e *atos %Si no se indica direccin, por defecto $60 Variable: .BYTE 1 .+SEG . !G 0,10 -o. r0/r1
19