Home » Archimedes archive » Acorn User » AU 1998-12.adf » Regulars » RTR/Serial3
RTR/Serial3
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Archimedes archive » Acorn User » AU 1998-12.adf » Regulars |
Filename: | RTR/Serial3 |
Read OK: | ✔ |
File size: | 1870 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
PIC 16C84 Assembler V1.4 by Mike Cook File:- ADFS::Square.$.Develop.SerialPIC.SerialIO Assembled on :- Thu,02 Jul 1998 at 17:02:31 ;Serial I/O User Port ;For an 10 MHz clock ;A0 - Serial out ;A1 - Serial in ;A2 - CTS allows serial input ;A3 - RTS output held until this is low ;A4 - I/O mode 0 = Input mode 1 = Output mode ;Note for 16F84 invert the state of the PWRTE list P=16C84 C equ 0 PCL equ 2 Z equ 2 PORTB equ 6 PORTA equ 5 TRISB equ 86H TRISA equ 85H EECON1 equ 88H EEDATA equ 8 EEADR equ 9 STATUS equ 3 RP0 equ 5 INC equ 1 cts equ 2 rts equ 3 sBuf equ 0ch ;Serial send buffer Scount equ 0dh ;Tempory Counter Cdown equ 0eh ;Time delay countdown rBuf equ 0fh ;Recieve buffer ; org 0 0000 2833 goto Start ;Recieve a serial byte Rx: 0001 1105 bcf PORTA,cts ;Allow for incomming data 0002 3008 movlw 8 ;Number of data bits to get 0003 008D movwf Scount Sb: 0004 1885 btfsc PORTA,1 ;Hold until start bit 0005 2804 goto Sb 0006 1505 bsf PORTA,cts ;Stop any more incomming 0007 2028 call hDelay ;Half a baud delay Rnb: 0008 1003 bcf STATUS,C ;Clear the carry bit 0009 0C8F rrf rBuf,f ;Prepare for next bit 000A 202B call rDelay ;Full baud delay for recieve 000B 1885 btfsc PORTA,1 ;Test input 000C 178F bsf rBuf,7 ;Set if needed 000D 0B8D decfsz Scount,f ;See if finished 000E 2808 goto Rnb ;Round again if not 000F 202B call rDelay ;Allow for stop bit to start 0010 0008 return ;Send a serial byte Send: 0011 1985 btfsc PORTA,rts ;Only proceed when rts is low 0012 2811 goto Send 0013 3009 movlw 9 ;Number of data bits to send 0014 008D movwf Scount 0015 1005 bcf PORTA,0 ;Start bit 0016 2025 call cDelay ;Extra delay compensation Sloop: 0017 202E call Delay 0018 180C btfsc sBuf,0 ;Set the next bit 0019 1405 bsf PORTA,0 001A 1C0C btfss sBuf,0 001B 1005 bcf PORTA,0 001C 0C8C rrf sBuf,f ;Shift for next time 001D 0B8D decfsz Scount,f 001E 2817 goto Sloop ;Round until finished 001F 1405 bsf PORTA,0 ;Stop bit 0020 2025 call cDelay ;Extra delay compensation 0021 202E call Delay 0022 202E call Delay 0023 2025 call cDelay ;For good measure 0024 0008 return cDelay: 0025 3009 movlw 9 ;Small delay at end of send 0026 008E movwf Cdown 0027 2830 goto Dloop hDelay: 0028 3015 movlw 21 ;half delay for serial recieve 10MHz clock 0029 008E movwf Cdown ; 19,200 Baud rate 002A 2830 goto Dloop rDelay: 002B 3026 movlw 38 ;Delay for serial recieve 10MHz clock 002C 008E movwf Cdown ; 19,200 Baud rate 002D 2830 goto Dloop Delay: 002E 3027 movlw 39 ;Delay for serial send 10MHz clock 002F 008E movwf Cdown ; 19,200 Baud rate Dloop: 0030 0B8E decfsz Cdown,f 0031 2830 goto Dloop 0032 0008 return Start: 0033 1683 bsf STATUS,RP0 ;SELECT REGISTER BANK 1 0034 301A movlw 1Ah ;Bits 4,3 & 2 inputs 0035 0085 movwf TRISA^80H 0036 1283 bcf STATUS,RP0 ;SELECT REGISTER BANK 0 0037 1A05 btfsc PORTA,4 ;See if in input or output mode 0038 2846 goto InLoop 0039 1683 bsf STATUS,RP0 ;SELECT REGISTER BANK 1 003A 3000 movlw 0 ;All port B to outputs 003B 0086 movwf TRISB^80H 003C 1283 bcf STATUS,RP0 ;SELECT REGISTER BANK 0 003D 1405 bsf PORTA,0 ;Serial at Mark 003E 1505 bsf PORTA,cts ;CTS disabled outMain: 003F 2001 call Rx ;Get byte to output 0040 080F movf rBuf,w ;Byte to send 0041 0086 movwf PORTB ;Output it 0042 0806 movf PORTB,w ;Get output state 0043 008C movwf sBuf ;Ready to output it 0044 2011 call Send ;Send it back to computer 0045 283F goto outMain InLoop: 0046 1683 bsf STATUS,RP0 ;SELECT REGISTER BANK 1 0047 30FF movlw 0ffh ;All port B to inputs 0048 0086 movwf TRISB^80H 0049 1381 bcf 1,7 ;Enable pull up resistors 004A 1283 bcf STATUS,RP0 ;SELECT REGISTER BANK 0 004B 1405 bsf PORTA,0 ;Serial at Mark 004C 1505 bsf PORTA,cts ;CTS disabled inMain: 004D 2001 call Rx ;Get byte to initiate read 004E 0806 movf PORTB,w ;Get input state 004F 008C movwf sBuf ;Ready to output it 0050 2011 call Send ;Send it back to computer 0051 284D goto inMain end Memory Usage Map ('X' = Used, '-' = Unused) 0000 : XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX 0040 : XXXXXXX-XXXXXXXX XX-------------- ---------------- ---------------- 33 Lables & Constants:- Hex Name 0000 C 0002 PCL 0002 Z 0006 PORTB 0005 PORTA 0086 TRISB 0085 TRISA 0088 EECON1 0008 EEDATA 0009 EEADR 0003 STATUS 0005 RP0 0001 INC 0002 cts 0003 rts 000C sBuf 000D Scount 000E Cdown 000F rBuf 0001 Rx 0004 Sb 0008 Rnb 0011 Send 0017 Sloop 0025 cDelay 0028 hDelay 002B rDelay 002E Delay 0030 Dloop 0033 Start 003F outMain 0046 InLoop 004D inMain 0 Errors
00000000 50 49 43 20 31 36 43 38 34 20 41 73 73 65 6d 62 |PIC 16C84 Assemb| 00000010 6c 65 72 20 56 31 2e 34 20 62 79 20 4d 69 6b 65 |ler V1.4 by Mike| 00000020 20 43 6f 6f 6b 0a 46 69 6c 65 3a 2d 20 41 44 46 | Cook.File:- ADF| 00000030 53 3a 3a 53 71 75 61 72 65 2e 24 2e 44 65 76 65 |S::Square.$.Deve| 00000040 6c 6f 70 2e 53 65 72 69 61 6c 50 49 43 2e 53 65 |lop.SerialPIC.Se| 00000050 72 69 61 6c 49 4f 0a 41 73 73 65 6d 62 6c 65 64 |rialIO.Assembled| 00000060 20 6f 6e 20 3a 2d 20 54 68 75 2c 30 32 20 4a 75 | on :- Thu,02 Ju| 00000070 6c 20 31 39 39 38 20 61 74 20 31 37 3a 30 32 3a |l 1998 at 17:02:| 00000080 33 31 0a 0a 3b 53 65 72 69 61 6c 20 49 2f 4f 20 |31..;Serial I/O | 00000090 55 73 65 72 20 50 6f 72 74 0a 3b 46 6f 72 20 61 |User Port.;For a| 000000a0 6e 20 31 30 20 4d 48 7a 20 63 6c 6f 63 6b 0a 3b |n 10 MHz clock.;| 000000b0 41 30 20 2d 20 53 65 72 69 61 6c 20 6f 75 74 0a |A0 - Serial out.| 000000c0 3b 41 31 20 2d 20 53 65 72 69 61 6c 20 69 6e 0a |;A1 - Serial in.| 000000d0 3b 41 32 20 2d 20 43 54 53 20 61 6c 6c 6f 77 73 |;A2 - CTS allows| 000000e0 20 73 65 72 69 61 6c 20 69 6e 70 75 74 0a 3b 41 | serial input.;A| 000000f0 33 20 2d 20 52 54 53 20 6f 75 74 70 75 74 20 68 |3 - RTS output h| 00000100 65 6c 64 20 75 6e 74 69 6c 20 74 68 69 73 20 69 |eld until this i| 00000110 73 20 6c 6f 77 0a 3b 41 34 20 2d 20 49 2f 4f 20 |s low.;A4 - I/O | 00000120 6d 6f 64 65 20 30 20 3d 20 49 6e 70 75 74 20 6d |mode 0 = Input m| 00000130 6f 64 65 20 20 20 31 20 3d 20 4f 75 74 70 75 74 |ode 1 = Output| 00000140 20 6d 6f 64 65 0a 0a 3b 4e 6f 74 65 20 66 6f 72 | mode..;Note for| 00000150 20 31 36 46 38 34 20 69 6e 76 65 72 74 20 74 68 | 16F84 invert th| 00000160 65 20 73 74 61 74 65 20 6f 66 20 74 68 65 20 50 |e state of the P| 00000170 57 52 54 45 0a 20 20 20 20 20 20 20 20 20 20 20 |WRTE. | 00000180 20 20 20 6c 69 73 74 20 20 20 50 3d 31 36 43 38 | list P=16C8| 00000190 34 0a 0a 0a 20 20 20 20 20 20 20 43 20 20 20 20 |4... C | 000001a0 20 20 20 20 20 20 20 20 20 65 71 75 20 30 20 20 | equ 0 | 000001b0 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 | . | 000001c0 50 43 4c 20 20 20 20 20 20 20 20 20 20 20 65 71 |PCL eq| 000001d0 75 20 32 20 20 20 20 20 20 20 20 20 20 0a 20 20 |u 2 . | 000001e0 20 20 20 20 20 5a 20 20 20 20 20 20 20 20 20 20 | Z | 000001f0 20 20 20 65 71 75 20 32 20 20 20 20 20 20 20 20 | equ 2 | 00000200 20 20 0a 20 20 20 20 20 20 20 50 4f 52 54 42 20 | . PORTB | 00000210 20 20 20 20 20 20 20 20 65 71 75 20 36 20 20 20 | equ 6 | 00000220 20 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 50 | . P| 00000230 4f 52 54 41 20 20 20 20 20 20 20 20 20 65 71 75 |ORTA equ| 00000240 20 35 20 20 20 20 20 20 20 20 20 20 0a 20 20 20 | 5 . | 00000250 20 20 20 20 54 52 49 53 42 20 20 20 20 20 20 20 | TRISB | 00000260 20 20 65 71 75 20 38 36 48 20 20 20 20 20 20 20 | equ 86H | 00000270 20 20 20 0a 20 20 20 20 20 20 20 54 52 49 53 41 | . TRISA| 00000280 20 20 20 20 20 20 20 20 20 65 71 75 20 38 35 48 | equ 85H| 00000290 20 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 | . | 000002a0 20 20 45 45 43 4f 4e 31 20 20 20 20 20 20 20 20 | EECON1 | 000002b0 65 71 75 20 38 38 48 20 20 20 20 20 20 20 20 20 |equ 88H | 000002c0 20 0a 20 20 20 20 20 20 20 45 45 44 41 54 41 20 | . EEDATA | 000002d0 20 20 20 20 20 20 20 65 71 75 20 38 20 20 20 20 | equ 8 | 000002e0 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 45 45 | . EE| 000002f0 41 44 52 20 20 20 20 20 20 20 20 20 65 71 75 20 |ADR equ | 00000300 39 20 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 |9 . | 00000310 20 20 20 53 54 41 54 55 53 20 20 20 20 20 20 20 | STATUS | 00000320 20 65 71 75 20 33 20 20 20 20 20 20 20 20 20 20 | equ 3 | 00000330 0a 20 20 20 20 20 20 20 52 50 30 20 20 20 20 20 |. RP0 | 00000340 20 20 20 20 20 20 65 71 75 20 35 20 20 20 20 20 | equ 5 | 00000350 20 20 20 20 20 0a 20 20 20 20 20 20 20 49 4e 43 | . INC| 00000360 20 20 20 20 20 20 20 20 20 20 20 65 71 75 20 31 | equ 1| 00000370 20 20 20 20 20 20 20 20 20 20 0a 20 20 20 20 20 | . | 00000380 20 20 63 74 73 20 20 20 20 20 20 20 20 20 20 20 | cts | 00000390 65 71 75 20 32 20 20 20 20 20 20 20 20 20 20 0a |equ 2 .| 000003a0 20 20 20 20 20 20 20 72 74 73 20 20 20 20 20 20 | rts | 000003b0 20 20 20 20 20 65 71 75 20 33 20 20 20 20 20 20 | equ 3 | 000003c0 20 20 20 20 0a 20 20 20 20 20 20 20 73 42 75 66 | . sBuf| 000003d0 20 20 20 20 20 20 20 20 20 20 65 71 75 20 30 63 | equ 0c| 000003e0 68 20 20 20 20 20 20 20 20 20 20 3b 53 65 72 69 |h ;Seri| 000003f0 61 6c 20 73 65 6e 64 20 62 75 66 66 65 72 0a 20 |al send buffer. | 00000400 20 20 20 20 20 20 53 63 6f 75 6e 74 20 20 20 20 | Scount | 00000410 20 20 20 20 65 71 75 20 30 64 68 20 20 20 20 20 | equ 0dh | 00000420 20 20 20 20 20 3b 54 65 6d 70 6f 72 79 20 43 6f | ;Tempory Co| 00000430 75 6e 74 65 72 0a 20 20 20 20 20 20 20 43 64 6f |unter. Cdo| 00000440 77 6e 20 20 20 20 20 20 20 20 20 65 71 75 20 30 |wn equ 0| 00000450 65 68 20 20 20 20 20 20 20 20 20 20 3b 54 69 6d |eh ;Tim| 00000460 65 20 64 65 6c 61 79 20 63 6f 75 6e 74 64 6f 77 |e delay countdow| 00000470 6e 0a 20 20 20 20 20 20 20 72 42 75 66 20 20 20 |n. rBuf | 00000480 20 20 20 20 20 20 20 65 71 75 20 30 66 68 20 20 | equ 0fh | 00000490 20 20 20 20 20 20 20 20 3b 52 65 63 69 65 76 65 | ;Recieve| 000004a0 20 62 75 66 66 65 72 0a 0a 3b 0a 20 20 20 20 20 | buffer..;. | 000004b0 20 20 20 20 20 20 20 20 20 6f 72 67 20 20 20 20 | org | 000004c0 30 0a 30 30 30 30 20 20 20 32 38 33 33 20 20 20 |0.0000 2833 | 000004d0 67 6f 74 6f 20 20 20 53 74 61 72 74 20 20 20 20 |goto Start | 000004e0 20 20 20 20 20 20 0a 0a 3b 52 65 63 69 65 76 65 | ..;Recieve| 000004f0 20 61 20 73 65 72 69 61 6c 20 62 79 74 65 0a 52 | a serial byte.R| 00000500 78 3a 0a 0a 30 30 30 31 20 20 20 31 31 30 35 20 |x:..0001 1105 | 00000510 20 20 62 63 66 20 20 20 20 50 4f 52 54 41 2c 63 | bcf PORTA,c| 00000520 74 73 20 20 20 20 20 20 3b 41 6c 6c 6f 77 20 66 |ts ;Allow f| 00000530 6f 72 20 69 6e 63 6f 6d 6d 69 6e 67 20 64 61 74 |or incomming dat| 00000540 61 0a 30 30 30 32 20 20 20 33 30 30 38 20 20 20 |a.0002 3008 | 00000550 6d 6f 76 6c 77 20 20 38 20 20 20 20 20 20 20 20 |movlw 8 | 00000560 20 20 20 20 20 20 3b 4e 75 6d 62 65 72 20 6f 66 | ;Number of| 00000570 20 64 61 74 61 20 62 69 74 73 20 74 6f 20 67 65 | data bits to ge| 00000580 74 0a 30 30 30 33 20 20 20 30 30 38 44 20 20 20 |t.0003 008D | 00000590 6d 6f 76 77 66 20 20 53 63 6f 75 6e 74 20 20 20 |movwf Scount | 000005a0 20 20 20 20 20 20 0a 53 62 3a 0a 30 30 30 34 20 | .Sb:.0004 | 000005b0 20 20 31 38 38 35 20 20 20 62 74 66 73 63 20 20 | 1885 btfsc | 000005c0 50 4f 52 54 41 2c 31 20 20 20 20 20 20 20 20 3b |PORTA,1 ;| 000005d0 48 6f 6c 64 20 75 6e 74 69 6c 20 73 74 61 72 74 |Hold until start| 000005e0 20 62 69 74 0a 30 30 30 35 20 20 20 32 38 30 34 | bit.0005 2804| 000005f0 20 20 20 67 6f 74 6f 20 20 20 53 62 20 20 20 20 | goto Sb | 00000600 20 20 20 20 20 20 20 20 20 0a 30 30 30 36 20 20 | .0006 | 00000610 20 31 35 30 35 20 20 20 62 73 66 20 20 20 20 50 | 1505 bsf P| 00000620 4f 52 54 41 2c 63 74 73 20 20 20 20 20 20 3b 53 |ORTA,cts ;S| 00000630 74 6f 70 20 61 6e 79 20 6d 6f 72 65 20 69 6e 63 |top any more inc| 00000640 6f 6d 6d 69 6e 67 0a 30 30 30 37 20 20 20 32 30 |omming.0007 20| 00000650 32 38 20 20 20 63 61 6c 6c 20 20 20 68 44 65 6c |28 call hDel| 00000660 61 79 20 20 20 20 20 20 20 20 20 3b 48 61 6c 66 |ay ;Half| 00000670 20 61 20 62 61 75 64 20 64 65 6c 61 79 0a 52 6e | a baud delay.Rn| 00000680 62 3a 0a 30 30 30 38 20 20 20 31 30 30 33 20 20 |b:.0008 1003 | 00000690 20 62 63 66 20 20 20 20 53 54 41 54 55 53 2c 43 | bcf STATUS,C| 000006a0 20 20 20 20 20 20 20 3b 43 6c 65 61 72 20 74 68 | ;Clear th| 000006b0 65 20 63 61 72 72 79 20 62 69 74 0a 30 30 30 39 |e carry bit.0009| 000006c0 20 20 20 30 43 38 46 20 20 20 72 72 66 20 20 20 | 0C8F rrf | 000006d0 20 72 42 75 66 2c 66 20 20 20 20 20 20 20 20 20 | rBuf,f | 000006e0 3b 50 72 65 70 61 72 65 20 66 6f 72 20 6e 65 78 |;Prepare for nex| 000006f0 74 20 62 69 74 20 20 0a 30 30 30 41 20 20 20 32 |t bit .000A 2| 00000700 30 32 42 20 20 20 63 61 6c 6c 20 20 20 72 44 65 |02B call rDe| 00000710 6c 61 79 20 20 20 20 20 20 20 20 20 3b 46 75 6c |lay ;Ful| 00000720 6c 20 62 61 75 64 20 64 65 6c 61 79 20 66 6f 72 |l baud delay for| 00000730 20 72 65 63 69 65 76 65 0a 30 30 30 42 20 20 20 | recieve.000B | 00000740 31 38 38 35 20 20 20 62 74 66 73 63 20 20 50 4f |1885 btfsc PO| 00000750 52 54 41 2c 31 20 20 20 20 20 20 20 20 3b 54 65 |RTA,1 ;Te| 00000760 73 74 20 69 6e 70 75 74 0a 30 30 30 43 20 20 20 |st input.000C | 00000770 31 37 38 46 20 20 20 62 73 66 20 20 20 20 72 42 |178F bsf rB| 00000780 75 66 2c 37 20 20 20 20 20 20 20 20 20 3b 53 65 |uf,7 ;Se| 00000790 74 20 69 66 20 6e 65 65 64 65 64 0a 30 30 30 44 |t if needed.000D| 000007a0 20 20 20 30 42 38 44 20 20 20 64 65 63 66 73 7a | 0B8D decfsz| 000007b0 20 53 63 6f 75 6e 74 2c 66 20 20 20 20 20 20 20 | Scount,f | 000007c0 3b 53 65 65 20 69 66 20 66 69 6e 69 73 68 65 64 |;See if finished| 000007d0 0a 30 30 30 45 20 20 20 32 38 30 38 20 20 20 67 |.000E 2808 g| 000007e0 6f 74 6f 20 20 20 52 6e 62 20 20 20 20 20 20 20 |oto Rnb | 000007f0 20 20 20 20 20 3b 52 6f 75 6e 64 20 61 67 61 69 | ;Round agai| 00000800 6e 20 69 66 20 6e 6f 74 0a 30 30 30 46 20 20 20 |n if not.000F | 00000810 32 30 32 42 20 20 20 63 61 6c 6c 20 20 20 72 44 |202B call rD| 00000820 65 6c 61 79 20 20 20 20 20 20 20 20 20 3b 41 6c |elay ;Al| 00000830 6c 6f 77 20 66 6f 72 20 73 74 6f 70 20 62 69 74 |low for stop bit| 00000840 20 74 6f 20 73 74 61 72 74 0a 30 30 31 30 20 20 | to start.0010 | 00000850 20 30 30 30 38 20 20 20 72 65 74 75 72 6e 20 20 | 0008 return | 00000860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a 0a | ..| 00000870 0a 3b 53 65 6e 64 20 61 20 73 65 72 69 61 6c 20 |.;Send a serial | 00000880 62 79 74 65 0a 53 65 6e 64 3a 0a 0a 30 30 31 31 |byte.Send:..0011| 00000890 20 20 20 31 39 38 35 20 20 20 62 74 66 73 63 20 | 1985 btfsc | 000008a0 20 50 4f 52 54 41 2c 72 74 73 20 20 20 20 20 20 | PORTA,rts | 000008b0 3b 4f 6e 6c 79 20 70 72 6f 63 65 65 64 20 77 68 |;Only proceed wh| 000008c0 65 6e 20 72 74 73 20 69 73 20 6c 6f 77 0a 30 30 |en rts is low.00| 000008d0 31 32 20 20 20 32 38 31 31 20 20 20 67 6f 74 6f |12 2811 goto| 000008e0 20 20 20 53 65 6e 64 20 20 20 20 20 20 20 20 20 | Send | 000008f0 20 20 0a 30 30 31 33 20 20 20 33 30 30 39 20 20 | .0013 3009 | 00000900 20 6d 6f 76 6c 77 20 20 39 20 20 20 20 20 20 20 | movlw 9 | 00000910 20 20 20 20 20 20 20 3b 4e 75 6d 62 65 72 20 6f | ;Number o| 00000920 66 20 64 61 74 61 20 62 69 74 73 20 74 6f 20 73 |f data bits to s| 00000930 65 6e 64 0a 30 30 31 34 20 20 20 30 30 38 44 20 |end.0014 008D | 00000940 20 20 6d 6f 76 77 66 20 20 53 63 6f 75 6e 74 20 | movwf Scount | 00000950 20 20 20 20 20 20 20 20 0a 30 30 31 35 20 20 20 | .0015 | 00000960 31 30 30 35 20 20 20 62 63 66 20 20 20 20 50 4f |1005 bcf PO| 00000970 52 54 41 2c 30 20 20 20 20 20 20 20 20 3b 53 74 |RTA,0 ;St| 00000980 61 72 74 20 62 69 74 0a 30 30 31 36 20 20 20 32 |art bit.0016 2| 00000990 30 32 35 20 20 20 63 61 6c 6c 20 20 20 63 44 65 |025 call cDe| 000009a0 6c 61 79 20 20 20 20 20 20 20 20 20 3b 45 78 74 |lay ;Ext| 000009b0 72 61 20 64 65 6c 61 79 20 63 6f 6d 70 65 6e 73 |ra delay compens| 000009c0 61 74 69 6f 6e 0a 53 6c 6f 6f 70 3a 0a 30 30 31 |ation.Sloop:.001| 000009d0 37 20 20 20 32 30 32 45 20 20 20 63 61 6c 6c 20 |7 202E call | 000009e0 20 20 44 65 6c 61 79 20 20 20 20 20 20 20 20 20 | Delay | 000009f0 20 0a 30 30 31 38 20 20 20 31 38 30 43 20 20 20 | .0018 180C | 00000a00 62 74 66 73 63 20 20 73 42 75 66 2c 30 20 20 20 |btfsc sBuf,0 | 00000a10 20 20 20 20 20 20 3b 53 65 74 20 74 68 65 20 6e | ;Set the n| 00000a20 65 78 74 20 62 69 74 0a 30 30 31 39 20 20 20 31 |ext bit.0019 1| 00000a30 34 30 35 20 20 20 62 73 66 20 20 20 20 50 4f 52 |405 bsf POR| 00000a40 54 41 2c 30 20 20 20 20 20 20 20 20 0a 30 30 31 |TA,0 .001| 00000a50 41 20 20 20 31 43 30 43 20 20 20 62 74 66 73 73 |A 1C0C btfss| 00000a60 20 20 73 42 75 66 2c 30 20 20 20 20 20 20 20 20 | sBuf,0 | 00000a70 20 0a 30 30 31 42 20 20 20 31 30 30 35 20 20 20 | .001B 1005 | 00000a80 62 63 66 20 20 20 20 50 4f 52 54 41 2c 30 20 20 |bcf PORTA,0 | 00000a90 20 20 20 20 20 20 0a 30 30 31 43 20 20 20 30 43 | .001C 0C| 00000aa0 38 43 20 20 20 72 72 66 20 20 20 20 73 42 75 66 |8C rrf sBuf| 00000ab0 2c 66 20 20 20 20 20 20 20 20 20 3b 53 68 69 66 |,f ;Shif| 00000ac0 74 20 66 6f 72 20 6e 65 78 74 20 74 69 6d 65 0a |t for next time.| 00000ad0 30 30 31 44 20 20 20 30 42 38 44 20 20 20 64 65 |001D 0B8D de| 00000ae0 63 66 73 7a 20 53 63 6f 75 6e 74 2c 66 20 20 20 |cfsz Scount,f | 00000af0 20 20 20 20 0a 30 30 31 45 20 20 20 32 38 31 37 | .001E 2817| 00000b00 20 20 20 67 6f 74 6f 20 20 20 53 6c 6f 6f 70 20 | goto Sloop | 00000b10 20 20 20 20 20 20 20 20 20 3b 52 6f 75 6e 64 20 | ;Round | 00000b20 75 6e 74 69 6c 20 66 69 6e 69 73 68 65 64 0a 30 |until finished.0| 00000b30 30 31 46 20 20 20 31 34 30 35 20 20 20 62 73 66 |01F 1405 bsf| 00000b40 20 20 20 20 50 4f 52 54 41 2c 30 20 20 20 20 20 | PORTA,0 | 00000b50 20 20 20 3b 53 74 6f 70 20 62 69 74 0a 30 30 32 | ;Stop bit.002| 00000b60 30 20 20 20 32 30 32 35 20 20 20 63 61 6c 6c 20 |0 2025 call | 00000b70 20 20 63 44 65 6c 61 79 20 20 20 20 20 20 20 20 | cDelay | 00000b80 20 3b 45 78 74 72 61 20 64 65 6c 61 79 20 63 6f | ;Extra delay co| 00000b90 6d 70 65 6e 73 61 74 69 6f 6e 0a 30 30 32 31 20 |mpensation.0021 | 00000ba0 20 20 32 30 32 45 20 20 20 63 61 6c 6c 20 20 20 | 202E call | 00000bb0 44 65 6c 61 79 20 20 20 20 20 20 20 20 20 20 0a |Delay .| 00000bc0 30 30 32 32 20 20 20 32 30 32 45 20 20 20 63 61 |0022 202E ca| 00000bd0 6c 6c 20 20 20 44 65 6c 61 79 20 20 20 20 20 20 |ll Delay | 00000be0 20 20 20 20 0a 30 30 32 33 20 20 20 32 30 32 35 | .0023 2025| 00000bf0 20 20 20 63 61 6c 6c 20 20 20 63 44 65 6c 61 79 | call cDelay| 00000c00 20 20 20 20 20 20 20 20 20 3b 46 6f 72 20 67 6f | ;For go| 00000c10 6f 64 20 6d 65 61 73 75 72 65 0a 30 30 32 34 20 |od measure.0024 | 00000c20 20 20 30 30 30 38 20 20 20 72 65 74 75 72 6e 20 | 0008 return | 00000c30 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0a | .| 00000c40 0a 63 44 65 6c 61 79 3a 0a 0a 30 30 32 35 20 20 |.cDelay:..0025 | 00000c50 20 33 30 30 39 20 20 20 6d 6f 76 6c 77 20 20 39 | 3009 movlw 9| 00000c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 53 | ;S| 00000c70 6d 61 6c 6c 20 64 65 6c 61 79 20 61 74 20 65 6e |mall delay at en| 00000c80 64 20 6f 66 20 73 65 6e 64 0a 30 30 32 36 20 20 |d of send.0026 | 00000c90 20 30 30 38 45 20 20 20 6d 6f 76 77 66 20 20 43 | 008E movwf C| 00000ca0 64 6f 77 6e 20 20 20 20 20 20 20 20 20 20 0a 30 |down .0| 00000cb0 30 32 37 20 20 20 32 38 33 30 20 20 20 67 6f 74 |027 2830 got| 00000cc0 6f 20 20 20 44 6c 6f 6f 70 20 20 20 20 20 20 20 |o Dloop | 00000cd0 20 20 20 0a 0a 68 44 65 6c 61 79 3a 0a 0a 30 30 | ..hDelay:..00| 00000ce0 32 38 20 20 20 33 30 31 35 20 20 20 6d 6f 76 6c |28 3015 movl| 00000cf0 77 20 20 32 31 20 20 20 20 20 20 20 20 20 20 20 |w 21 | 00000d00 20 20 3b 68 61 6c 66 20 64 65 6c 61 79 20 66 6f | ;half delay fo| 00000d10 72 20 73 65 72 69 61 6c 20 72 65 63 69 65 76 65 |r serial recieve| 00000d20 20 31 30 4d 48 7a 20 63 6c 6f 63 6b 0a 30 30 32 | 10MHz clock.002| 00000d30 39 20 20 20 30 30 38 45 20 20 20 6d 6f 76 77 66 |9 008E movwf| 00000d40 20 20 43 64 6f 77 6e 20 20 20 20 20 20 20 20 20 | Cdown | 00000d50 20 3b 20 31 39 2c 32 30 30 20 42 61 75 64 20 72 | ; 19,200 Baud r| 00000d60 61 74 65 0a 30 30 32 41 20 20 20 32 38 33 30 20 |ate.002A 2830 | 00000d70 20 20 67 6f 74 6f 20 20 20 44 6c 6f 6f 70 20 20 | goto Dloop | 00000d80 20 20 20 20 20 20 20 20 0a 0a 72 44 65 6c 61 79 | ..rDelay| 00000d90 3a 0a 0a 30 30 32 42 20 20 20 33 30 32 36 20 20 |:..002B 3026 | 00000da0 20 6d 6f 76 6c 77 20 20 33 38 20 20 20 20 20 20 | movlw 38 | 00000db0 20 20 20 20 20 20 20 3b 44 65 6c 61 79 20 66 6f | ;Delay fo| 00000dc0 72 20 73 65 72 69 61 6c 20 72 65 63 69 65 76 65 |r serial recieve| 00000dd0 20 31 30 4d 48 7a 20 63 6c 6f 63 6b 0a 30 30 32 | 10MHz clock.002| 00000de0 43 20 20 20 30 30 38 45 20 20 20 6d 6f 76 77 66 |C 008E movwf| 00000df0 20 20 43 64 6f 77 6e 20 20 20 20 20 20 20 20 20 | Cdown | 00000e00 20 3b 20 31 39 2c 32 30 30 20 42 61 75 64 20 72 | ; 19,200 Baud r| 00000e10 61 74 65 0a 30 30 32 44 20 20 20 32 38 33 30 20 |ate.002D 2830 | 00000e20 20 20 67 6f 74 6f 20 20 20 44 6c 6f 6f 70 20 20 | goto Dloop | 00000e30 20 20 20 20 20 20 20 20 0a 0a 44 65 6c 61 79 3a | ..Delay:| 00000e40 0a 0a 30 30 32 45 20 20 20 33 30 32 37 20 20 20 |..002E 3027 | 00000e50 6d 6f 76 6c 77 20 20 33 39 20 20 20 20 20 20 20 |movlw 39 | 00000e60 20 20 20 20 20 20 3b 44 65 6c 61 79 20 66 6f 72 | ;Delay for| 00000e70 20 73 65 72 69 61 6c 20 73 65 6e 64 20 31 30 4d | serial send 10M| 00000e80 48 7a 20 63 6c 6f 63 6b 0a 30 30 32 46 20 20 20 |Hz clock.002F | 00000e90 30 30 38 45 20 20 20 6d 6f 76 77 66 20 20 43 64 |008E movwf Cd| 00000ea0 6f 77 6e 20 20 20 20 20 20 20 20 20 20 3b 20 31 |own ; 1| 00000eb0 39 2c 32 30 30 20 42 61 75 64 20 72 61 74 65 0a |9,200 Baud rate.| 00000ec0 44 6c 6f 6f 70 3a 0a 30 30 33 30 20 20 20 30 42 |Dloop:.0030 0B| 00000ed0 38 45 20 20 20 64 65 63 66 73 7a 20 43 64 6f 77 |8E decfsz Cdow| 00000ee0 6e 2c 66 20 20 20 20 20 20 20 20 0a 30 30 33 31 |n,f .0031| 00000ef0 20 20 20 32 38 33 30 20 20 20 67 6f 74 6f 20 20 | 2830 goto | 00000f00 20 44 6c 6f 6f 70 20 20 20 20 20 20 20 20 20 20 | Dloop | 00000f10 0a 30 30 33 32 20 20 20 30 30 30 38 20 20 20 72 |.0032 0008 r| 00000f20 65 74 75 72 6e 20 20 20 20 20 20 20 20 20 20 20 |eturn | 00000f30 20 20 20 20 20 0a 0a 0a 53 74 61 72 74 3a 0a 0a | ...Start:..| 00000f40 30 30 33 33 20 20 20 31 36 38 33 20 20 20 62 73 |0033 1683 bs| 00000f50 66 20 20 20 20 53 54 41 54 55 53 2c 52 50 30 20 |f STATUS,RP0 | 00000f60 20 20 20 20 3b 53 45 4c 45 43 54 20 52 45 47 49 | ;SELECT REGI| 00000f70 53 54 45 52 20 42 41 4e 4b 20 31 0a 30 30 33 34 |STER BANK 1.0034| 00000f80 20 20 20 33 30 31 41 20 20 20 6d 6f 76 6c 77 20 | 301A movlw | 00000f90 20 31 41 68 20 20 20 20 20 20 20 20 20 20 20 20 | 1Ah | 00000fa0 3b 42 69 74 73 20 34 2c 33 20 26 20 32 20 69 6e |;Bits 4,3 & 2 in| 00000fb0 70 75 74 73 0a 30 30 33 35 20 20 20 30 30 38 35 |puts.0035 0085| 00000fc0 20 20 20 6d 6f 76 77 66 20 20 54 52 49 53 41 5e | movwf TRISA^| 00000fd0 38 30 48 20 20 20 20 20 20 0a 30 30 33 36 20 20 |80H .0036 | 00000fe0 20 31 32 38 33 20 20 20 62 63 66 20 20 20 20 53 | 1283 bcf S| 00000ff0 54 41 54 55 53 2c 52 50 30 20 20 20 20 20 3b 53 |TATUS,RP0 ;S| 00001000 45 4c 45 43 54 20 52 45 47 49 53 54 45 52 20 42 |ELECT REGISTER B| 00001010 41 4e 4b 20 30 0a 30 30 33 37 20 20 20 31 41 30 |ANK 0.0037 1A0| 00001020 35 20 20 20 62 74 66 73 63 20 20 50 4f 52 54 41 |5 btfsc PORTA| 00001030 2c 34 20 20 20 20 20 20 20 20 3b 53 65 65 20 69 |,4 ;See i| 00001040 66 20 69 6e 20 69 6e 70 75 74 20 6f 72 20 6f 75 |f in input or ou| 00001050 74 70 75 74 20 6d 6f 64 65 0a 30 30 33 38 20 20 |tput mode.0038 | 00001060 20 32 38 34 36 20 20 20 67 6f 74 6f 20 20 20 49 | 2846 goto I| 00001070 6e 4c 6f 6f 70 20 20 20 20 20 20 20 20 20 0a 0a |nLoop ..| 00001080 30 30 33 39 20 20 20 31 36 38 33 20 20 20 62 73 |0039 1683 bs| 00001090 66 20 20 20 20 53 54 41 54 55 53 2c 52 50 30 20 |f STATUS,RP0 | 000010a0 20 20 20 20 3b 53 45 4c 45 43 54 20 52 45 47 49 | ;SELECT REGI| 000010b0 53 54 45 52 20 42 41 4e 4b 20 31 0a 0a 30 30 33 |STER BANK 1..003| 000010c0 41 20 20 20 33 30 30 30 20 20 20 6d 6f 76 6c 77 |A 3000 movlw| 000010d0 20 20 30 20 20 20 20 20 20 20 20 20 20 20 20 20 | 0 | 000010e0 20 3b 41 6c 6c 20 70 6f 72 74 20 42 20 74 6f 20 | ;All port B to | 000010f0 6f 75 74 70 75 74 73 0a 30 30 33 42 20 20 20 30 |outputs.003B 0| 00001100 30 38 36 20 20 20 6d 6f 76 77 66 20 20 54 52 49 |086 movwf TRI| 00001110 53 42 5e 38 30 48 20 20 20 20 20 20 0a 30 30 33 |SB^80H .003| 00001120 43 20 20 20 31 32 38 33 20 20 20 62 63 66 20 20 |C 1283 bcf | 00001130 20 20 53 54 41 54 55 53 2c 52 50 30 20 20 20 20 | STATUS,RP0 | 00001140 20 3b 53 45 4c 45 43 54 20 52 45 47 49 53 54 45 | ;SELECT REGISTE| 00001150 52 20 42 41 4e 4b 20 30 0a 0a 30 30 33 44 20 20 |R BANK 0..003D | 00001160 20 31 34 30 35 20 20 20 62 73 66 20 20 20 20 50 | 1405 bsf P| 00001170 4f 52 54 41 2c 30 20 20 20 20 20 20 20 20 3b 53 |ORTA,0 ;S| 00001180 65 72 69 61 6c 20 61 74 20 4d 61 72 6b 0a 0a 30 |erial at Mark..0| 00001190 30 33 45 20 20 20 31 35 30 35 20 20 20 62 73 66 |03E 1505 bsf| 000011a0 20 20 20 20 50 4f 52 54 41 2c 63 74 73 20 20 20 | PORTA,cts | 000011b0 20 20 20 3b 43 54 53 20 64 69 73 61 62 6c 65 64 | ;CTS disabled| 000011c0 0a 0a 0a 6f 75 74 4d 61 69 6e 3a 0a 0a 30 30 33 |...outMain:..003| 000011d0 46 20 20 20 32 30 30 31 20 20 20 63 61 6c 6c 20 |F 2001 call | 000011e0 20 20 52 78 20 20 20 20 20 20 20 20 20 20 20 20 | Rx | 000011f0 20 3b 47 65 74 20 62 79 74 65 20 74 6f 20 6f 75 | ;Get byte to ou| 00001200 74 70 75 74 0a 30 30 34 30 20 20 20 30 38 30 46 |tput.0040 080F| 00001210 20 20 20 6d 6f 76 66 20 20 20 72 42 75 66 2c 77 | movf rBuf,w| 00001220 20 20 20 20 20 20 20 20 20 3b 42 79 74 65 20 74 | ;Byte t| 00001230 6f 20 73 65 6e 64 0a 30 30 34 31 20 20 20 30 30 |o send.0041 00| 00001240 38 36 20 20 20 6d 6f 76 77 66 20 20 50 4f 52 54 |86 movwf PORT| 00001250 42 20 20 20 20 20 20 20 20 20 20 3b 4f 75 74 70 |B ;Outp| 00001260 75 74 20 69 74 0a 30 30 34 32 20 20 20 30 38 30 |ut it.0042 080| 00001270 36 20 20 20 6d 6f 76 66 20 20 20 50 4f 52 54 42 |6 movf PORTB| 00001280 2c 77 20 20 20 20 20 20 20 20 3b 47 65 74 20 6f |,w ;Get o| 00001290 75 74 70 75 74 20 73 74 61 74 65 0a 30 30 34 33 |utput state.0043| 000012a0 20 20 20 30 30 38 43 20 20 20 6d 6f 76 77 66 20 | 008C movwf | 000012b0 20 73 42 75 66 20 20 20 20 20 20 20 20 20 20 20 | sBuf | 000012c0 3b 52 65 61 64 79 20 74 6f 20 6f 75 74 70 75 74 |;Ready to output| 000012d0 20 69 74 0a 30 30 34 34 20 20 20 32 30 31 31 20 | it.0044 2011 | 000012e0 20 20 63 61 6c 6c 20 20 20 53 65 6e 64 20 20 20 | call Send | 000012f0 20 20 20 20 20 20 20 20 3b 53 65 6e 64 20 69 74 | ;Send it| 00001300 20 62 61 63 6b 20 74 6f 20 63 6f 6d 70 75 74 65 | back to compute| 00001310 72 0a 30 30 34 35 20 20 20 32 38 33 46 20 20 20 |r.0045 283F | 00001320 67 6f 74 6f 20 20 20 6f 75 74 4d 61 69 6e 20 20 |goto outMain | 00001330 20 20 20 20 20 20 0a 0a 49 6e 4c 6f 6f 70 3a 0a | ..InLoop:.| 00001340 0a 0a 30 30 34 36 20 20 20 31 36 38 33 20 20 20 |..0046 1683 | 00001350 62 73 66 20 20 20 20 53 54 41 54 55 53 2c 52 50 |bsf STATUS,RP| 00001360 30 20 20 20 20 20 3b 53 45 4c 45 43 54 20 52 45 |0 ;SELECT RE| 00001370 47 49 53 54 45 52 20 42 41 4e 4b 20 31 0a 0a 30 |GISTER BANK 1..0| 00001380 30 34 37 20 20 20 33 30 46 46 20 20 20 6d 6f 76 |047 30FF mov| 00001390 6c 77 20 20 30 66 66 68 20 20 20 20 20 20 20 20 |lw 0ffh | 000013a0 20 20 20 3b 41 6c 6c 20 70 6f 72 74 20 42 20 74 | ;All port B t| 000013b0 6f 20 69 6e 70 75 74 73 0a 30 30 34 38 20 20 20 |o inputs.0048 | 000013c0 30 30 38 36 20 20 20 6d 6f 76 77 66 20 20 54 52 |0086 movwf TR| 000013d0 49 53 42 5e 38 30 48 20 20 20 20 20 20 0a 30 30 |ISB^80H .00| 000013e0 34 39 20 20 20 31 33 38 31 20 20 20 62 63 66 20 |49 1381 bcf | 000013f0 20 20 20 31 2c 37 20 20 20 20 20 20 20 20 20 20 | 1,7 | 00001400 20 20 3b 45 6e 61 62 6c 65 20 70 75 6c 6c 20 75 | ;Enable pull u| 00001410 70 20 72 65 73 69 73 74 6f 72 73 0a 30 30 34 41 |p resistors.004A| 00001420 20 20 20 31 32 38 33 20 20 20 62 63 66 20 20 20 | 1283 bcf | 00001430 20 53 54 41 54 55 53 2c 52 50 30 20 20 20 20 20 | STATUS,RP0 | 00001440 3b 53 45 4c 45 43 54 20 52 45 47 49 53 54 45 52 |;SELECT REGISTER| 00001450 20 42 41 4e 4b 20 30 0a 0a 30 30 34 42 20 20 20 | BANK 0..004B | 00001460 31 34 30 35 20 20 20 62 73 66 20 20 20 20 50 4f |1405 bsf PO| 00001470 52 54 41 2c 30 20 20 20 20 20 20 20 20 3b 53 65 |RTA,0 ;Se| 00001480 72 69 61 6c 20 61 74 20 4d 61 72 6b 0a 0a 30 30 |rial at Mark..00| 00001490 34 43 20 20 20 31 35 30 35 20 20 20 62 73 66 20 |4C 1505 bsf | 000014a0 20 20 20 50 4f 52 54 41 2c 63 74 73 20 20 20 20 | PORTA,cts | 000014b0 20 20 3b 43 54 53 20 64 69 73 61 62 6c 65 64 0a | ;CTS disabled.| 000014c0 0a 0a 69 6e 4d 61 69 6e 3a 0a 0a 30 30 34 44 20 |..inMain:..004D | 000014d0 20 20 32 30 30 31 20 20 20 63 61 6c 6c 20 20 20 | 2001 call | 000014e0 52 78 20 20 20 20 20 20 20 20 20 20 20 20 20 3b |Rx ;| 000014f0 47 65 74 20 62 79 74 65 20 74 6f 20 69 6e 69 74 |Get byte to init| 00001500 69 61 74 65 20 72 65 61 64 0a 30 30 34 45 20 20 |iate read.004E | 00001510 20 30 38 30 36 20 20 20 6d 6f 76 66 20 20 20 50 | 0806 movf P| 00001520 4f 52 54 42 2c 77 20 20 20 20 20 20 20 20 3b 47 |ORTB,w ;G| 00001530 65 74 20 69 6e 70 75 74 20 73 74 61 74 65 0a 30 |et input state.0| 00001540 30 34 46 20 20 20 30 30 38 43 20 20 20 6d 6f 76 |04F 008C mov| 00001550 77 66 20 20 73 42 75 66 20 20 20 20 20 20 20 20 |wf sBuf | 00001560 20 20 20 3b 52 65 61 64 79 20 74 6f 20 6f 75 74 | ;Ready to out| 00001570 70 75 74 20 69 74 0a 30 30 35 30 20 20 20 32 30 |put it.0050 20| 00001580 31 31 20 20 20 63 61 6c 6c 20 20 20 53 65 6e 64 |11 call Send| 00001590 20 20 20 20 20 20 20 20 20 20 20 3b 53 65 6e 64 | ;Send| 000015a0 20 69 74 20 62 61 63 6b 20 74 6f 20 63 6f 6d 70 | it back to comp| 000015b0 75 74 65 72 0a 30 30 35 31 20 20 20 32 38 34 44 |uter.0051 284D| 000015c0 20 20 20 67 6f 74 6f 20 20 20 69 6e 4d 61 69 6e | goto inMain| 000015d0 20 20 20 20 20 20 20 20 20 0a 0a 65 6e 64 0a 0a | ..end..| 000015e0 4d 65 6d 6f 72 79 20 55 73 61 67 65 20 4d 61 70 |Memory Usage Map| 000015f0 20 28 27 58 27 20 3d 20 55 73 65 64 2c 20 27 2d | ('X' = Used, '-| 00001600 27 20 3d 20 55 6e 75 73 65 64 29 0a 0a 30 30 30 |' = Unused)..000| 00001610 30 20 20 20 3a 20 58 58 58 58 58 58 58 58 58 58 |0 : XXXXXXXXXX| 00001620 58 58 58 58 58 58 20 58 58 58 58 58 58 58 58 58 |XXXXXX XXXXXXXXX| 00001630 58 58 58 58 58 58 58 20 58 58 58 58 58 58 58 58 |XXXXXXX XXXXXXXX| 00001640 58 58 58 58 58 58 58 58 20 58 58 58 58 58 58 58 |XXXXXXXX XXXXXXX| 00001650 58 58 58 58 58 58 58 58 58 0a 30 30 34 30 20 20 |XXXXXXXXX.0040 | 00001660 20 3a 20 58 58 58 58 58 58 58 2d 58 58 58 58 58 | : XXXXXXX-XXXXX| 00001670 58 58 58 20 58 58 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |XXX XX----------| 00001680 2d 2d 2d 2d 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |---- -----------| 00001690 2d 2d 2d 2d 2d 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----- ----------| 000016a0 2d 2d 2d 2d 2d 2d 0a 0a 33 33 20 4c 61 62 6c 65 |------..33 Lable| 000016b0 73 20 26 20 43 6f 6e 73 74 61 6e 74 73 3a 2d 0a |s & Constants:-.| 000016c0 48 65 78 20 20 20 20 4e 61 6d 65 0a 30 30 30 30 |Hex Name.0000| 000016d0 20 20 20 43 0a 30 30 30 32 20 20 20 50 43 4c 0a | C.0002 PCL.| 000016e0 30 30 30 32 20 20 20 5a 0a 30 30 30 36 20 20 20 |0002 Z.0006 | 000016f0 50 4f 52 54 42 0a 30 30 30 35 20 20 20 50 4f 52 |PORTB.0005 POR| 00001700 54 41 0a 30 30 38 36 20 20 20 54 52 49 53 42 0a |TA.0086 TRISB.| 00001710 30 30 38 35 20 20 20 54 52 49 53 41 0a 30 30 38 |0085 TRISA.008| 00001720 38 20 20 20 45 45 43 4f 4e 31 0a 30 30 30 38 20 |8 EECON1.0008 | 00001730 20 20 45 45 44 41 54 41 0a 30 30 30 39 20 20 20 | EEDATA.0009 | 00001740 45 45 41 44 52 0a 30 30 30 33 20 20 20 53 54 41 |EEADR.0003 STA| 00001750 54 55 53 0a 30 30 30 35 20 20 20 52 50 30 0a 30 |TUS.0005 RP0.0| 00001760 30 30 31 20 20 20 49 4e 43 0a 30 30 30 32 20 20 |001 INC.0002 | 00001770 20 63 74 73 0a 30 30 30 33 20 20 20 72 74 73 0a | cts.0003 rts.| 00001780 30 30 30 43 20 20 20 73 42 75 66 0a 30 30 30 44 |000C sBuf.000D| 00001790 20 20 20 53 63 6f 75 6e 74 0a 30 30 30 45 20 20 | Scount.000E | 000017a0 20 43 64 6f 77 6e 0a 30 30 30 46 20 20 20 72 42 | Cdown.000F rB| 000017b0 75 66 0a 30 30 30 31 20 20 20 52 78 0a 30 30 30 |uf.0001 Rx.000| 000017c0 34 20 20 20 53 62 0a 30 30 30 38 20 20 20 52 6e |4 Sb.0008 Rn| 000017d0 62 0a 30 30 31 31 20 20 20 53 65 6e 64 0a 30 30 |b.0011 Send.00| 000017e0 31 37 20 20 20 53 6c 6f 6f 70 0a 30 30 32 35 20 |17 Sloop.0025 | 000017f0 20 20 63 44 65 6c 61 79 0a 30 30 32 38 20 20 20 | cDelay.0028 | 00001800 68 44 65 6c 61 79 0a 30 30 32 42 20 20 20 72 44 |hDelay.002B rD| 00001810 65 6c 61 79 0a 30 30 32 45 20 20 20 44 65 6c 61 |elay.002E Dela| 00001820 79 0a 30 30 33 30 20 20 20 44 6c 6f 6f 70 0a 30 |y.0030 Dloop.0| 00001830 30 33 33 20 20 20 53 74 61 72 74 0a 30 30 33 46 |033 Start.003F| 00001840 20 20 20 6f 75 74 4d 61 69 6e 0a 30 30 34 36 20 | outMain.0046 | 00001850 20 20 49 6e 4c 6f 6f 70 0a 30 30 34 44 20 20 20 | InLoop.004D | 00001860 69 6e 4d 61 69 6e 0a 0a 30 20 45 72 72 6f 72 73 |inMain..0 Errors| 00001870