CCS PCM C Compiler, Version 4.058s, 42064               03-V-08 12:38

               Filename: C:\RS\Prog\infra\infra.lst

               ROM used: 470 words (6%)
                         Largest free fragment is 2048
               RAM used: 47 (13%) at main() level
                         50 (14%) worst case
               Stack:    2 worst case (1 in main + 1 for interrupts)

*
0000:  MOVLW  00
0001:  MOVWF  0A
0002:  GOTO   111
0003:  NOP
0004:  MOVWF  7F
0005:  SWAPF  03,W
0006:  CLRF   03
0007:  MOVWF  21
0008:  MOVF   0A,W
0009:  MOVWF  20
000A:  CLRF   0A
000B:  MOVF   04,W
000C:  MOVWF  22
000D:  MOVF   77,W
000E:  MOVWF  23
000F:  MOVF   78,W
0010:  MOVWF  24
0011:  MOVF   79,W
0012:  MOVWF  25
0013:  MOVF   7A,W
0014:  MOVWF  26
0015:  MOVF   7B,W
0016:  MOVWF  27
0017:  BCF    03.7
0018:  BCF    03.5
0019:  MOVLW  8C
001A:  MOVWF  04
001B:  BTFSS  00.5
001C:  GOTO   01F
001D:  BTFSC  0C.5
001E:  GOTO   032
001F:  MOVF   22,W
0020:  MOVWF  04
0021:  MOVF   23,W
0022:  MOVWF  77
0023:  MOVF   24,W
0024:  MOVWF  78
0025:  MOVF   25,W
0026:  MOVWF  79
0027:  MOVF   26,W
0028:  MOVWF  7A
0029:  MOVF   27,W
002A:  MOVWF  7B
002B:  MOVF   20,W
002C:  MOVWF  0A
002D:  SWAPF  21,W
002E:  MOVWF  03
002F:  SWAPF  7F,F
0030:  SWAPF  7F,W
0031:  RETFIE
0032:  BCF    0A.3
0033:  BCF    0A.4
0034:  GOTO   0BB
.................... #include "C:\RS\Prog\infra\infra.h" 
.................... #include <16F877A.h> 
.................... //////// Standard Header file for the PIC16F877A device //////////////// 
.................... #device PIC16F877A 
.................... #list 
....................  
.................... #device adc=8 
....................  
.................... #FUSES NOWDT                    //No Watch Dog Timer 
.................... #FUSES XT                       //Crystal osc <= 4mhz 
.................... #FUSES NOPUT                    //No Power Up Timer 
.................... #FUSES NOPROTECT                //Code not protected from reading 
.................... #FUSES NODEBUG                  //No Debug mode for ICD 
.................... #FUSES NOBROWNOUT               //No brownout reset 
.................... #FUSES NOLVP                    //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O 
.................... #FUSES NOCPD                    //No EE protection 
.................... #FUSES NOWRT                    //Program memory not write protected 
....................  
.................... #use delay(clock=4000000,RESTART_WDT) 
00F9:  MOVLW  41
00FA:  MOVWF  04
00FB:  BCF    03.7
00FC:  MOVF   00,W
00FD:  BTFSC  03.2
00FE:  GOTO   110
00FF:  MOVLW  01
0100:  MOVWF  78
0101:  MOVLW  BF
0102:  MOVWF  77
0103:  CLRWDT
0104:  DECFSZ 77,F
0105:  GOTO   103
0106:  DECFSZ 78,F
0107:  GOTO   101
0108:  MOVLW  4A
0109:  MOVWF  77
010A:  DECFSZ 77,F
010B:  GOTO   10A
010C:  NOP
010D:  CLRWDT
010E:  DECFSZ 00,F
010F:  GOTO   0FF
0110:  RETLW  00
.................... #use rs232(baud=600,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8) 
....................  
....................  
....................  
.................... #define MAX_SLOVO 10   // Maximalni pocet znaku ve slovu 
....................  
.................... int8 napis[2*MAX_SLOVO] ={'A','A','A','A','A','A','A','A','A','A','A','A','A','A','A','A','A','A','A','A'}; 
*
0124:  MOVLW  41
0125:  BCF    03.5
0126:  MOVWF  28
0127:  MOVWF  29
0128:  MOVWF  2A
0129:  MOVWF  2B
012A:  MOVWF  2C
012B:  MOVWF  2D
012C:  MOVWF  2E
012D:  MOVWF  2F
012E:  MOVWF  30
012F:  MOVWF  31
0130:  MOVWF  32
0131:  MOVWF  33
0132:  MOVWF  34
0133:  MOVWF  35
0134:  MOVWF  36
0135:  MOVWF  37
0136:  MOVWF  38
0137:  MOVWF  39
0138:  MOVWF  3A
0139:  MOVWF  3B
....................  
.................... #int_RDA 
.................... void  RDA_isr(void)  
.................... { 
....................    int n; 
....................    output_B(0x55); 
*
00BB:  BSF    03.5
00BC:  CLRF   06
00BD:  MOVLW  55
00BE:  BCF    03.5
00BF:  MOVWF  06
....................    for(n=0;n<(MAX_SLOVO*2);n++) 
00C0:  CLRF   49
00C1:  MOVF   49,W
00C2:  SUBLW  13
00C3:  BTFSS  03.0
00C4:  GOTO   0D0
....................    { 
....................       napis[n]=getc(); 
00C5:  MOVLW  28
00C6:  ADDWF  49,W
00C7:  MOVWF  04
00C8:  BCF    03.7
00C9:  BTFSS  0C.5
00CA:  GOTO   0C9
00CB:  MOVF   1A,W
00CC:  MOVWF  00
....................       restart_WDT(); 
00CD:  CLRWDT
....................    } 
00CE:  INCF   49,F
00CF:  GOTO   0C1
.................... } 
....................  
00D0:  BCF    0C.5
00D1:  BCF    0A.3
00D2:  BCF    0A.4
00D3:  GOTO   01F
.................... void main() 
.................... { 
*
0111:  CLRF   04
0112:  BCF    03.7
0113:  MOVLW  1F
0114:  ANDWF  03,F
0115:  MOVLW  67
0116:  BSF    03.5
0117:  MOVWF  19
0118:  MOVLW  A2
0119:  MOVWF  18
011A:  MOVLW  90
011B:  BCF    03.5
011C:  MOVWF  18
011D:  BSF    03.5
011E:  BSF    1F.0
011F:  BSF    1F.1
0120:  BSF    1F.2
0121:  BCF    1F.3
0122:  MOVLW  07
0123:  MOVWF  1C
....................  
....................    int slovo,pismeno,sloupec,j; 
....................  
....................  
....................    const int8 pis[26*5]={0b00000001,0b11110110,0b11110110,0b11110110,0b00000001, 
....................                         0b00000001,0b11110110,0b11110110,0b11110110,0b00000001, 
....................                         0b10000001,0b01111110,0b01111110,0b01111110,0b10111101, 
....................                         0b00000000,0b01111110,0b01111110,0b01111110,0b10000001, 
....................                         0b00000000,0b01110110,0b01110110,0b01111110,0b01111110, 
....................                         0b00000000,0b11110110,0b11110110,0b11111110,0b11111110, 
....................                         0b10000001,0b01111110,0b01110110,0b01110110,0b10000101, 
....................                         0b00000000,0b11110111,0b11110111,0b11110111,0b00000000, 
....................                         0b01111110,0b01111110,0b00000000,0b01111110,0b01111110, 
....................                         0b10111110,0b01111110,0b01111110,0b01111110,0b10000000, 
....................                         0b00000000,0b11110111,0b11110111,0b11101011,0b00011100, 
....................                         0b00000000,0b01111111,0b01111111,0b01111111,0b01111111, 
....................                         0b00000000,0b11111110,0b11110000,0b11111110,0b00000000, 
....................                         0b00000000,0b11101111,0b11011111,0b10111111,0b00000000, 
....................                         0b10000001,0b01111110,0b01111110,0b01111110,0b10000001, 
....................                         0b00000000,0b11110110,0b11110110,0b11110110,0b11111001, 
....................                         0b10000001,0b01111110,0b01111110,0b01111110,0b00000001, 
....................                         0b00000000,0b11110110,0b11110110,0b11110110,0b00001001, 
....................                         0b10111001,0b01110110,0b01110110,0b01110110,0b10001101, 
....................                         0b11111110,0b11111110,0b00000000,0b11111110,0b11111110, 
....................                         0b10000000,0b01111111,0b01111111,0b01111111,0b10000000, 
....................                         0b11000000,0b10111111,0b01111111,0b10111111,0b11000000, 
....................                         0b10000000,0b01111111,0b10000000,0b01111111,0b10000000, 
....................                         0b00011100,0b11101011,0b11110111,0b11101011,0b00011100, 
....................                         0b11111000,0b11110111,0b00000111,0b11110111,0b11111000, 
....................                         0b00011110,0b01101110,0b01110110,0b01111010,0b01111100}; 
....................                                
....................    setup_adc_ports(NO_ANALOGS); 
*
013C:  BSF    03.5
013D:  BSF    1F.0
013E:  BSF    1F.1
013F:  BSF    1F.2
0140:  BCF    1F.3
....................    setup_adc(ADC_OFF); 
0141:  BCF    03.5
0142:  BCF    1F.0
....................    setup_psp(PSP_DISABLED); 
0143:  BSF    03.5
0144:  BCF    09.4
....................    setup_spi(SPI_SS_DISABLED); 
*
013A:  MOVLW  FF
013B:  MOVWF  3C
*
0145:  BCF    03.5
0146:  BCF    14.5
0147:  BCF    3C.5
0148:  MOVF   3C,W
0149:  BSF    03.5
014A:  MOVWF  07
014B:  BCF    03.5
014C:  BSF    3C.4
014D:  MOVF   3C,W
014E:  BSF    03.5
014F:  MOVWF  07
0150:  BCF    03.5
0151:  BCF    3C.3
0152:  MOVF   3C,W
0153:  BSF    03.5
0154:  MOVWF  07
0155:  MOVLW  01
0156:  BCF    03.5
0157:  MOVWF  14
0158:  MOVLW  00
0159:  BSF    03.5
015A:  MOVWF  14
....................    setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1); 
015B:  MOVF   01,W
015C:  ANDLW  C7
015D:  IORLW  08
015E:  MOVWF  01
....................    setup_wdt(WDT_2304MS); 
015F:  MOVLW  0F
0160:  MOVWF  77
0161:  MOVLW  07
0162:  BCF    03.5
0163:  CLRF   01
0164:  MOVLW  81
0165:  MOVWF  04
0166:  BCF    03.7
0167:  MOVF   00,W
0168:  ANDLW  F0
0169:  IORLW  07
016A:  MOVWF  00
016B:  CLRWDT
016C:  MOVF   00,W
016D:  ANDLW  F7
016E:  BTFSC  77.3
016F:  ANDLW  F0
0170:  IORWF  77,W
0171:  MOVWF  00
....................    setup_timer_1(T1_DISABLED); 
0172:  CLRF   10
....................    setup_timer_2(T2_DISABLED,0,1); 
0173:  MOVLW  00
0174:  MOVWF  78
0175:  MOVWF  12
0176:  MOVLW  00
0177:  BSF    03.5
0178:  MOVWF  12
....................    setup_comparator(NC_NC_NC_NC); 
0179:  MOVLW  07
017A:  MOVWF  1C
017B:  MOVF   05,W
017C:  CLRWDT
017D:  MOVLW  02
017E:  MOVWF  77
017F:  DECFSZ 77,F
0180:  GOTO   17F
0181:  GOTO   182
0182:  MOVF   1C,W
0183:  BCF    03.5
0184:  BCF    0D.6
....................    setup_vref(FALSE); 
0185:  BSF    03.5
0186:  CLRF   1D
....................  
....................    enable_interrupts(INT_RDA); 
0187:  BSF    0C.5
....................    enable_interrupts(GLOBAL); 
0188:  MOVLW  C0
0189:  BCF    03.5
018A:  IORWF  0B,F
....................  
....................    set_adc_channel(0); 
018B:  MOVLW  00
018C:  MOVWF  78
018D:  MOVF   1F,W
018E:  ANDLW  C7
018F:  IORWF  78,W
0190:  MOVWF  1F
....................  
....................    while(TRUE) 
....................    { 
....................       for(slovo=0;slovo<2;slovo++) 
0191:  CLRF   3D
0192:  MOVF   3D,W
0193:  SUBLW  01
0194:  BTFSS  03.0
0195:  GOTO   1D4
....................       for(j=0;j<=100;j++)   // Jedno slovo se zobrazi stokrat 
0196:  CLRF   40
0197:  MOVF   40,W
0198:  SUBLW  64
0199:  BTFSS  03.0
019A:  GOTO   1D2
....................       { 
....................          while(read_adc()<10);            // Cekani na magnet 
019B:  BSF    1F.2
019C:  BTFSC  1F.2
019D:  GOTO   19C
019E:  MOVF   1E,W
019F:  SUBLW  09
01A0:  BTFSC  03.0
01A1:  GOTO   19B
....................           
....................          for(pismeno=0;pismeno<MAX_SLOVO;pismeno++) 
01A2:  CLRF   3E
01A3:  MOVF   3E,W
01A4:  SUBLW  09
01A5:  BTFSS  03.0
01A6:  GOTO   1D0
....................          { 
....................             for(sloupec=0;sloupec<5;sloupec++) 
01A7:  CLRF   3F
01A8:  MOVF   3F,W
01A9:  SUBLW  04
01AA:  BTFSS  03.0
01AB:  GOTO   1CB
....................             { 
....................                output_B(pis[(napis[slovo*MAX_SLOVO+pismeno]-0x40)*5+sloupec]); 
01AC:  MOVF   3D,W
01AD:  MOVWF  46
01AE:  MOVLW  0A
01AF:  MOVWF  47
01B0:  CALL   0D4
01B1:  MOVF   3E,W
01B2:  ADDWF  78,W
01B3:  ADDLW  28
01B4:  MOVWF  04
01B5:  BCF    03.7
01B6:  MOVLW  40
01B7:  SUBWF  00,W
01B8:  MOVWF  45
01B9:  MOVWF  46
01BA:  MOVLW  05
01BB:  MOVWF  47
01BC:  CALL   0D4
01BD:  MOVF   3F,W
01BE:  ADDWF  78,W
01BF:  CALL   035
01C0:  MOVWF  48
01C1:  BSF    03.5
01C2:  CLRF   06
01C3:  BCF    03.5
01C4:  MOVF   48,W
01C5:  MOVWF  06
....................                delay_ms(1); 
01C6:  MOVLW  01
01C7:  MOVWF  41
01C8:  CALL   0F9
....................             } 
01C9:  INCF   3F,F
01CA:  GOTO   1A8
....................             delay_ms(2); 
01CB:  MOVLW  02
01CC:  MOVWF  41
01CD:  CALL   0F9
....................          } 
01CE:  INCF   3E,F
01CF:  GOTO   1A3
....................       } 
01D0:  INCF   40,F
01D1:  GOTO   197
01D2:  INCF   3D,F
01D3:  GOTO   192
....................    }    
01D4:  GOTO   191
.................... } 
01D5:  SLEEP

Configuration Fuses:
   Word  1: 3F39   XT NOWDT NOPUT NODEBUG NOPROTECT NOBROWNOUT NOLVP NOCPD NOWRT