MPASM 02.20.15 Intermediate   PRAC_14.ASM   4-10-2007  18:11:37         PAGE  1


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

                    00001 ;Curso básico de microcontroladores PIC.  --- micropic@lleida.org
                    00002 ;prac_14.asm - Activa una salida según el dato de entrada. 
                    00003 
                    00004         list    p=16F84         ;indica al ensamblador el modelo de PIC
                    00005         include "P16F84.inc"    ;incluye librería de definiciones para el PIC16F84
                    00001         LIST
                    00002 ; P16F84.INC  Standard Header File, Version 2.00    Microchip Technology, Inc.
Message[301]: MESSAGE: (Processor-header file mismatch.  Verify selected processor.)
                    00136         LIST
2007 3FF1           00006         __config        _CP_OFF & _PWRTE_ON & _WDT_OFF & _XT_OSC ;palabra de configuración
                    00007 
0000                00008         org     0x00            ;primera posición de la memoria de programa
0000 2805           00009         goto    INICIO          ;salto a la etiqueta inicio
0005                00010         org     0x05            ;para pasar por encima del vector de interrupción
                    00011 
0005 1683           00012 INICIO  bsf     STATUS,RP0      ;selecciona banco 1 del área de datos
Message[302]: Register in operand not in bank 0.  Ensure that bank bits are correct.
0006 0186           00013         clrf    TRISB           ;configura PORTB todo salidas
0007 301F           00014         movlw   b'00011111'
Message[302]: Register in operand not in bank 0.  Ensure that bank bits are correct.
0008 0085           00015         movwf   TRISA           ;configura PORTA todo entradas
0009 1283           00016         bcf     STATUS,RP0      ;vuelve a banco 0 del área de datos
000A 0186           00017         clrf    PORTB           ;empieza apagando todos los Led
                    00018 
000B 3000           00019 BUCLE   movlw   b'00000000'
000C 0205           00020         subwf   PORTA,W         ;PORTA = 0 ?
000D 1903           00021         btfsc   STATUS,Z        ;Z = 1, si es 0
000E 282D           00022         goto    RB0_ON
000F 3001           00023         movlw   b'00000001'             
0010 0205           00024         subwf   PORTA,W         ;PORTA = 1 ?
0011 1903           00025         btfsc   STATUS,Z        ;Z = 1, si es 1
0012 2830           00026         goto    RB1_ON
0013 3002           00027         movlw   b'00000010'
0014 0205           00028         subwf   PORTA,W         ;PORTA = 2 ?
0015 1903           00029         btfsc   STATUS,Z        ;Z = 1, si es 2
0016 2833           00030         goto    RB2_ON
0017 3003           00031         movlw   b'00000011'
0018 0205           00032         subwf   PORTA,W         ;PORTA = 3 ?
0019 1903           00033         btfsc   STATUS,Z                 
001A 2836           00034         goto    RB3_ON          ;Z = 1, si es 3
001B 3004           00035         movlw   b'00000100'
001C 0205           00036         subwf   PORTA,W         ;PORTA = 4 ?
001D 1903           00037         btfsc   STATUS,Z                
001E 2839           00038         goto    RB4_ON          ;Z = 1, si es 4
001F 3005           00039         movlw   b'00000101'
0020 0205           00040         subwf   PORTA,W         ;PORTA = 5 ?    
0021 1903           00041         btfsc   STATUS,Z                
0022 283C           00042         goto    RB5_ON          ;Z = 1, si es 5
0023 3006           00043         movlw   b'00000110'             
0024 0205           00044         subwf   PORTA,W         ;PORTA = 6 ?
0025 1903           00045         btfsc   STATUS,Z
0026 283F           00046         goto    RB6_ON          ;Z = 1, si es 6
0027 3007           00047         movlw   b'00000111'
MPASM 02.20.15 Intermediate   PRAC_14.ASM   4-10-2007  18:11:37         PAGE  2


LOC  OBJECT CODE     LINE SOURCE TEXT
  VALUE

0028 0205           00048         subwf   PORTA,W         ;PORTA = 7
0029 1903           00049         btfsc   STATUS,Z                
002A 2842           00050         goto    RB7_ON          ;Z = 1, si es 7
002B 0186           00051         clrf    PORTB           ;no es ninguno, borra PORTB
002C 280B           00052         goto    BUCLE
                    00053 
002D 3001           00054 RB0_ON  movlw   b'00000001'             ;activa RB0, demás salidas apagadas
002E 0086           00055         movwf   PORTB
002F 280B           00056         goto    BUCLE           
0030 3002           00057 RB1_ON  movlw   b'00000010'             ;activa RB1
0031 0086           00058         movwf   PORTB
0032 280B           00059         goto    BUCLE
0033 3004           00060 RB2_ON  movlw   b'00000100'             ;activa RB2
0034 0086           00061         movwf   PORTB
0035 280B           00062         goto    BUCLE
0036 3008           00063 RB3_ON  movlw   b'00001000'             ;activa RB3
0037 0086           00064         movwf   PORTB
0038 280B           00065         goto    BUCLE
0039 3010           00066 RB4_ON  movlw   b'00010000'             ;activa RB4
003A 0086           00067         movwf   PORTB
003B 280B           00068         goto    BUCLE
003C 3020           00069 RB5_ON  movlw   b'00100000'             ;activa RB5     
003D 0086           00070         movwf   PORTB
003E 280B           00071         goto    BUCLE
003F 3040           00072 RB6_ON  movlw   b'01000000'             ;activa RB6
0040 0086           00073         movwf   PORTB
0041 280B           00074         goto    BUCLE
0042 3080           00075 RB7_ON  movlw   b'10000000'             ;activa RB7
0043 0086           00076         movwf   PORTB
0044 280B           00077         goto    BUCLE
                    00078 
                    00079         end
MPASM 02.20.15 Intermediate   PRAC_14.ASM   4-10-2007  18:11:37         PAGE  3


SYMBOL TABLE
  LABEL                             VALUE 

BUCLE                             0000000B
C                                 00000000
DC                                00000001
EEADR                             00000009
EECON1                            00000088
EECON2                            00000089
EEDATA                            00000008
EEIE                              00000006
EEIF                              00000004
F                                 00000001
FSR                               00000004
GIE                               00000007
INDF                              00000000
INICIO                            00000005
INTCON                            0000000B
INTE                              00000004
INTEDG                            00000006
INTF                              00000001
IRP                               00000007
NOT_PD                            00000003
NOT_RBPU                          00000007
NOT_TO                            00000004
OPTION_REG                        00000081
PCL                               00000002
PCLATH                            0000000A
PORTA                             00000005
PORTB                             00000006
PS0                               00000000
PS1                               00000001
PS2                               00000002
PSA                               00000003
RB0_ON                            0000002D
RB1_ON                            00000030
RB2_ON                            00000033
RB3_ON                            00000036
RB4_ON                            00000039
RB5_ON                            0000003C
RB6_ON                            0000003F
RB7_ON                            00000042
RBIE                              00000003
RBIF                              00000000
RD                                00000000
RP0                               00000005
RP1                               00000006
STATUS                            00000003
T0CS                              00000005
T0IE                              00000005
T0IF                              00000002
T0SE                              00000004
TMR0                              00000001
TRISA                             00000085
TRISB                             00000086
W                                 00000000
MPASM 02.20.15 Intermediate   PRAC_14.ASM   4-10-2007  18:11:37         PAGE  4


SYMBOL TABLE
  LABEL                             VALUE 

WR                                00000001
WREN                              00000002
WRERR                             00000003
Z                                 00000002
_CP_OFF                           00003FFF
_CP_ON                            0000000F
_HS_OSC                           00003FFE
_LP_OSC                           00003FFC
_PWRTE_OFF                        00003FFF
_PWRTE_ON                         00003FF7
_RC_OSC                           00003FFF
_WDT_OFF                          00003FFB
_WDT_ON                           00003FFF
_XT_OSC                           00003FFD
__16F84A                          00000001


MEMORY USAGE MAP ('X' = Used,  '-' = Unused)

0000 : X----XXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX
0040 : XXXXX----------- ---------------- ---------------- ----------------
2000 : -------X-------- ---------------- ---------------- ----------------

All other memory blocks unused.

Program Memory Words Used:    65
Program Memory Words Free:   959


Errors   :     0
Warnings :     0 reported,     0 suppressed
Messages :     3 reported,     0 suppressed

