1 unit PIC16F77; 2 3 // Define hardware 4 {$SET PIC_MODEL = 'PIC16F77'} 5 {$SET PIC_MAXFREQ = 20000000} 6 {$SET PIC_NPINS = 40} 7 {$SET PIC_NUMBANKS = 4} 8 {$SET PIC_NUMPAGES = 4} 9 {$SET PIC_MAXFLASH = 8192} 10 11 interface 12 var 13 INDF : byte absolute $0000; 14 TMR0 : byte absolute $0001; 15 PCL : byte absolute $0002; 16 STATUS : byte absolute $0003; 17 STATUS_IRP : bit absolute STATUS.7; 18 STATUS_RP1 : bit absolute STATUS.6; 19 STATUS_RP0 : bit absolute STATUS.5; 20 STATUS_nTO : bit absolute STATUS.4; 21 STATUS_nPD : bit absolute STATUS.3; 22 STATUS_Z : bit absolute STATUS.2; 23 STATUS_DC : bit absolute STATUS.1; 24 STATUS_C : bit absolute STATUS.0; 25 FSR : byte absolute $0004; 26 PORTA : byte absolute $0005; 27 PORTA_RA5 : bit absolute PORTA.5; 28 PORTA_RA4 : bit absolute PORTA.4; 29 PORTA_RA3 : bit absolute PORTA.3; 30 PORTA_RA2 : bit absolute PORTA.2; 31 PORTA_RA1 : bit absolute PORTA.1; 32 PORTA_RA0 : bit absolute PORTA.0; 33 PORTB : byte absolute $0006; 34 PORTB_RB7 : bit absolute PORTB.7; 35 PORTB_RB6 : bit absolute PORTB.6; 36 PORTB_RB5 : bit absolute PORTB.5; 37 PORTB_RB4 : bit absolute PORTB.4; 38 PORTB_RB3 : bit absolute PORTB.3; 39 PORTB_RB2 : bit absolute PORTB.2; 40 PORTB_RB1 : bit absolute PORTB.1; 41 PORTB_RB0 : bit absolute PORTB.0; 42 PORTC : byte absolute $0007; 43 PORTC_RC7 : bit absolute PORTC.7; 44 PORTC_RC6 : bit absolute PORTC.6; 45 PORTC_RC5 : bit absolute PORTC.5; 46 PORTC_RC4 : bit absolute PORTC.4; 47 PORTC_RC3 : bit absolute PORTC.3; 48 PORTC_RC2 : bit absolute PORTC.2; 49 PORTC_RC1 : bit absolute PORTC.1; 50 PORTC_RC0 : bit absolute PORTC.0; 51 PORTD : byte absolute $0008; 52 PORTD_RD7 : bit absolute PORTD.7; 53 PORTD_RD6 : bit absolute PORTD.6; 54 PORTD_RD5 : bit absolute PORTD.5; 55 PORTD_RD4 : bit absolute PORTD.4; 56 PORTD_RD3 : bit absolute PORTD.3; 57 PORTD_RD2 : bit absolute PORTD.2; 58 PORTD_RD1 : bit absolute PORTD.1; 59 PORTD_RD0 : bit absolute PORTD.0; 60 PORTE : byte absolute $0009; 61 PORTE_RE2 : bit absolute PORTE.2; 62 PORTE_RE1 : bit absolute PORTE.1; 63 PORTE_RE0 : bit absolute PORTE.0; 64 PCLATH : byte absolute $000A; 65 PCLATH_PCLATH4 : bit absolute PCLATH.4; 66 PCLATH_PCLATH3 : bit absolute PCLATH.3; 67 PCLATH_PCLATH2 : bit absolute PCLATH.2; 68 PCLATH_PCLATH1 : bit absolute PCLATH.1; 69 PCLATH_PCLATH0 : bit absolute PCLATH.0; 70 INTCON : byte absolute $000B; 71 INTCON_GIE : bit absolute INTCON.7; 72 INTCON_PEIE : bit absolute INTCON.6; 73 INTCON_TMR0IE : bit absolute INTCON.5; 74 INTCON_INTE : bit absolute INTCON.4; 75 INTCON_RBIE : bit absolute INTCON.3; 76 INTCON_TMR0IF : bit absolute INTCON.2; 77 INTCON_INTF : bit absolute INTCON.1; 78 INTCON_RBIF : bit absolute INTCON.0; 79 PIR1 : byte absolute $000C; 80 PIR1_PSPIF : bit absolute PIR1.7; 81 PIR1_ADIF : bit absolute PIR1.6; 82 PIR1_RCIF : bit absolute PIR1.5; 83 PIR1_TXIF : bit absolute PIR1.4; 84 PIR1_SSPIF : bit absolute PIR1.3; 85 PIR1_CCP1IF : bit absolute PIR1.2; 86 PIR1_TMR2IF : bit absolute PIR1.1; 87 PIR1_TMR1IF : bit absolute PIR1.0; 88 PIR2 : byte absolute $000D; 89 PIR2_CCP2IF : bit absolute PIR2.0; 90 TMR1L : byte absolute $000E; 91 TMR1H : byte absolute $000F; 92 T1CON : byte absolute $0010; 93 T1CON_T1CKPS1 : bit absolute T1CON.5; 94 T1CON_T1CKPS0 : bit absolute T1CON.4; 95 T1CON_T1OSCEN : bit absolute T1CON.3; 96 T1CON_nT1SYNC : bit absolute T1CON.2; 97 T1CON_TMR1CS : bit absolute T1CON.1; 98 T1CON_TMR1ON : bit absolute T1CON.0; 99 TMR2 : byte absolute $0011; 100 T2CON : byte absolute $0012; 101 T2CON_TOUTPS3 : bit absolute T2CON.6; 102 T2CON_TOUTPS2 : bit absolute T2CON.5; 103 T2CON_TOUTPS1 : bit absolute T2CON.4; 104 T2CON_TOUTPS0 : bit absolute T2CON.3; 105 T2CON_TMR2ON : bit absolute T2CON.2; 106 T2CON_T2CKPS1 : bit absolute T2CON.1; 107 T2CON_T2CKPS0 : bit absolute T2CON.0; 108 SSPBUF : byte absolute $0013; 109 SSPCON : byte absolute $0014; 110 SSPCON_WCOL : bit absolute SSPCON.7; 111 SSPCON_SSPOV : bit absolute SSPCON.6; 112 SSPCON_SSPEN : bit absolute SSPCON.5; 113 SSPCON_CKP : bit absolute SSPCON.4; 114 SSPCON_SSPM3 : bit absolute SSPCON.3; 115 SSPCON_SSPM2 : bit absolute SSPCON.2; 116 SSPCON_SSPM1 : bit absolute SSPCON.1; 117 SSPCON_SSPM0 : bit absolute SSPCON.0; 118 CCPR1L : byte absolute $0015; 119 CCPR1H : byte absolute $0016; 120 CCP1CON : byte absolute $0017; 121 CCP1CON_CCP1X : bit absolute CCP1CON.5; 122 CCP1CON_CCP1Y : bit absolute CCP1CON.4; 123 CCP1CON_CCP1M3 : bit absolute CCP1CON.3; 124 CCP1CON_CCP1M2 : bit absolute CCP1CON.2; 125 CCP1CON_CCP1M1 : bit absolute CCP1CON.1; 126 CCP1CON_CCP1M0 : bit absolute CCP1CON.0; 127 RCSTA : byte absolute $0018; 128 RCSTA_SPEN : bit absolute RCSTA.7; 129 RCSTA_RX9 : bit absolute RCSTA.6; 130 RCSTA_SREN : bit absolute RCSTA.5; 131 RCSTA_CREN : bit absolute RCSTA.4; 132 RCSTA_FERR : bit absolute RCSTA.2; 133 RCSTA_OERR : bit absolute RCSTA.1; 134 RCSTA_RX9D : bit absolute RCSTA.0; 135 TXREG : byte absolute $0019; 136 RCREG : byte absolute $001A; 137 CCPR2L : byte absolute $001B; 138 CCPR2H : byte absolute $001C; 139 CCP2CON : byte absolute $001D; 140 CCP2CON_CCP2X : bit absolute CCP2CON.5; 141 CCP2CON_CCP2Y : bit absolute CCP2CON.4; 142 CCP2CON_CCP2M3 : bit absolute CCP2CON.3; 143 CCP2CON_CCP2M2 : bit absolute CCP2CON.2; 144 CCP2CON_CCP2M1 : bit absolute CCP2CON.1; 145 CCP2CON_CCP2M0 : bit absolute CCP2CON.0; 146 ADRES : byte absolute $001E; 147 ADCON0 : byte absolute $001F; 148 ADCON0_ADCS1 : bit absolute ADCON0.7; 149 ADCON0_ADCS0 : bit absolute ADCON0.6; 150 ADCON0_CHS2 : bit absolute ADCON0.5; 151 ADCON0_CHS1 : bit absolute ADCON0.4; 152 ADCON0_CHS0 : bit absolute ADCON0.3; 153 ADCON0_GO_nDONE : bit absolute ADCON0.2; 154 ADCON0_ADON : bit absolute ADCON0.0; 155 OPTION_REG : byte absolute $0081; 156 OPTION_REG_nRBPU : bit absolute OPTION_REG.7; 157 OPTION_REG_INTEDG : bit absolute OPTION_REG.6; 158 OPTION_REG_T0CS : bit absolute OPTION_REG.5; 159 OPTION_REG_T0SE : bit absolute OPTION_REG.4; 160 OPTION_REG_PSA : bit absolute OPTION_REG.3; 161 OPTION_REG_PS2 : bit absolute OPTION_REG.2; 162 OPTION_REG_PS1 : bit absolute OPTION_REG.1; 163 OPTION_REG_PS0 : bit absolute OPTION_REG.0; 164 TRISA : byte absolute $0085; 165 TRISA_TRISA5 : bit absolute TRISA.5; 166 TRISA_TRISA4 : bit absolute TRISA.4; 167 TRISA_TRISA3 : bit absolute TRISA.3; 168 TRISA_TRISA2 : bit absolute TRISA.2; 169 TRISA_TRISA1 : bit absolute TRISA.1; 170 TRISA_TRISA0 : bit absolute TRISA.0; 171 TRISB : byte absolute $0086; 172 TRISB_TRISB7 : bit absolute TRISB.7; 173 TRISB_TRISB6 : bit absolute TRISB.6; 174 TRISB_TRISB5 : bit absolute TRISB.5; 175 TRISB_TRISB4 : bit absolute TRISB.4; 176 TRISB_TRISB3 : bit absolute TRISB.3; 177 TRISB_TRISB2 : bit absolute TRISB.2; 178 TRISB_TRISB1 : bit absolute TRISB.1; 179 TRISB_TRISB0 : bit absolute TRISB.0; 180 TRISC : byte absolute $0087; 181 TRISC_TRISC7 : bit absolute TRISC.7; 182 TRISC_TRISC6 : bit absolute TRISC.6; 183 TRISC_TRISC5 : bit absolute TRISC.5; 184 TRISC_TRISC4 : bit absolute TRISC.4; 185 TRISC_TRISC3 : bit absolute TRISC.3; 186 TRISC_TRISC2 : bit absolute TRISC.2; 187 TRISC_TRISC1 : bit absolute TRISC.1; 188 TRISC_TRISC0 : bit absolute TRISC.0; 189 TRISD : byte absolute $0088; 190 TRISD_TRISD7 : bit absolute TRISD.7; 191 TRISD_TRISD6 : bit absolute TRISD.6; 192 TRISD_TRISD5 : bit absolute TRISD.5; 193 TRISD_TRISD4 : bit absolute TRISD.4; 194 TRISD_TRISD3 : bit absolute TRISD.3; 195 TRISD_TRISD2 : bit absolute TRISD.2; 196 TRISD_TRISD1 : bit absolute TRISD.1; 197 TRISD_TRISD0 : bit absolute TRISD.0; 198 TRISE : byte absolute $0089; 199 TRISE_IBF : bit absolute TRISE.7; 200 TRISE_OBF : bit absolute TRISE.6; 201 TRISE_IBOV : bit absolute TRISE.5; 202 TRISE_PSPMODE : bit absolute TRISE.4; 203 TRISE_TRISE2 : bit absolute TRISE.2; 204 TRISE_TRISE1 : bit absolute TRISE.1; 205 TRISE_TRISE0 : bit absolute TRISE.0; 206 PIE1 : byte absolute $008C; 207 PIE1_PSPIE : bit absolute PIE1.7; 208 PIE1_ADIE : bit absolute PIE1.6; 209 PIE1_RCIE : bit absolute PIE1.5; 210 PIE1_TXIE : bit absolute PIE1.4; 211 PIE1_SSPIE : bit absolute PIE1.3; 212 PIE1_CCP1IE : bit absolute PIE1.2; 213 PIE1_TMR2IE : bit absolute PIE1.1; 214 PIE1_TMR1IE : bit absolute PIE1.0; 215 PIE2 : byte absolute $008D; 216 PIE2_CCP2IE : bit absolute PIE2.0; 217 PCON : byte absolute $008E; 218 PCON_nPOR : bit absolute PCON.1; 219 PCON_nBOR : bit absolute PCON.0; 220 PR2 : byte absolute $0092; 221 SSPADD : byte absolute $0093; 222 SSPSTAT : byte absolute $0094; 223 SSPSTAT_SMP : bit absolute SSPSTAT.7; 224 SSPSTAT_CKE : bit absolute SSPSTAT.6; 225 SSPSTAT_D_nA : bit absolute SSPSTAT.5; 226 SSPSTAT_P : bit absolute SSPSTAT.4; 227 SSPSTAT_S : bit absolute SSPSTAT.3; 228 SSPSTAT_R_nW : bit absolute SSPSTAT.2; 229 SSPSTAT_UA : bit absolute SSPSTAT.1; 230 SSPSTAT_BF : bit absolute SSPSTAT.0; 231 TXSTA : byte absolute $0098; 232 TXSTA_CSRC : bit absolute TXSTA.7; 233 TXSTA_TX9 : bit absolute TXSTA.6; 234 TXSTA_TXEN : bit absolute TXSTA.5; 235 TXSTA_SYNC : bit absolute TXSTA.4; 236 TXSTA_BRGH : bit absolute TXSTA.2; 237 TXSTA_TRMT : bit absolute TXSTA.1; 238 TXSTA_TX9D : bit absolute TXSTA.0; 239 SPBRG : byte absolute $0099; 240 ADCON1 : byte absolute $009F; 241 ADCON1_PCFG2 : bit absolute ADCON1.2; 242 ADCON1_PCFG1 : bit absolute ADCON1.1; 243 ADCON1_PCFG0 : bit absolute ADCON1.0; 244 PMDATA : byte absolute $010C; 245 PMADR : byte absolute $010D; 246 PMDATH : byte absolute $010E; 247 PMDATH_PMDATH5 : bit absolute PMDATH.5; 248 PMDATH_PMDATH4 : bit absolute PMDATH.4; 249 PMDATH_PMDATH3 : bit absolute PMDATH.3; 250 PMDATH_PMDATH2 : bit absolute PMDATH.2; 251 PMDATH_PMDATH1 : bit absolute PMDATH.1; 252 PMDATH_PMDATH0 : bit absolute PMDATH.0; 253 PMADRH : byte absolute $010F; 254 PMADRH_PMADRH4 : bit absolute PMADRH.4; 255 PMADRH_PMADRH3 : bit absolute PMADRH.3; 256 PMADRH_PMADRH2 : bit absolute PMADRH.2; 257 PMADRH_PMADRH1 : bit absolute PMADRH.1; 258 PMADRH_PMADRH0 : bit absolute PMADRH.0; 259 PMCON1 : byte absolute $018C; 260 PMCON1_RD : bit absolute PMCON1.0; 261 262 263 // -- Define RAM state values -- 264 265 {$CLEAR_STATE_RAM} 266 267 {$SET_STATE_RAM '000-000:SFR:ALLMAPPED'} // Banks 0-3 : INDF 268 {$SET_STATE_RAM '001-001:SFR:ALL'} // Bank 0 : TMR0 269 // Bank 1 : OPTION_REG 270 // Bank 2 : TMR0 271 // Bank 3 : OPTION_REG 272 {$SET_STATE_RAM '002-004:SFR:ALLMAPPED'} // Banks 0-3 : PCL, STATUS, FSR 273 {$SET_STATE_RAM '005-005:SFR'} // Bank 0 : PORTA 274 {$SET_STATE_RAM '006-006:SFR:ALL'} // Bank 0 : PORTB 275 // Bank 1 : TRISB 276 // Bank 2 : PORTB 277 // Bank 3 : TRISB 278 {$SET_STATE_RAM '007-009:SFR'} // Bank 0 : PORTC, PORTD, PORTE 279 {$SET_STATE_RAM '00A-00B:SFR:ALLMAPPED'} // Banks 0-3 : PCLATH, INTCON 280 {$SET_STATE_RAM '00C-00C:SFR:ALL'} // Bank 0 : PIR1 281 // Bank 1 : PIE1 282 // Bank 2 : PMDATA 283 // Bank 3 : PMCON1 284 {$SET_STATE_RAM '00D-01F:SFR'} // Bank 0 : PIR2, TMR1L, TMR1H, T1CON, TMR2, T2CON, SSPBUF, SSPCON, CCPR1L, CCPR1H, CCP1CON, RCSTA, TXREG, RCREG, CCPR2L, CCPR2H, CCP2CON, ADRES, ADCON0 285 {$SET_STATE_RAM '020-06F:GPR:ALL'} 286 {$SET_STATE_RAM '070-07F:GPR:ALLMAPPED'} 287 {$SET_STATE_RAM '085-085:SFR'} // Bank 1 : TRISA 288 {$SET_STATE_RAM '087-089:SFR'} // Bank 1 : TRISC, TRISD, TRISE 289 {$SET_STATE_RAM '08D-08E:SFR'} // Bank 1 : PIE2, PCON 290 {$SET_STATE_RAM '092-094:SFR'} // Bank 1 : PR2, SSPADD, SSPSTAT 291 {$SET_STATE_RAM '098-099:SFR'} // Bank 1 : TXSTA, SPBRG 292 {$SET_STATE_RAM '09F-09F:SFR'} // Bank 1 : ADCON1 293 {$SET_STATE_RAM '10D-10F:SFR'} // Bank 2 : PMADR, PMDATH, PMADRH 294 {$SET_STATE_RAM '110-11F:GPR'} 295 {$SET_STATE_RAM '190-19F:GPR'} 296 297 298 // -- Define mapped RAM -- 299 300 {$SET_MAPPED_RAM '101-101:bnk0'} // maps to TMR0 (bank 0) 301 {$SET_MAPPED_RAM '106-106:bnk0'} // maps to PORTB (bank 0) 302 {$SET_MAPPED_RAM '181-181:bnk1'} // maps to OPTION_REG (bank 1) 303 {$SET_MAPPED_RAM '186-186:bnk1'} // maps to TRISB (bank 1) 304 305 306 // -- Un-implemented fields -- 307 308 {$SET_UNIMP_BITS '005:3F'} // PORTA bits 7,6 un-implemented (read as 0) 309 {$SET_UNIMP_BITS '009:07'} // PORTE bits 7,6,5,4,3 un-implemented (read as 0) 310 {$SET_UNIMP_BITS '00A:1F'} // PCLATH bits 7,6,5 un-implemented (read as 0) 311 {$SET_UNIMP_BITS '00D:01'} // PIR2 bits 7,6,5,4,3,2,1 un-implemented (read as 0) 312 {$SET_UNIMP_BITS '010:3F'} // T1CON bits 7,6 un-implemented (read as 0) 313 {$SET_UNIMP_BITS '012:7F'} // T2CON bit 7 un-implemented (read as 0) 314 {$SET_UNIMP_BITS '017:3F'} // CCP1CON bits 7,6 un-implemented (read as 0) 315 {$SET_UNIMP_BITS '018:F7'} // RCSTA bit 3 un-implemented (read as 0) 316 {$SET_UNIMP_BITS '01D:3F'} // CCP2CON bits 7,6 un-implemented (read as 0) 317 {$SET_UNIMP_BITS '01F:FD'} // ADCON0 bit 1 un-implemented (read as 0) 318 {$SET_UNIMP_BITS '085:3F'} // TRISA bits 7,6 un-implemented (read as 0) 319 {$SET_UNIMP_BITS '089:F7'} // TRISE bit 3 un-implemented (read as 0) 320 {$SET_UNIMP_BITS '08D:01'} // PIE2 bits 7,6,5,4,3,2,1 un-implemented (read as 0) 321 {$SET_UNIMP_BITS '08E:03'} // PCON bits 7,6,5,4,3,2 un-implemented (read as 0) 322 {$SET_UNIMP_BITS '098:F7'} // TXSTA bit 3 un-implemented (read as 0) 323 {$SET_UNIMP_BITS '09F:07'} // ADCON1 bits 7,6,5,4,3 un-implemented (read as 0) 324 {$SET_UNIMP_BITS '10E:3F'} // PMDATH bits 7,6 un-implemented (read as 0) 325 {$SET_UNIMP_BITS '10F:1F'} // PMADRH bits 7,6,5 un-implemented (read as 0) 326 {$SET_UNIMP_BITS '18C:81'} // PMCON1 bits 6,5,4,3,2,1 un-implemented (read as 0) 327 328 329 // -- PIN mapping -- 330 331 // Pin 1 : MCLR/Vpp 332 // Pin 2 : RA0/AN0 333 // Pin 3 : RA1/AN1 334 // Pin 4 : RA2/AN2 335 // Pin 5 : RA3/AN3/Vref 336 // Pin 6 : RA4/T0CKI 337 // Pin 7 : RA5/SS/AN4 338 // Pin 8 : RE0/RD/AN5 339 // Pin 9 : RE1/WR/AN6 340 // Pin 10 : RE2/CS/AN7 341 // Pin 11 : Vdd 342 // Pin 12 : Vss 343 // Pin 13 : OSC1/CLKI 344 // Pin 14 : OSC2/CLKO 345 // Pin 15 : RC0/T1OSO/T1CKI 346 // Pin 16 : RC1/T1OSI/CCP2 347 // Pin 17 : RC2/CCP1 348 // Pin 18 : RC3/SCK/SCL 349 // Pin 19 : RD0/PSP0 350 // Pin 20 : RD1/PSP1 351 // Pin 21 : RD2/PSP2 352 // Pin 22 : RD3/PSP3 353 // Pin 23 : RC4/SDI/SDA 354 // Pin 24 : RC5/SDO 355 // Pin 25 : RC6/TX/CK 356 // Pin 26 : RC7/RX/DT 357 // Pin 27 : RD4/PSP4 358 // Pin 28 : RD5/PSP5 359 // Pin 29 : RD6/PSP6 360 // Pin 30 : RD7/PSP7 361 // Pin 31 : Vss 362 // Pin 32 : Vdd 363 // Pin 33 : RB0/INT 364 // Pin 34 : RB1 365 // Pin 35 : RB2 366 // Pin 36 : RB3/PGM 367 // Pin 37 : RB4 368 // Pin 38 : RB5 369 // Pin 39 : RB6/PGC 370 // Pin 40 : RB7/PGD 371 372 373 // -- RAM to PIN mapping -- 374 375 {$MAP_RAM_TO_PIN '005:0-2,1-3,2-4,3-5,4-6,5-7'} // PORTA 376 {$MAP_RAM_TO_PIN '006:0-33,1-34,2-35,3-36,4-37,5-38,6-39,7-40'} // PORTB 377 {$MAP_RAM_TO_PIN '007:0-15,1-16,2-17,3-18,4-23,5-24,6-25,7-26'} // PORTC 378 {$MAP_RAM_TO_PIN '008:0-19,1-20,2-21,3-22,4-27,5-28,6-29,7-30'} // PORTD 379 {$MAP_RAM_TO_PIN '009:0-8,1-9,2-10'} // PORTE 380 381 382 // -- Bits Configuration -- 383 384 // FOSC : Oscillator Selection bits 385 {$define _FOSC_RC = $3FFF} // RC oscillator 386 {$define _FOSC_HS = $3FFE} // HS oscillator 387 {$define _FOSC_XT = $3FFD} // XT oscillator 388 {$define _FOSC_LP = $3FFC} // LP oscillator 389 390 // WDTE : Watchdog Timer Enable bit 391 {$define _WDTE_ON = $3FFF} // WDT enabled 392 {$define _WDTE_OFF = $3FFB} // WDT disabled 393 394 // PWRTE : Power-up Timer Enable bit 395 {$define _PWRTE_OFF = $3FFF} // PWRT disabled 396 {$define _PWRTE_ON = $3FF7} // PWRT enabled 397 398 // CP : FLASH Program Memory Code Protection bit 399 {$define _CP_OFF = $3FFF} // Code protection off 400 {$define _CP_ON = $3FEF} // All Memory locations code protected 401 402 // BOREN : Brown-out Reset Enable bit 403 {$define _BOREN_ON = $3FFF} // BOR enabled 404 {$define _BOREN_OFF = $3FBF} // BOR disabled 405 406 implementation 407 end. 408