Você está na página 1de 19

UNAC-FIEE

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

Instrucciones con un operando


Mnemnico op3uente/destino

Instrucciones con dos operandos


Mnemnico opdestino0op3uente

Para cada instruccin se presentar4 la siguiente in3ormacin


Mnemnico Operandos Descripcin Rango Operacin Banderines Ciclos de reloj

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

d,r[ ,31! d,r[ ,2,$$3 ! d[16,31! [ ,255! d[ ,31! ')64K d[ ,31!

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+

"inguno "inguno "inguno "inguno

1 1 1 2

"inguno

LDD

Carga e( registro con un dato indirecto con desp(a2amiento

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,/%

A(macenar dato en memoria A(macenar registro en memoria

r[ ,31! '<64K r[ ,31!

*'+ 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!

2 "inguno 2 "inguno 3 "inguno -

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

d[ ,31! 3[ ,63! r[ ,31! 3[ ,63! r[ ,31! d[ ,31!

Rd 45*3+ 45*3+ Rr 5TACKRr Rd 5TACK

"inguno 1 "inguno "inguno "inguno 1 2 2

05

Juego de instrucciones
Instrucciones de trans3erencia de datos
MO& R"0R8 IL R"0S"9
@8 registros ?; registros E/ S99

O+! "80R@

! K0R" !D JO"0R@9 ! SDE0R;

"?9 registros E/

CD R"0K CDD R@90JO8 CD R8@0S"9


RAM

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

C!LL %&' 4ti1ueta IC!LL R"T R"TI CPS" SBRC SBRS

Rd,Rr Rr,b Rr,b

d,r[ ,31! r [ b [ r [ b [ ,31! ,G! ,31! ,G!

)"- lo disponibles para A!MEFA"?(PA $ A!MEFA@8(PA

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 [

,31! ,G! ,31! ,G! ,31!

Rd*3$$ +Rd*G$4+ 45*3,b+1 45*3,b+

"inguno "inguno "inguno

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

- intaIis% .EB+ label > eIpression - .EQU puertas = 2

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

Você também pode gostar