Sunteți pe pagina 1din 4

Quintero, Sneyder, 45112017.

Abstract Este laboratory is designed so that students can


understand the operation of a pic using the basic functions such
as move data to a memory location, add it or subtract it and
analyze the language of communication between machine and
user.
I INTRODUCTION
ste l!ortorio est dise"do #r $ue el lu%no #ued
entender el &un'ion%iento de un #i' e%#lendo ls
&un'iones !(si's 'o%o es %o)er un dto un
#osi'i*n de %e%ori, su%rlo o restrlo y nli+r el len,u-e
de 'o%uni''i*n
.
II /0RCO T.ORICO
Assembler
0sse%!rer es un len,u de !-o ni)el 12en,u-e
.ns%!ldor1, tiene instru''iones %uy !(si's y est( %uy
'er'no l len,u-e de %($uin. Nor%l%ente se utili+ #r
#ro,r%r %i'ro#ro'esdores, #ero t%!i3n e4isten inter&'es
de #ro,r%'i*n en l #'.
Te #so l,unos lin5s 'on l,unos %nules, #ero son un #o'o
di&6'iles #or$ue tienes $ue 'ostu%!rrte 'o%o tr!- el
len,u-e #ri%ero, ten #'ien'i y %u'7 #r('ti'.
PIC
2os 8IC son un &%ili de %i'ro 'ontroldor ti#o RISC
&!ri'dos #or /i'ro'7i# Te'nolo,6 In'. y deri)dos del
8IC1950, ori,inl%ente desrrolldo #or l di)isi*n de
%i'roele'tr*ni' de :enerl Instru%ent.
.l no%!re 'tul no es un 'r*ni%o. .n relidd, el no%!re
'o%#leto es 8IC%i'ro, un$ue ,enerl%ente se utili+ 'o%o
8eri#7erl Inter&'e Controller ;'ontroldor de inter&+
#eri&3ri'o<.
.l 8IC ori,inl se dise"* #r ser usdo 'on l nue) C8U de
19 !its C819000. Siendo en ,enerl un !uen C8U, 3st ten6
%ls #rest'iones de entrd y slid, y el 8IC de = !its se
desrroll* en 1>75 #r %e-orr el rendi%iento del siste%
$uitndo #eso de .?S l C8U. .l 8IC utili+! %i'ro '*di,o
si%#le l%'endo en RO/ #r reli+r ests tres@ y
un$ue el t3r%ino no se us! #or $uel enton'es, se trt de
un dise"o RISC $ue e-e'ut un instru''i*n 'd 4 'i'los del
os'ildor.
!"A E# !# PIC
un su%dor es un 'ir'uito l*,i'o $ue 'l'ul l o#er'i*n

su%. .n los 'o%#utdores %odernos se en'uentr en lo $ue


se deno%in Unidd rit%3ti'o l*,i' ;02U<. :enerl%ente
reli+n ls o#er'iones rit%3ti's en '*di,o !inrio de'i%l
o ACD e4'eso B, #or re,l ,enerl los su%dores e%#len el
siste% !inrio. .n los 'sos en los $ue se est3 e%#lendo un
'o%#le%ento dos #r re#resentr nC%eros ne,ti)os el
su%dor se 'on)ertir( en un su%dorDrestdor ;0dderD
su!tr'ter
"A$E%IA&E
ESo&tFre /820A
E /nul del 8IC 1=&452
E Instru''i*n de %ne-o de sse%!ler
E 0#untes de 'lse.
III DI0:R0/0 D. 02:ORIT/O
P%'(%A"A )
Gin'lude H#1=&452.in'I@
R1 e$u 0401
R2 e$u 0402
or, 0400
,oto strt
or, 040=
ret&ie
or, 041=
ret&ie
strt %o)lF 0400 @ 0<AORR0R .2 R.:ISTRO J
C0R:0NDO2O CON C.RO 0
'lr& R1 @ lle)r el )lor del re,istro J l re,istro K
'lr& R2 @ !orr l #osi'ion del re,istro K
%o)lF dL10L @ %o)er 10 en 7e4de'i%l J
%o)F& R1 @ %o)er el re,istro J l re,istro K
%o)lF 0400 @ 'r, J 'on un 0 , #r e)itr
$ue el B se su%e 'on el 00M
CIC2O @ A< INICIO D. CIC2O 80R0
D.CR./.NT0R .2 10 C0R:0DO .N R1 N 0U/.NT0R
D. B .N B 20 8OSICION R2
ddlF DLBL @ su%r en el re,istro J B en de'i%l
%o)F& R2 @%o)er el )lor de J l #si'ion de
%e%ori R2
de'&s+ R1 @ de're%ent l #osi'ion R1 7st $ue se
:OTO CIC2O @ SI NO CU/82. 20 CONDICION
S. D.OU.2O. 02 INCIO D.2 CIC2O
.ND

7ere ,oto 7ere
end
P%'(%A"A *
????????????????????????????????????????????????????????????????????????????????
Gin'lude H#1=&452.in'I@
T022.R 1
Quintero Sneyder, 45112017.
Quintero, Sneyder, 45112017.
or, 0400
,oto strt
or, 040=
ret&ie
or, 041=
ret&ie
strt %o)lF 0400 @ !orrdo del re,istro F
%o)lF 047> @ 'r,r el F 'on 7>M
%o)F& 0401 @ ,urddo en l #osi'ion 01 de %e%ori
%o)lF 04&5 @ 'r,r el F 'on &5M
%o)F& 0402 @ ,urddo en l #osi'ion 02 de %e%ori
%o)lF 04e2 @ 'r,r el F 'on e2M
%o)F& 040B @ ,urddo en l #osi'ion 0B de %e%ori
%o)lF 0400 @ !orrdo del re,istro F
ddF& 0401,F @su%r F 'on el dto $u est en l
#osi'ion 01
'lr& 0404
ATKS' ST0TUS, C @#re,unt si l su% d 'rry no
slte de lo 'ontrrio slte
in'&s+ 0404 @ si 7y 'rry su%e uno l 04
ddF& 0402,F @su%r F 'on el dto $u est en l
#osi'ion 02
ATKS' ST0TUS, C
in'&s+ 0404
ddF& 040B,F @su%r F 'on el dto $u est en l
#osi'ion 0B
ATKS' ST0TUS, C
in'&s+ 0404
'lr& 0405
%o)F& 0405 @ ,urde el )lor de l su% sin 'rrys en l
#osi'ion 05
7ere ,oto 7ere
end
??????????????????????????????????????????????????????????????????????????????????????????
??????
P%'(%A"A +
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-include.p)/f01*.inc2
!"A3$'$A& e4u 5657 8!"A 9E&
A&('%I$"'
org 5655
('$' start
org 565/ 8interrupcion de alta prioridad
retfie 8retorno programa principal
org 56)/ 8interrupcion de ba:a prioridad
retfie
start
C&%; 8 <'%%A9' 9E ;
clrf 565= 8 <'%%A9' registro >
clrf 5657 8 <'%%A9' registro >
clrf 5605 8 <'%%A9' registro >
clrf 560) 8 <'%%A9' registro >
clrf 560* 8 <'%%A9' registro >
clrf 560+ 8 <'%%A9' registro >
movlw 567) 8 carga ; con 567)?
movwf 5605 8 mover ; a una posicion de
memoria 5605
movlw 56// 8 carga ; con 56//
movwf 560) 8 mover ; a una posicion de
memoria 560)
movlw 56=@ 8 carga ; con 56=@?
movwf 560* 8 mover ; a una posicion de
memoria 560*
movlw 56@7 8 carga ; con 56@7?
movwf 560+ 8 mover ; a una posicion de
memoria 5605
movlw 5655 8 ; E CA%(A9' C'# 5
addwf 5605,w 8 !"A% E& AA&'%
(!A%9A9' E# &A P'ICI'# 5B05 C'# ; C
(!A%9A9' E# ;
btfsc $A$!,C 8 AE%I>ICA% I ?AC CA%%C
I #' A&$A
incf 565= 8I#C%E"E#$E E# !#' C!A#9'
#' A&$A &A A#$E%I'% &I#EA
addwf 560),w
btfsc $A$!,C
incf 565=
addwf 560*,w
btfsc $A$!,C
incf 565=
addwf 560+,w
btfsc $A$!,C
incf 565=
movwf !"A3$'$A& 8E& AC!"A&' 9E ; E
"!EAE A &A P'ICI'# 5B57
here goto here
end
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
P%'(%A"A 0
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-include .p)/f01*.inc2
resultado e4u 565+
org 5655
goto start
org 565/
retfie
org 56)/
retfie
start
clrw
movlw 56=e @ 'r,r el F 'on 0P9.
movwf 565*
movlw 560c @ 'r,r el F 'on 044C
movwf 565)
subwf 565*,w 8 resta el resultado y lo guarda en ;
movwf resultado
Quintero, Sneyder, 45112017.
here goto here
end
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
P%'(%A"A 1
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
-include .p)/f01*.inc2 8libreria del pic)/f01*
org 5655
goto start
org 565/
retfie
org 56)/
retfie
start
movlw @=? 8cargar el resultado @=? a ;
sublw =*? 8restar =*? con @=?
movwf 5651 8mover el resultado a el espacio
btfss $A$!,C 8rectificar si da carry , si no
salta el siguiente codigo
decfsz ;%E( 8decrementa en > saltar si es 5
movlw *7? 8cargar *7? a ;
movwf 56+0 8llevar ; a la posicion indicada
movlw )*? 8cargar )*? en ;
subwf 56+0 ,w 8restar el valor de ; con el valor
de la posicion indicada
movwf 5650 8mover el resultado a la posicion
indicada
end
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
IA C'#C&!CI'#E
.n est #r('ti' se lo,r* 'o%#render el %ne-o del
re,istro F, -unto 'on un #e$ue" #rte del set de
instru''iones, sint4is de este %is%o #r s6 lo,rr
reli+r ls o#er'iones deseds,
Todos los '*di,os &ueron %uy si%ilres e4'e#'i*n
de l instru''i*n $ue deter%in! l o#er'i*n y $ue
el %ne-o de )ri!les &ue el %is%o #r ls
o#er'iones rit%3ti's, otro #r ls o#er'iones
l*,i's y 'o%#le%ento.
.n l iter'iones $ue se 7i'ieron 'on el siste% de
si%ul'i*n se 'o%#rende 'o%o es l o#erti)idd
entre el dto y l #osi'i*n de re,itsro.
Quintero, Sneyder, 45112017.

S-ar putea să vă placă și