Está en la página 1de 6

;programa qu optimiza un decde 7 segmentos

;11/01/18
list p=16f84 ;procesador
radix hex ;sisitema hex

org 0x00 ;inicio


goto inicio
inicio bsf 0x03,5 ;banco1
movlw b'11111111' ; cargar w c on
movwf 0x85 ;pa=in
movlw b'00000000' ;w con 00h
movwf 0x86 ;pb=out
bcf 0x03,5 ;banco 0
clrf 0x05 ;borrar pa

;rutina de tra tamiento del nro 0


otro movf 0x05,w ;jalar pa a w
movwf 0x0C ;w-> 0x0C
bcf 0x03,2 ;borrar bit z
sublw d'0' ;restar 0d
btfss 0x03,2 ;explorar el bit z
goto No_0 ;salto No_0
movlw b'00111111' ; cargar a w con 001111111
movwf 0x06 ; mover a ob
goto otro ;salto a otro

;rutina de tra tamiento del nro 1


No_0 movf 0x05,w ;jalar pa a w
movwf 0x0C ;w-> 0x0C
bcf 0x03,2 ;borrar bit z
sublw d'1' ;restar 1d
btfss 0x03,2 ;explorar el bit z
goto No_1 ;salto No_0
movlw b'00000110' ; cargar a w con
movwf 0x06 ; mover a ob
goto otro ;salto a otro

;rutina de tra tamiento del nro 2


No_1 movf 0x05,w ;jalar pa a w
movwf 0x0C ;w-> 0x0C
bcf 0x03,2 ;borrar bit z
sublw d'2' ;restar 1d
btfss 0x03,2 ;explorar el bit z
goto No_2 ;salto No_0
movlw b'01011011' ; cargar a w con
movwf 0x06 ; mover a ob
goto otro ;salto a otro

;rutina de tra tamiento del nro 3


No_2 movf 0x05,w ;jalar pa a w
movwf 0x0C ;w-> 0x0C
bcf 0x03,2 ;borrar bit z
sublw d'3' ;restar 1d
btfss 0x03,2 ;explorar el bit z
goto No_3 ;salto No_0
movlw b'01001111' ; cargar a w con
movwf 0x06 ; mover a ob
goto otro ;salto a otro
;rutina de tra tamiento del nro 4
No_3 movf 0x05,w ;jalar pa a w
movwf 0x0C ;w-> 0x0C
bcf 0x03,2 ;borrar bit z
sublw d'4' ;restar 1d
btfss 0x03,2 ;explorar el bit z
goto No_4 ;salto No_0
movlw b'01100110' ; cargar a w con
movwf 0x06 ; mover a ob
goto otro ;salto a otro

;rutina de tra tamiento del nro 5


No_4 movf 0x05,w ;jalar pa a w
movwf 0x0C ;w-> 0x0C
bcf 0x03,2 ;borrar bit z
sublw d'5' ;restar 1d
btfss 0x03,2 ;explorar el bit z
goto No_5 ;salto No_0
movlw b'01101101' ; cargar a w con
movwf 0x06 ; mover a ob
goto otro ;salto a otro

;rutina de tra tamiento del nro 6


No_5 movf 0x05,w ;jalar pa a w
movwf 0x0C ;w-> 0x0C
bcf 0x03,2 ;borrar bit z
sublw d'6' ;restar 1d
btfss 0x03,2 ;explorar el bit z
goto No_6 ;salto No_0
movlw b'01111101' ; cargar a w con
movwf 0x06 ; mover a ob
goto otro ;salto a otro

;rutina de tra tamiento del nro 7


No_6 movf 0x05,w ;jalar pa a w
movwf 0x0C ;w-> 0x0C
bcf 0x03,2 ;borrar bit z
sublw d'7' ;restar 1d
btfss 0x03,2 ;explorar el bit z
goto No_7 ;salto No_0
movlw b'01000111' ; cargar a w con
movwf 0x06 ; mover a ob
goto otro ;salto a otro

;rutina de tra tamiento del nro 8


No_7 movf 0x05,w ;jalar pa a w
movwf 0x0C ;w-> 0x0C
bcf 0x03 ,2 ;borrar bit z
sublw d'8' ;restar 1d
btfss 0x03,2 ;explorar el bit z
goto No_8 ;salto No_0
movlw b'01111111' ; cargar a w con
movwf 0x06 ; mover a ob
goto otro ;salto a otro

;rutina de tra tamiento del nro 9


No_8 movf 0x05,w ;jalar pa a w
movwf 0x0C ;w-> 0x0C
bcf 0x03,2 ;borrar bit z
sublw d'9' ;restar 1d
btfss 0x03,2 ;explorar el bit z
goto No_9 ;salto No_0
movlw b'01101111' ; cargar a w con
movwf 0x06 ; mover a ob
goto otro ;salto a otro
;rutina de tra tamiento letra
A
No_9 movf 0x05,w ;jalar pa a w
movwf 0x0C ;w-> 0x0C
bcf 0x03,2 ;borrar bit z
sublw d'10' ;restar 1d
btfss 0x03,2 ;explorar el bit z
goto Lt_A ;salto No_0
movlw b'01110111' ; cargar a w con
movwf 0x06 ; mover a ob
goto otro ;salto a otro
;rutina de tra tamiento
letra B
Lt_A movf 0x05,w ;jalar pa a w
movwf 0x0C ;w-> 0x0C
bcf 0x03,2 ;borrar bit z
sublw d'11' ;restar 1d
btfss 0x03,2 ;explorar el bit z
goto Lt_B ;salto No_0
movlw b'01111100' ; cargar a w con
movwf 0x06 ; mover a ob
goto otro ;salto a otro
;rutina de tra tamiento letra C
Lt_B movf 0x05,w ;jalar pa a w
movwf 0x0C ;w-> 0x0C
bcf 0x03,2 ;borrar bit z
sublw d'12' ;restar 1d
btfss 0x03,2 ;explorar el bit z
goto Lt_C ;salto No_0
movlw b'00111001' ; cargar a w con
movwf 0x06 ; mover a ob
goto otro ;salto a otro
;rutina de tra tamiento letra D
Lt_C movf 0x05,w ;jalar pa a w
movwf 0x0C ;w-> 0x0C
bcf 0x03,2 ;borrar bit z
sublw d'13' ;restar 1d
btfss 0x03,2 ;explorar el bit z
goto Lt_D ;salto No_0
movlw b'01011110' ; cargar a w con
movwf 0x06 ; mover a ob
goto otro ;salto a otro
;rutina de tra tamiento letra E
Lt_D movf 0x05,w ;jalar pa a w
movwf 0x0C ;w-> 0x0C
bcf 0x03,2 ;borrar bit z
sublw d'14' ;restar 1d
btfss 0x03,2 ;explorar el bit z
goto Lt_E ;salto No_0
movlw b'01111001' ; cargar a w con
movwf 0x06 ; mover a ob
goto otro ;salto a otro
;rutina de tra tamiento letra F
Lt_E movf 0x05,w ;jalar pa a w
movwf 0x0C ;w-> 0x0C
bcf 0x03,2 ;borrar bit z
sublw d'15' ;restar 1d
btfss 0x03,2 ;explorar el bit z
goto Lt_F ;salto No_0
movlw b'01110001' ; cargar a w con
movwf 0x06 ; mover a ob
goto otro ;salto a otro

;rutina de tra tamiento letra G


Lt_F movf 0x05,w ;jalar pa a w
movwf 0x0C ;w-> 0x0C
bcf 0x03,2 ;borrar bit z
sublw d'16' ;restar 1d
btfss 0x03,2 ;explorar el bit z
goto Lt_G ;salto No_0
movlw b'01101111' ; cargar a w con
movwf 0x06 ; mover a ob
goto otro ;salto a otro
;rutina de tra tamiento letra h
Lt_G movf 0x05,w ;jalar pa a w
movwf 0x0C ;w-> 0x0C
bcf 0x03,2 ;borrar bit z
sublw d'17' ;restar 1d
btfss 0x03,2 ;explorar el bit z
goto Lt_H ;salto No_0
movlw b'01110110' ; cargar a w con
movwf 0x06 ; mover a ob
goto otro ;salto a otro
;rutina de tra tamiento letra i
Lt_H movf 0x05,w ;jalar pa a w
movwf 0x0C ;w-> 0x0C
bcf 0x03,2 ;borrar bit z
sublw d'18' ;restar 1d
btfss 0x03,2 ;explorar el bit z
goto Lt_I ;salto No_0
movlw b'00011001' ; cargar a w con
movwf 0x06 ; mover a ob
goto otro ;salto a otro
;rutina de tra tamiento letra J
Lt_I movf 0x05,w ;jalar pa a w
movwf 0x0C ;w-> 0x0C
bcf 0x03,2 ;borrar bit z
sublw d'19' ;restar 1d
btfss 0x03,2 ;explorar el bit z
goto Lt_J ;salto No_0
movlw b'00011110' ; cargar a w con
movwf 0x06 ; mover a ob
goto otro ;salto a otro
;rutina de tra tamiento letra K
Lt_J movf 0x05,w ;jalar pa a w
movwf 0x0C ;w-> 0x0C
bcf 0x03,2 ;borrar bit z
sublw d'20' ;restar 1d
btfss 0x03,2 ;explorar el bit z
goto Lt_K ;salto No_0
movlw b'01111010' ; cargar a w con
movwf 0x06 ; mover a ob
goto otro ;salto a otro
;rutina de tra tamiento letra L
Lt_K movf 0x05,w ;jalar pa a w
movwf 0x0C ;w-> 0x0C
bcf 0x03,2 ;borrar bit z
sublw d'21' ;restar 1d
btfss 0x03,2 ;explorar el bit z
goto Lt_L ;salto No_0
movlw b'00111000' ; cargar a w con
movwf 0x06 ; mover a ob
goto otro ;salto a otro
;rutina de tra tamiento letra M
Lt_L movf 0x05,w ;jalar pa a w
movwf 0x0C ;w-> 0x0C
bcf 0x03,2 ;borrar bit z
sublw d'22' ;restar 1d
btfss 0x03,2 ;explorar el bit z
goto Lt_M ;salto No_0
movlw b'00110111' ; cargar a w con
movwf 0x06 ; mover a ob
goto otro ;salto a otro
;rutina de tra tamiento letra N
Lt_M movf 0x05,w ;jalar pa a w
movwf 0x0C ;w-> 0x0C
bcf 0x03,2 ;borrar bit z
sublw d'23' ;restar 1d
btfss 0x03,2 ;explorar el bit z
goto Lt_N ;salto No_0
movlw b'01010100' ; cargar a w con
movwf 0x06 ; mover a ob
goto otro ;salto a otro
;rutina de tra tamiento letra O
Lt_N movf 0x05,w ;jalar pa a w
movwf 0x0C ;w-> 0x0C
bcf 0x03,2 ;borrar bit z
sublw d'24' ;restar 1d
btfss 0x03,2 ;explorar el bit z
goto Lt_O ;salto No_0
movlw b'00111111' ; cargar a w con
movwf 0x06 ; mover a ob
goto otro ;salto a otro
;rutina de tra tamiento letra P
Lt_O movf 0x05,w ;jalar pa a w
movwf 0x0C ;w-> 0x0C
bcf 0x03,2 ;borrar bit z
sublw d'25' ;restar 1d
btfss 0x03,2 ;explorar el bit z
goto Lt_P ;salto No_0
movlw b'01110011' ; cargar a w con
movwf 0x06 ; mover a ob
goto otro ;salto a otro
;rutina de tra tamiento letra Q
Lt_P movf 0x05,w ;jalar pa a w
movwf 0x0C ;w-> 0x0C
bcf 0x03,2 ;borrar bit z
sublw d'26' ;restar 1d
btfss 0x03,2 ;explorar el bit z
goto Lt_Q ;salto No_0
movlw b'01100111' ; cargar a w con
movwf 0x06 ; mover a ob
goto otro ;salto a otro
;rutina de tra tamiento letra Q
Lt_Q movf 0x05,w ;jalar pa a w
movwf 0x0C ;w-> 0x0C
bcf 0x03,2 ;borrar bit z
sublw d'27' ;restar 1d
btfss 0x03,2 ;explorar el bit z
goto Lt_R ;salto No_0
movlw b'01010000' ; cargar a w con
movwf 0x06 ; mover a ob
goto otro ;salto a otro
;rutina de tra tamiento letra S
Lt_R movf 0x05,w ;jalar pa a w
movwf 0x0C ;w-> 0x0C
bcf 0x03,2 ;borrar bit z
sublw d'28' ;restar 1d
btfss 0x03,2 ;explorar el bit z
goto Lt_S ;salto No_0
movlw b'01101101' ; cargar a w con
movwf 0x06 ; mover a ob
goto otro ;salto a otro
;rutina de tra tamiento letra T
Lt_S movf 0x05,w ;jalar pa a w
movwf 0x0C ;w-> 0x0C
bcf 0x03,2 ;borrar bit z
sublw d'29' ;restar 1d
btfss 0x03,2 ;explorar el bit z
goto Lt_T ;salto No_0
movlw b'01111000' ; cargar a w con
movwf 0x06 ; mover a ob
goto otro ;salto a otro
;rutina de tra tamiento letra U
Lt_T movf 0x05,w ;jalar pa a w
movwf 0x0C ;w-> 0x0C
bcf 0x03,2 ;borrar bit z
sublw d'30' ;restar 1d
btfss 0x03,2 ;explorar el bit z
goto Lt_U ;salto No_0
movlw b'00011100' ; cargar a w con
movwf 0x06 ; mover a ob
goto otro ;salto a otro
;rutina de tra tamiento letra V
Lt_U movf 0x05,w ;jalar pa a w
movwf 0x0C ;w-> 0x0C
bcf 0x03,2 ;borrar bit z
sublw d'31' ;restar 1d
btfss 0x03,2 ;explorar el bit z
goto Lt_V ;salto No_0
movlw b'00111110' ; cargar a w con
movwf 0x06 ; mover a ob
goto otro ;salto a otro
Lt_V goto otro
end

También podría gustarte