CCS PCM C Compiler, Version 4.058s, 42064               06-V-08 13:28

               Filename: C:\Documents and Settings\Administrator\Plocha\rotacni_display\SW\infra\infra.lst

               ROM used: 553 words (7%)
                         Largest free fragment is 2048
               RAM used: 48 (13%) at main() level
                         51 (14%) worst case
               Stack:    2 worst case (1 in main + 1 for interrupts)

*
0000:  MOVLW  00
0001:  MOVWF  0A
0002:  GOTO   136
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   0DE
.................... #include ".\infra.h" 
.................... #include <16F877A.h> 
.................... //////// Standard Header file for the PIC16F877A device //////////////// 
.................... #device PIC16F877A 
.................... #list 
....................  
.................... #device adc=8 
....................  
.................... #FUSES WDT                      //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) 
*
00F7:  MOVLW  42
00F8:  MOVWF  04
00F9:  BCF    03.7
00FA:  MOVF   00,W
00FB:  BTFSC  03.2
00FC:  GOTO   10E
00FD:  MOVLW  01
00FE:  MOVWF  78
00FF:  MOVLW  BF
0100:  MOVWF  77
0101:  CLRWDT
0102:  DECFSZ 77,F
0103:  GOTO   101
0104:  DECFSZ 78,F
0105:  GOTO   0FF
0106:  MOVLW  4A
0107:  MOVWF  77
0108:  DECFSZ 77,F
0109:  GOTO   108
010A:  NOP
010B:  CLRWDT
010C:  DECFSZ 00,F
010D:  GOTO   0FD
010E:  BCF    0A.3
010F:  BCF    0A.4
0110:  GOTO   1E5 (RETURN)
.................... #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] ={'[','[',92,'[','E',']','A','[',92,'[','[','^','_','_',']',96,'^','_','_','a'}; 
*
0149:  MOVLW  5B
014A:  BCF    03.5
014B:  MOVWF  28
014C:  MOVWF  29
014D:  MOVLW  5C
014E:  MOVWF  2A
014F:  MOVLW  5B
0150:  MOVWF  2B
0151:  MOVLW  45
0152:  MOVWF  2C
0153:  MOVLW  5D
0154:  MOVWF  2D
0155:  MOVLW  41
0156:  MOVWF  2E
0157:  MOVLW  5B
0158:  MOVWF  2F
0159:  MOVLW  5C
015A:  MOVWF  30
015B:  MOVLW  5B
015C:  MOVWF  31
015D:  MOVWF  32
015E:  MOVLW  5E
015F:  MOVWF  33
0160:  MOVLW  5F
0161:  MOVWF  34
0162:  MOVWF  35
0163:  MOVLW  5D
0164:  MOVWF  36
0165:  MOVLW  60
0166:  MOVWF  37
0167:  MOVLW  5E
0168:  MOVWF  38
0169:  MOVLW  5F
016A:  MOVWF  39
016B:  MOVWF  3A
016C:  MOVLW  61
016D:  MOVWF  3B
.................... int8 otacky; 
....................  
.................... #int_RDA 
.................... void  RDA_isr(void)  
.................... { 
....................    int n; 
....................    output_B(0x55); 
*
00DE:  BSF    03.5
00DF:  CLRF   06
00E0:  MOVLW  55
00E1:  BCF    03.5
00E2:  MOVWF  06
....................    for(n=0;n<(MAX_SLOVO*2);n++) 
00E3:  CLRF   4A
00E4:  MOVF   4A,W
00E5:  SUBLW  13
00E6:  BTFSS  03.0
00E7:  GOTO   0F3
....................    { 
....................       napis[n]=getc(); 
00E8:  MOVLW  28
00E9:  ADDWF  4A,W
00EA:  MOVWF  04
00EB:  BCF    03.7
00EC:  BTFSS  0C.5
00ED:  GOTO   0EC
00EE:  MOVF   1A,W
00EF:  MOVWF  00
....................       restart_WDT(); 
00F0:  CLRWDT
....................    } 
00F1:  INCF   4A,F
00F2:  GOTO   0E4
.................... } 
....................  
00F3:  BCF    0C.5
00F4:  BCF    0A.3
00F5:  BCF    0A.4
00F6:  GOTO   01F
.................... void main() 
.................... { 
*
0136:  CLRF   04
0137:  BCF    03.7
0138:  MOVLW  1F
0139:  ANDWF  03,F
013A:  MOVLW  67
013B:  BSF    03.5
013C:  MOVWF  19
013D:  MOVLW  A2
013E:  MOVWF  18
013F:  MOVLW  90
0140:  BCF    03.5
0141:  MOVWF  18
0142:  BSF    03.5
0143:  BSF    1F.0
0144:  BSF    1F.1
0145:  BSF    1F.2
0146:  BCF    1F.3
0147:  MOVLW  07
0148:  MOVWF  1C
....................  
....................    int slovo,pismeno,sloupec,j; 
....................  
....................  
....................    const int8 pis[33*5]={0b00000001,0b11110110,0b11110110,0b11110110,0b00000001, //A 
....................                         0b00000000,0b01110110,0b01110110,0b01110110,0b10001001,  //B 
....................                         0b10000001,0b01111110,0b01111110,0b01111110,0b10111101,  //C 
....................                         0b00000000,0b01111110,0b01111110,0b01111110,0b10000001,  //D 
....................                         0b00000000,0b01110110,0b01110110,0b01111110,0b01111110,  //E 
....................                         0b00000000,0b11110110,0b11110110,0b11111110,0b11111110,  //F 
....................                         0b10000001,0b01111110,0b01110110,0b01110110,0b10000101,  //G 
....................                         0b00000000,0b11110111,0b11110111,0b11110111,0b00000000,  //H 
....................                         0b01111110,0b01111110,0b00000000,0b01111110,0b01111110,  //I 
....................                         0b10111110,0b01111110,0b01111110,0b01111110,0b10000000,  //J 
....................                         0b00000000,0b11110111,0b11110111,0b11101011,0b00011100,  //K 
....................                         0b00000000,0b01111111,0b01111111,0b01111111,0b01111111,  //L 
....................                         0b00000000,0b11111110,0b11110000,0b11111110,0b00000000,  //M 
....................                         0b00000000,0b11101111,0b11011111,0b10111111,0b00000000,  //N 
....................                         0b10000001,0b01111110,0b01111110,0b01111110,0b10000001,  //O 
....................                         0b00000000,0b11110110,0b11110110,0b11110110,0b11111001,  //P 
....................                         0b10000001,0b01111110,0b01111110,0b01111110,0b00000001,  //Q 
....................                         0b00000000,0b11110110,0b11110110,0b11110110,0b00001001,  //R 
....................                         0b10111001,0b01110110,0b01110110,0b01110110,0b10001101,  //S 
....................                         0b11111110,0b11111110,0b00000000,0b11111110,0b11111110,  //T 
....................                         0b10000000,0b01111111,0b01111111,0b01111111,0b10000000,  //U 
....................                         0b11000000,0b10111111,0b01111111,0b10111111,0b11000000,  //V 
....................                         0b10000000,0b01111111,0b10000000,0b01111111,0b10000000,  //W 
....................                         0b00011100,0b11101011,0b11110111,0b11101011,0b00011100,  //X 
....................                         0b11111000,0b11110111,0b00000111,0b11110111,0b11111000,  //Y 
....................                         0b00011110,0b01101110,0b01110110,0b01111010,0b01111100,  //Z 
....................                         0b11111111,0b11111111,0b11111111,0b11111111,0b11111111,  //mezera 
....................                         0b00010111,0b00110011,0b01010101,0b11100110,0b11110111,  //blesk 
....................                         0b11110000,0b11110111,0b11110111,0b00000001,0b11110111,  //4 
....................                         0b00111101,0b01011110,0b01101110,0b01110110,0b01111001,  //2 
....................                         0b00000000,0b01111110,0b01111110,0b01111110,0b00000000,  //0 
....................                         0b11110111,0b11110111,0b11110111,0b11110111,0b11110111,  //pomlka 
....................                         0b10001001,0b01110110,0b01110110,0b01110110,0b10001001,  //8 
....................                         }; 
....................                                
....................    setup_adc_ports(AN0); 
*
0170:  BSF    03.5
0171:  BCF    1F.0
0172:  BSF    1F.1
0173:  BSF    1F.2
0174:  BSF    1F.3
....................    setup_adc(ADC_CLOCK_INTERNAL); 
0175:  BCF    1F.6
0176:  BCF    03.5
0177:  BSF    1F.6
0178:  BSF    1F.7
0179:  BSF    03.5
017A:  BCF    1F.7
017B:  BCF    03.5
017C:  BSF    1F.0
....................    setup_psp(PSP_DISABLED); 
017D:  BSF    03.5
017E:  BCF    09.4
....................    setup_spi(SPI_SS_DISABLED); 
*
016E:  MOVLW  FF
016F:  MOVWF  3D
*
017F:  BCF    03.5
0180:  BCF    14.5
0181:  BCF    3D.5
0182:  MOVF   3D,W
0183:  BSF    03.5
0184:  MOVWF  07
0185:  BCF    03.5
0186:  BSF    3D.4
0187:  MOVF   3D,W
0188:  BSF    03.5
0189:  MOVWF  07
018A:  BCF    03.5
018B:  BCF    3D.3
018C:  MOVF   3D,W
018D:  BSF    03.5
018E:  MOVWF  07
018F:  MOVLW  01
0190:  BCF    03.5
0191:  MOVWF  14
0192:  MOVLW  00
0193:  BSF    03.5
0194:  MOVWF  14
....................    setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1); 
0195:  MOVF   01,W
0196:  ANDLW  C7
0197:  IORLW  08
0198:  MOVWF  01
....................    setup_wdt(WDT_2304MS); 
0199:  MOVLW  0F
019A:  MOVWF  77
019B:  MOVLW  07
019C:  BCF    03.5
019D:  CLRF   01
019E:  MOVLW  81
019F:  MOVWF  04
01A0:  BCF    03.7
01A1:  MOVF   00,W
01A2:  ANDLW  F0
01A3:  IORLW  07
01A4:  MOVWF  00
01A5:  CLRWDT
01A6:  MOVF   00,W
01A7:  ANDLW  F7
01A8:  BTFSC  77.3
01A9:  ANDLW  F0
01AA:  IORWF  77,W
01AB:  MOVWF  00
....................    setup_timer_1(T1_DISABLED); 
01AC:  CLRF   10
....................    setup_timer_2(T2_DISABLED,0,1); 
01AD:  MOVLW  00
01AE:  MOVWF  78
01AF:  MOVWF  12
01B0:  MOVLW  00
01B1:  BSF    03.5
01B2:  MOVWF  12
....................    setup_comparator(NC_NC_NC_NC); 
01B3:  MOVLW  07
01B4:  MOVWF  1C
01B5:  MOVF   05,W
01B6:  CLRWDT
01B7:  MOVLW  02
01B8:  MOVWF  77
01B9:  DECFSZ 77,F
01BA:  GOTO   1B9
01BB:  GOTO   1BC
01BC:  MOVF   1C,W
01BD:  BCF    03.5
01BE:  BCF    0D.6
....................    setup_vref(FALSE); 
01BF:  BSF    03.5
01C0:  CLRF   1D
....................  
....................    enable_interrupts(INT_RDA); 
01C1:  BSF    0C.5
....................    enable_interrupts(GLOBAL); 
01C2:  MOVLW  C0
01C3:  BCF    03.5
01C4:  IORWF  0B,F
....................  
....................    set_adc_channel(0);     // Prevodnik pro Hall 
01C5:  MOVLW  00
01C6:  MOVWF  78
01C7:  MOVF   1F,W
01C8:  ANDLW  C7
01C9:  IORWF  78,W
01CA:  MOVWF  1F
....................    output_B(0xFF);         // Zhasneme 
01CB:  BSF    03.5
01CC:  CLRF   06
01CD:  MOVLW  FF
01CE:  BCF    03.5
01CF:  MOVWF  06
....................  
....................    otacky=0; 
01D0:  CLRF   3C
....................     
....................    while(TRUE) 
....................    { 
....................       for(slovo=0;slovo<2;slovo++) 
01D1:  CLRF   3E
01D2:  MOVF   3E,W
01D3:  SUBLW  01
01D4:  BTFSS  03.0
01D5:  GOTO   227
....................       for(j=0;j<=20;j++)   // Jedno slovo se zobrazi stokrat 
01D6:  CLRF   41
01D7:  MOVF   41,W
01D8:  SUBLW  14
01D9:  BTFSS  03.0
01DA:  GOTO   225
....................       { 
....................          while(read_adc()<9);       // Cekani na magnet        
01DB:  BSF    1F.2
01DC:  BTFSC  1F.2
01DD:  GOTO   1DC
01DE:  MOVF   1E,W
01DF:  SUBLW  08
01E0:  BTFSC  03.0
01E1:  GOTO   1DB
....................          delay_ms(10); 
01E2:  MOVLW  0A
01E3:  MOVWF  42
01E4:  GOTO   0F7
....................           
....................          for(pismeno=0;pismeno<MAX_SLOVO;pismeno++) 
01E5:  CLRF   3F
01E6:  MOVF   3F,W
01E7:  SUBLW  09
01E8:  BTFSS  03.0
01E9:  GOTO   21C
....................          { 
....................             for(sloupec=0;sloupec<5;sloupec++) 
01EA:  CLRF   40
01EB:  MOVF   40,W
01EC:  SUBLW  04
01ED:  BTFSS  03.0
01EE:  GOTO   210
....................             { 
....................                output_B(pis[(napis[slovo*MAX_SLOVO+pismeno]-0x41)*5+sloupec]); 
01EF:  MOVF   3E,W
01F0:  MOVWF  47
01F1:  MOVLW  0A
01F2:  MOVWF  48
01F3:  CALL   111
01F4:  MOVF   3F,W
01F5:  ADDWF  78,W
01F6:  ADDLW  28
01F7:  MOVWF  04
01F8:  BCF    03.7
01F9:  MOVLW  41
01FA:  SUBWF  00,W
01FB:  MOVWF  46
01FC:  MOVWF  47
01FD:  MOVLW  05
01FE:  MOVWF  48
01FF:  CALL   111
0200:  MOVF   40,W
0201:  ADDWF  78,W
0202:  CALL   035
0203:  MOVWF  49
0204:  BSF    03.5
0205:  CLRF   06
0206:  BCF    03.5
0207:  MOVF   49,W
0208:  MOVWF  06
....................                delay_us(500); 
0209:  CLRWDT
020A:  MOVLW  A6
020B:  MOVWF  77
020C:  DECFSZ 77,F
020D:  GOTO   20C
....................             } 
020E:  INCF   40,F
020F:  GOTO   1EB
....................             output_B(0xFF); 
0210:  BSF    03.5
0211:  CLRF   06
0212:  MOVLW  FF
0213:  BCF    03.5
0214:  MOVWF  06
....................             delay_us(500); 
0215:  CLRWDT
0216:  MOVLW  A6
0217:  MOVWF  77
0218:  DECFSZ 77,F
0219:  GOTO   218
....................          } 
021A:  INCF   3F,F
021B:  GOTO   1E6
....................          if (otacky++>120) reset_cpu(); 
021C:  MOVF   3C,W
021D:  INCF   3C,F
021E:  SUBLW  78
021F:  BTFSC  03.0
0220:  GOTO   223
0221:  CLRF   0A
0222:  GOTO   000
....................       } 
0223:  INCF   41,F
0224:  GOTO   1D7
0225:  INCF   3E,F
0226:  GOTO   1D2
....................    }    
0227:  GOTO   1D1
.................... } 
0228:  SLEEP

Configuration Fuses:
   Word  1: 3F3D   XT WDT NOPUT NODEBUG NOPROTECT NOBROWNOUT NOLVP NOCPD NOWRT