Home » Archimedes archive » Acorn User » AU 1997-10 A.adf » Extras » Apple][e/PD/PIC/!PICbasic/Docs/16CxxSet

Apple][e/PD/PIC/!PICbasic/Docs/16CxxSet

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 1997-10 A.adf » Extras
Filename: Apple][e/PD/PIC/!PICbasic/Docs/16CxxSet
Read OK:
File size: 165E bytes
Load address: 0000
Exec address: 0000
File contents
16Cxx instruction set
=====================
Byte oriented file register operations
======================================
Columns are in order :Binary;Hex;Mnemonic;Description

00 0111 dfff ffff   07ff ADDWF  f,d        Add W and f
00 0101 dfff ffff   05ff ANDWF  f,d        AND W and f
00 0001 1fff ffff   018f CLRF   f          Clear f
00 0001 0xxx xxxx   0100 CLRW              Clear W
00 1001 dfff ffff   09ff COMF   f,d        Complement f
00 0011 dfff ffff   03ff DECF   f,d        Decrement f
00 1011 dfff ffff   0Bff DECFSZ f,d        Decrement f skip if zero
00 1010 dfff ffff   0Aff INCF   f,d        Increment f
00 1111 dfff ffff   0Fff INCFSZ f,d        Increment f, skip if zero
00 0100 dfff ffff   04ff IORWF  f,d        Inclusive OR W and f
00 1000 dfff ffff   08ff MOVF   f,d        Move f
00 0000 1fff ffff   008f MOVWF  f          Move W to f
00 0000 0xx0 0000   0000 NOP               No operation
00 1101 dfff ffff   0Dff RLF    f,d        Rotate left f
00 1100 dfff ffff   0Cff RRF    f,d        Rotate right f
00 0010 dfff ffff   02ff SUBWF  f,d        Subtract W from f
00 1110 dfff ffff   0Eff SWAPF  f,d        Swap halves f
00 0110 dfff ffff   06ff XORWF  f,d        Exclusive OR W and f

Bit oriented file register operations
=====================================
Columns are in order :Binary;Hex;Mnemonic;Description

01 00bb bfff ffff   1bff BCF    f,b        Bit clear f
01 01bb bfff ffff   1bff BSF    f,b        Bit set f
01 10bb bfff ffff   1bff BTFSC  f,b        Bit test, skip if clear  
01 11bb bfff ffff   1bff BTFSS  f,b        Bit test, skip if set

Literal and control operations
==============================
Columns are in order :Binary;Hex;Mnemonic;Description

11 111x kkkk kkkk   3Ekk ADDLW  k          Add literal to W
11 1001 kkkk kkkk   39kk ANDLW  k          And literal and W
10 0kkk kkkk kkkk   2kkk CALL   k          Call subroutine
00 0000 0110 0100   0064 CLRWDT            Clear watch dog timer
10 1kkk kkkk kkkk   2kkk GOTO   k          Goto address  k
11 1000 kkkk kkkk   38kk IORLW  k          Inclusive OR literal and W
11 00xx kkkk kkkk   30kk MOVLW  k          Move Literal to W
00 0000 0110 0010   0062 OPTION            Load OPTION register with W
00 0000 0000 1001   0009 RETFIE            Return from Interrupt
11 01xx kkkk kkkk   34kk RETLW  k          Return with literal in W
00 0000 0000 1000   0008 RETURN            Return from subroutine
00 0000 0110 0011   0063 SLEEP             Go into stand by mode
11 110x kkkk kkkk   3Ckk SUBLW  k          Subtract W from literal
00 0000 0110 0fff   006f TRIS   f          Tristate port f
11 1010 kkkk kkkk   3Akk XORLW  k          Exclusive OR literal and W

Special instruction mnemonics
=============================
Columns are in order :Name;Mnemonic;EquivalentOperation(s);Status after call    

Clear Carry                CLRC          BCF      3,0                                    -
Clear Digit Carry          CLRDC         BCF      3,1                                    -
Set Digit Carry            SETDC         BSF      3,1                                    -
Clear Zero                 CLRZ          BCF      3,2                                    -
Set Zero                   SETZ          BSF      3,2                                    -
Skip on Carry              SKPC          BTFSS    3,0                                    -
Skip on No Carry           SKPNC         BTFSC    3,0                                    -
Skip on Digit Carry        SKPDC         BTFSS    3,1                                    -
Skip on No Digit Carry     SKPNDC        BTFSC    3,1                                    -
Skip on Zero               SKPZ          BTFSS    3,2                                    -
Skip on Non Zero           SKPNZ         BTFSC    3,2                                    -
Test File                  TSTF f        MOVF     f,1                                    Z
Move File to W             MOVFW f       MOVF     f,0                                    Z
Negate File                NEGF f,d      COMF     f,1  INCF     f,d                      Z
Add Carry to File          ADDCF f,d     BTFSC    3,0  INCF     f,d                      Z
Subtract Carry from File   SUBCF f,d     BTFSC    3,0  DECF     f,d                      Z
Add Digit Carry to File    ADDDCF f,d    BTFSC    3,1  INCF     f,d                      Z
Subtract DigitCarry from File            SUBDCF f,d    BTFSC    3,1   DECF     f,d       Z
Branch                     B k           GOTO     k                                      -
Branch on Carry            BC k          BTFSC    3,0  GOTO     k                        -
Branch on No Carry         BNC k         BTFSS    3,0  GOTO     k                        -
Branch on Digit Carry      BDC k         BTFSC    3,1  GOTO     k                        -
Branch on No Digit Carry   BNDC k        BTFSS    3,1  GOTO     k                        -
Branch on Zero             BZ k          BTFSC    3,2  GOTO     k                        -
Branch on Non Zero         BNZ k         BTFSS    3,2  GOTO     k                        -
Call across page boundary  LCALL k       BCF 3,5                                         -
                                         or BSF 3,5    BCF 3,6                           -
                                         or BSF 3,6    CALL     k                        -

Additional notes
================

Where f=file register in the range of &00 to &7F (depending on hardware)
If d=0 then result of operation is stored in W
   d=1 then result of operation is stored in file f

For 16C71 series RESET VECTOR is at &0000
                 INTERRUPT VECTOR is at &0004
                 PROGRAM SPACE starts at &0005 to &03FF (1k)





00000000  31 36 43 78 78 20 69 6e  73 74 72 75 63 74 69 6f  |16Cxx instructio|
00000010  6e 20 73 65 74 0a 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |n set.==========|
00000020  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 0a 42 79 74 65  |===========.Byte|
00000030  20 6f 72 69 65 6e 74 65  64 20 66 69 6c 65 20 72  | oriented file r|
00000040  65 67 69 73 74 65 72 20  6f 70 65 72 61 74 69 6f  |egister operatio|
00000050  6e 73 0a 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |ns.=============|
00000060  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
00000070  3d 3d 3d 3d 3d 3d 3d 3d  3d 0a 43 6f 6c 75 6d 6e  |=========.Column|
00000080  73 20 61 72 65 20 69 6e  20 6f 72 64 65 72 20 3a  |s are in order :|
00000090  42 69 6e 61 72 79 3b 48  65 78 3b 4d 6e 65 6d 6f  |Binary;Hex;Mnemo|
000000a0  6e 69 63 3b 44 65 73 63  72 69 70 74 69 6f 6e 0a  |nic;Description.|
000000b0  0a 30 30 20 30 31 31 31  20 64 66 66 66 20 66 66  |.00 0111 dfff ff|
000000c0  66 66 20 20 20 30 37 66  66 20 41 44 44 57 46 20  |ff   07ff ADDWF |
000000d0  20 66 2c 64 20 20 20 20  20 20 20 20 41 64 64 20  | f,d        Add |
000000e0  57 20 61 6e 64 20 66 0a  30 30 20 30 31 30 31 20  |W and f.00 0101 |
000000f0  64 66 66 66 20 66 66 66  66 20 20 20 30 35 66 66  |dfff ffff   05ff|
00000100  20 41 4e 44 57 46 20 20  66 2c 64 20 20 20 20 20  | ANDWF  f,d     |
00000110  20 20 20 41 4e 44 20 57  20 61 6e 64 20 66 0a 30  |   AND W and f.0|
00000120  30 20 30 30 30 31 20 31  66 66 66 20 66 66 66 66  |0 0001 1fff ffff|
00000130  20 20 20 30 31 38 66 20  43 4c 52 46 20 20 20 66  |   018f CLRF   f|
00000140  20 20 20 20 20 20 20 20  20 20 43 6c 65 61 72 20  |          Clear |
00000150  66 0a 30 30 20 30 30 30  31 20 30 78 78 78 20 78  |f.00 0001 0xxx x|
00000160  78 78 78 20 20 20 30 31  30 30 20 43 4c 52 57 20  |xxx   0100 CLRW |
00000170  20 20 20 20 20 20 20 20  20 20 20 20 20 43 6c 65  |             Cle|
00000180  61 72 20 57 0a 30 30 20  31 30 30 31 20 64 66 66  |ar W.00 1001 dff|
00000190  66 20 66 66 66 66 20 20  20 30 39 66 66 20 43 4f  |f ffff   09ff CO|
000001a0  4d 46 20 20 20 66 2c 64  20 20 20 20 20 20 20 20  |MF   f,d        |
000001b0  43 6f 6d 70 6c 65 6d 65  6e 74 20 66 0a 30 30 20  |Complement f.00 |
000001c0  30 30 31 31 20 64 66 66  66 20 66 66 66 66 20 20  |0011 dfff ffff  |
000001d0  20 30 33 66 66 20 44 45  43 46 20 20 20 66 2c 64  | 03ff DECF   f,d|
000001e0  20 20 20 20 20 20 20 20  44 65 63 72 65 6d 65 6e  |        Decremen|
000001f0  74 20 66 0a 30 30 20 31  30 31 31 20 64 66 66 66  |t f.00 1011 dfff|
00000200  20 66 66 66 66 20 20 20  30 42 66 66 20 44 45 43  | ffff   0Bff DEC|
00000210  46 53 5a 20 66 2c 64 20  20 20 20 20 20 20 20 44  |FSZ f,d        D|
00000220  65 63 72 65 6d 65 6e 74  20 66 20 73 6b 69 70 20  |ecrement f skip |
00000230  69 66 20 7a 65 72 6f 0a  30 30 20 31 30 31 30 20  |if zero.00 1010 |
00000240  64 66 66 66 20 66 66 66  66 20 20 20 30 41 66 66  |dfff ffff   0Aff|
00000250  20 49 4e 43 46 20 20 20  66 2c 64 20 20 20 20 20  | INCF   f,d     |
00000260  20 20 20 49 6e 63 72 65  6d 65 6e 74 20 66 0a 30  |   Increment f.0|
00000270  30 20 31 31 31 31 20 64  66 66 66 20 66 66 66 66  |0 1111 dfff ffff|
00000280  20 20 20 30 46 66 66 20  49 4e 43 46 53 5a 20 66  |   0Fff INCFSZ f|
00000290  2c 64 20 20 20 20 20 20  20 20 49 6e 63 72 65 6d  |,d        Increm|
000002a0  65 6e 74 20 66 2c 20 73  6b 69 70 20 69 66 20 7a  |ent f, skip if z|
000002b0  65 72 6f 0a 30 30 20 30  31 30 30 20 64 66 66 66  |ero.00 0100 dfff|
000002c0  20 66 66 66 66 20 20 20  30 34 66 66 20 49 4f 52  | ffff   04ff IOR|
000002d0  57 46 20 20 66 2c 64 20  20 20 20 20 20 20 20 49  |WF  f,d        I|
000002e0  6e 63 6c 75 73 69 76 65  20 4f 52 20 57 20 61 6e  |nclusive OR W an|
000002f0  64 20 66 0a 30 30 20 31  30 30 30 20 64 66 66 66  |d f.00 1000 dfff|
00000300  20 66 66 66 66 20 20 20  30 38 66 66 20 4d 4f 56  | ffff   08ff MOV|
00000310  46 20 20 20 66 2c 64 20  20 20 20 20 20 20 20 4d  |F   f,d        M|
00000320  6f 76 65 20 66 0a 30 30  20 30 30 30 30 20 31 66  |ove f.00 0000 1f|
00000330  66 66 20 66 66 66 66 20  20 20 30 30 38 66 20 4d  |ff ffff   008f M|
00000340  4f 56 57 46 20 20 66 20  20 20 20 20 20 20 20 20  |OVWF  f         |
00000350  20 4d 6f 76 65 20 57 20  74 6f 20 66 0a 30 30 20  | Move W to f.00 |
00000360  30 30 30 30 20 30 78 78  30 20 30 30 30 30 20 20  |0000 0xx0 0000  |
00000370  20 30 30 30 30 20 4e 4f  50 20 20 20 20 20 20 20  | 0000 NOP       |
00000380  20 20 20 20 20 20 20 20  4e 6f 20 6f 70 65 72 61  |        No opera|
00000390  74 69 6f 6e 0a 30 30 20  31 31 30 31 20 64 66 66  |tion.00 1101 dff|
000003a0  66 20 66 66 66 66 20 20  20 30 44 66 66 20 52 4c  |f ffff   0Dff RL|
000003b0  46 20 20 20 20 66 2c 64  20 20 20 20 20 20 20 20  |F    f,d        |
000003c0  52 6f 74 61 74 65 20 6c  65 66 74 20 66 0a 30 30  |Rotate left f.00|
000003d0  20 31 31 30 30 20 64 66  66 66 20 66 66 66 66 20  | 1100 dfff ffff |
000003e0  20 20 30 43 66 66 20 52  52 46 20 20 20 20 66 2c  |  0Cff RRF    f,|
000003f0  64 20 20 20 20 20 20 20  20 52 6f 74 61 74 65 20  |d        Rotate |
00000400  72 69 67 68 74 20 66 0a  30 30 20 30 30 31 30 20  |right f.00 0010 |
00000410  64 66 66 66 20 66 66 66  66 20 20 20 30 32 66 66  |dfff ffff   02ff|
00000420  20 53 55 42 57 46 20 20  66 2c 64 20 20 20 20 20  | SUBWF  f,d     |
00000430  20 20 20 53 75 62 74 72  61 63 74 20 57 20 66 72  |   Subtract W fr|
00000440  6f 6d 20 66 0a 30 30 20  31 31 31 30 20 64 66 66  |om f.00 1110 dff|
00000450  66 20 66 66 66 66 20 20  20 30 45 66 66 20 53 57  |f ffff   0Eff SW|
00000460  41 50 46 20 20 66 2c 64  20 20 20 20 20 20 20 20  |APF  f,d        |
00000470  53 77 61 70 20 68 61 6c  76 65 73 20 66 0a 30 30  |Swap halves f.00|
00000480  20 30 31 31 30 20 64 66  66 66 20 66 66 66 66 20  | 0110 dfff ffff |
00000490  20 20 30 36 66 66 20 58  4f 52 57 46 20 20 66 2c  |  06ff XORWF  f,|
000004a0  64 20 20 20 20 20 20 20  20 45 78 63 6c 75 73 69  |d        Exclusi|
000004b0  76 65 20 4f 52 20 57 20  61 6e 64 20 66 0a 0a 42  |ve OR W and f..B|
000004c0  69 74 20 6f 72 69 65 6e  74 65 64 20 66 69 6c 65  |it oriented file|
000004d0  20 72 65 67 69 73 74 65  72 20 6f 70 65 72 61 74  | register operat|
000004e0  69 6f 6e 73 0a 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |ions.===========|
000004f0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
00000500  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 0a 43 6f 6c 75 6d  |==========.Colum|
00000510  6e 73 20 61 72 65 20 69  6e 20 6f 72 64 65 72 20  |ns are in order |
00000520  3a 42 69 6e 61 72 79 3b  48 65 78 3b 4d 6e 65 6d  |:Binary;Hex;Mnem|
00000530  6f 6e 69 63 3b 44 65 73  63 72 69 70 74 69 6f 6e  |onic;Description|
00000540  0a 0a 30 31 20 30 30 62  62 20 62 66 66 66 20 66  |..01 00bb bfff f|
00000550  66 66 66 20 20 20 31 62  66 66 20 42 43 46 20 20  |fff   1bff BCF  |
00000560  20 20 66 2c 62 20 20 20  20 20 20 20 20 42 69 74  |  f,b        Bit|
00000570  20 63 6c 65 61 72 20 66  0a 30 31 20 30 31 62 62  | clear f.01 01bb|
00000580  20 62 66 66 66 20 66 66  66 66 20 20 20 31 62 66  | bfff ffff   1bf|
00000590  66 20 42 53 46 20 20 20  20 66 2c 62 20 20 20 20  |f BSF    f,b    |
000005a0  20 20 20 20 42 69 74 20  73 65 74 20 66 0a 30 31  |    Bit set f.01|
000005b0  20 31 30 62 62 20 62 66  66 66 20 66 66 66 66 20  | 10bb bfff ffff |
000005c0  20 20 31 62 66 66 20 42  54 46 53 43 20 20 66 2c  |  1bff BTFSC  f,|
000005d0  62 20 20 20 20 20 20 20  20 42 69 74 20 74 65 73  |b        Bit tes|
000005e0  74 2c 20 73 6b 69 70 20  69 66 20 63 6c 65 61 72  |t, skip if clear|
000005f0  20 20 0a 30 31 20 31 31  62 62 20 62 66 66 66 20  |  .01 11bb bfff |
00000600  66 66 66 66 20 20 20 31  62 66 66 20 42 54 46 53  |ffff   1bff BTFS|
00000610  53 20 20 66 2c 62 20 20  20 20 20 20 20 20 42 69  |S  f,b        Bi|
00000620  74 20 74 65 73 74 2c 20  73 6b 69 70 20 69 66 20  |t test, skip if |
00000630  73 65 74 0a 0a 4c 69 74  65 72 61 6c 20 61 6e 64  |set..Literal and|
00000640  20 63 6f 6e 74 72 6f 6c  20 6f 70 65 72 61 74 69  | control operati|
00000650  6f 6e 73 0a 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |ons.============|
00000660  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
00000670  3d 3d 0a 43 6f 6c 75 6d  6e 73 20 61 72 65 20 69  |==.Columns are i|
00000680  6e 20 6f 72 64 65 72 20  3a 42 69 6e 61 72 79 3b  |n order :Binary;|
00000690  48 65 78 3b 4d 6e 65 6d  6f 6e 69 63 3b 44 65 73  |Hex;Mnemonic;Des|
000006a0  63 72 69 70 74 69 6f 6e  0a 0a 31 31 20 31 31 31  |cription..11 111|
000006b0  78 20 6b 6b 6b 6b 20 6b  6b 6b 6b 20 20 20 33 45  |x kkkk kkkk   3E|
000006c0  6b 6b 20 41 44 44 4c 57  20 20 6b 20 20 20 20 20  |kk ADDLW  k     |
000006d0  20 20 20 20 20 41 64 64  20 6c 69 74 65 72 61 6c  |     Add literal|
000006e0  20 74 6f 20 57 0a 31 31  20 31 30 30 31 20 6b 6b  | to W.11 1001 kk|
000006f0  6b 6b 20 6b 6b 6b 6b 20  20 20 33 39 6b 6b 20 41  |kk kkkk   39kk A|
00000700  4e 44 4c 57 20 20 6b 20  20 20 20 20 20 20 20 20  |NDLW  k         |
00000710  20 41 6e 64 20 6c 69 74  65 72 61 6c 20 61 6e 64  | And literal and|
00000720  20 57 0a 31 30 20 30 6b  6b 6b 20 6b 6b 6b 6b 20  | W.10 0kkk kkkk |
00000730  6b 6b 6b 6b 20 20 20 32  6b 6b 6b 20 43 41 4c 4c  |kkkk   2kkk CALL|
00000740  20 20 20 6b 20 20 20 20  20 20 20 20 20 20 43 61  |   k          Ca|
00000750  6c 6c 20 73 75 62 72 6f  75 74 69 6e 65 0a 30 30  |ll subroutine.00|
00000760  20 30 30 30 30 20 30 31  31 30 20 30 31 30 30 20  | 0000 0110 0100 |
00000770  20 20 30 30 36 34 20 43  4c 52 57 44 54 20 20 20  |  0064 CLRWDT   |
00000780  20 20 20 20 20 20 20 20  20 43 6c 65 61 72 20 77  |         Clear w|
00000790  61 74 63 68 20 64 6f 67  20 74 69 6d 65 72 0a 31  |atch dog timer.1|
000007a0  30 20 31 6b 6b 6b 20 6b  6b 6b 6b 20 6b 6b 6b 6b  |0 1kkk kkkk kkkk|
000007b0  20 20 20 32 6b 6b 6b 20  47 4f 54 4f 20 20 20 6b  |   2kkk GOTO   k|
000007c0  20 20 20 20 20 20 20 20  20 20 47 6f 74 6f 20 61  |          Goto a|
000007d0  64 64 72 65 73 73 20 20  6b 0a 31 31 20 31 30 30  |ddress  k.11 100|
000007e0  30 20 6b 6b 6b 6b 20 6b  6b 6b 6b 20 20 20 33 38  |0 kkkk kkkk   38|
000007f0  6b 6b 20 49 4f 52 4c 57  20 20 6b 20 20 20 20 20  |kk IORLW  k     |
00000800  20 20 20 20 20 49 6e 63  6c 75 73 69 76 65 20 4f  |     Inclusive O|
00000810  52 20 6c 69 74 65 72 61  6c 20 61 6e 64 20 57 0a  |R literal and W.|
00000820  31 31 20 30 30 78 78 20  6b 6b 6b 6b 20 6b 6b 6b  |11 00xx kkkk kkk|
00000830  6b 20 20 20 33 30 6b 6b  20 4d 4f 56 4c 57 20 20  |k   30kk MOVLW  |
00000840  6b 20 20 20 20 20 20 20  20 20 20 4d 6f 76 65 20  |k          Move |
00000850  4c 69 74 65 72 61 6c 20  74 6f 20 57 0a 30 30 20  |Literal to W.00 |
00000860  30 30 30 30 20 30 31 31  30 20 30 30 31 30 20 20  |0000 0110 0010  |
00000870  20 30 30 36 32 20 4f 50  54 49 4f 4e 20 20 20 20  | 0062 OPTION    |
00000880  20 20 20 20 20 20 20 20  4c 6f 61 64 20 4f 50 54  |        Load OPT|
00000890  49 4f 4e 20 72 65 67 69  73 74 65 72 20 77 69 74  |ION register wit|
000008a0  68 20 57 0a 30 30 20 30  30 30 30 20 30 30 30 30  |h W.00 0000 0000|
000008b0  20 31 30 30 31 20 20 20  30 30 30 39 20 52 45 54  | 1001   0009 RET|
000008c0  46 49 45 20 20 20 20 20  20 20 20 20 20 20 20 52  |FIE            R|
000008d0  65 74 75 72 6e 20 66 72  6f 6d 20 49 6e 74 65 72  |eturn from Inter|
000008e0  72 75 70 74 0a 31 31 20  30 31 78 78 20 6b 6b 6b  |rupt.11 01xx kkk|
000008f0  6b 20 6b 6b 6b 6b 20 20  20 33 34 6b 6b 20 52 45  |k kkkk   34kk RE|
00000900  54 4c 57 20 20 6b 20 20  20 20 20 20 20 20 20 20  |TLW  k          |
00000910  52 65 74 75 72 6e 20 77  69 74 68 20 6c 69 74 65  |Return with lite|
00000920  72 61 6c 20 69 6e 20 57  0a 30 30 20 30 30 30 30  |ral in W.00 0000|
00000930  20 30 30 30 30 20 31 30  30 30 20 20 20 30 30 30  | 0000 1000   000|
00000940  38 20 52 45 54 55 52 4e  20 20 20 20 20 20 20 20  |8 RETURN        |
00000950  20 20 20 20 52 65 74 75  72 6e 20 66 72 6f 6d 20  |    Return from |
00000960  73 75 62 72 6f 75 74 69  6e 65 0a 30 30 20 30 30  |subroutine.00 00|
00000970  30 30 20 30 31 31 30 20  30 30 31 31 20 20 20 30  |00 0110 0011   0|
00000980  30 36 33 20 53 4c 45 45  50 20 20 20 20 20 20 20  |063 SLEEP       |
00000990  20 20 20 20 20 20 47 6f  20 69 6e 74 6f 20 73 74  |      Go into st|
000009a0  61 6e 64 20 62 79 20 6d  6f 64 65 0a 31 31 20 31  |and by mode.11 1|
000009b0  31 30 78 20 6b 6b 6b 6b  20 6b 6b 6b 6b 20 20 20  |10x kkkk kkkk   |
000009c0  33 43 6b 6b 20 53 55 42  4c 57 20 20 6b 20 20 20  |3Ckk SUBLW  k   |
000009d0  20 20 20 20 20 20 20 53  75 62 74 72 61 63 74 20  |       Subtract |
000009e0  57 20 66 72 6f 6d 20 6c  69 74 65 72 61 6c 0a 30  |W from literal.0|
000009f0  30 20 30 30 30 30 20 30  31 31 30 20 30 66 66 66  |0 0000 0110 0fff|
00000a00  20 20 20 30 30 36 66 20  54 52 49 53 20 20 20 66  |   006f TRIS   f|
00000a10  20 20 20 20 20 20 20 20  20 20 54 72 69 73 74 61  |          Trista|
00000a20  74 65 20 70 6f 72 74 20  66 0a 31 31 20 31 30 31  |te port f.11 101|
00000a30  30 20 6b 6b 6b 6b 20 6b  6b 6b 6b 20 20 20 33 41  |0 kkkk kkkk   3A|
00000a40  6b 6b 20 58 4f 52 4c 57  20 20 6b 20 20 20 20 20  |kk XORLW  k     |
00000a50  20 20 20 20 20 45 78 63  6c 75 73 69 76 65 20 4f  |     Exclusive O|
00000a60  52 20 6c 69 74 65 72 61  6c 20 61 6e 64 20 57 0a  |R literal and W.|
00000a70  0a 53 70 65 63 69 61 6c  20 69 6e 73 74 72 75 63  |.Special instruc|
00000a80  74 69 6f 6e 20 6d 6e 65  6d 6f 6e 69 63 73 0a 3d  |tion mnemonics.=|
00000a90  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |================|
00000aa0  3d 3d 3d 3d 3d 3d 3d 3d  3d 3d 3d 3d 0a 43 6f 6c  |============.Col|
00000ab0  75 6d 6e 73 20 61 72 65  20 69 6e 20 6f 72 64 65  |umns are in orde|
00000ac0  72 20 3a 4e 61 6d 65 3b  4d 6e 65 6d 6f 6e 69 63  |r :Name;Mnemonic|
00000ad0  3b 45 71 75 69 76 61 6c  65 6e 74 4f 70 65 72 61  |;EquivalentOpera|
00000ae0  74 69 6f 6e 28 73 29 3b  53 74 61 74 75 73 20 61  |tion(s);Status a|
00000af0  66 74 65 72 20 63 61 6c  6c 20 20 20 20 0a 0a 43  |fter call    ..C|
00000b00  6c 65 61 72 20 43 61 72  72 79 20 20 20 20 20 20  |lear Carry      |
00000b10  20 20 20 20 20 20 20 20  20 20 43 4c 52 43 20 20  |          CLRC  |
00000b20  20 20 20 20 20 20 20 20  42 43 46 20 20 20 20 20  |        BCF     |
00000b30  20 33 2c 30 20 20 20 20  20 20 20 20 20 20 20 20  | 3,0            |
00000b40  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000b50  20 20 20 20 20 20 20 20  2d 0a 43 6c 65 61 72 20  |        -.Clear |
00000b60  44 69 67 69 74 20 43 61  72 72 79 20 20 20 20 20  |Digit Carry     |
00000b70  20 20 20 20 20 43 4c 52  44 43 20 20 20 20 20 20  |     CLRDC      |
00000b80  20 20 20 42 43 46 20 20  20 20 20 20 33 2c 31 20  |   BCF      3,1 |
00000b90  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000bb0  20 20 20 2d 0a 53 65 74  20 44 69 67 69 74 20 43  |   -.Set Digit C|
00000bc0  61 72 72 79 20 20 20 20  20 20 20 20 20 20 20 20  |arry            |
00000bd0  53 45 54 44 43 20 20 20  20 20 20 20 20 20 42 53  |SETDC         BS|
00000be0  46 20 20 20 20 20 20 33  2c 31 20 20 20 20 20 20  |F      3,1      |
00000bf0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000c00  20 20 20 20 20 20 20 20  20 20 20 20 20 20 2d 0a  |              -.|
00000c10  43 6c 65 61 72 20 5a 65  72 6f 20 20 20 20 20 20  |Clear Zero      |
00000c20  20 20 20 20 20 20 20 20  20 20 20 43 4c 52 5a 20  |           CLRZ |
00000c30  20 20 20 20 20 20 20 20  20 42 43 46 20 20 20 20  |         BCF    |
00000c40  20 20 33 2c 32 20 20 20  20 20 20 20 20 20 20 20  |  3,2           |
00000c50  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000c60  20 20 20 20 20 20 20 20  20 2d 0a 53 65 74 20 5a  |         -.Set Z|
00000c70  65 72 6f 20 20 20 20 20  20 20 20 20 20 20 20 20  |ero             |
00000c80  20 20 20 20 20 20 53 45  54 5a 20 20 20 20 20 20  |      SETZ      |
00000c90  20 20 20 20 42 53 46 20  20 20 20 20 20 33 2c 32  |    BSF      3,2|
00000ca0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000cc0  20 20 20 20 2d 0a 53 6b  69 70 20 6f 6e 20 43 61  |    -.Skip on Ca|
00000cd0  72 72 79 20 20 20 20 20  20 20 20 20 20 20 20 20  |rry             |
00000ce0  20 53 4b 50 43 20 20 20  20 20 20 20 20 20 20 42  | SKPC          B|
00000cf0  54 46 53 53 20 20 20 20  33 2c 30 20 20 20 20 20  |TFSS    3,0     |
00000d00  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000d10  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 2d  |               -|
00000d20  0a 53 6b 69 70 20 6f 6e  20 4e 6f 20 43 61 72 72  |.Skip on No Carr|
00000d30  79 20 20 20 20 20 20 20  20 20 20 20 53 4b 50 4e  |y           SKPN|
00000d40  43 20 20 20 20 20 20 20  20 20 42 54 46 53 43 20  |C         BTFSC |
00000d50  20 20 20 33 2c 30 20 20  20 20 20 20 20 20 20 20  |   3,0          |
00000d60  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000d70  20 20 20 20 20 20 20 20  20 20 2d 0a 53 6b 69 70  |          -.Skip|
00000d80  20 6f 6e 20 44 69 67 69  74 20 43 61 72 72 79 20  | on Digit Carry |
00000d90  20 20 20 20 20 20 20 53  4b 50 44 43 20 20 20 20  |       SKPDC    |
00000da0  20 20 20 20 20 42 54 46  53 53 20 20 20 20 33 2c  |     BTFSS    3,|
00000db0  31 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |1               |
00000dc0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000dd0  20 20 20 20 20 2d 0a 53  6b 69 70 20 6f 6e 20 4e  |     -.Skip on N|
00000de0  6f 20 44 69 67 69 74 20  43 61 72 72 79 20 20 20  |o Digit Carry   |
00000df0  20 20 53 4b 50 4e 44 43  20 20 20 20 20 20 20 20  |  SKPNDC        |
00000e00  42 54 46 53 43 20 20 20  20 33 2c 31 20 20 20 20  |BTFSC    3,1    |
00000e10  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000e30  2d 0a 53 6b 69 70 20 6f  6e 20 5a 65 72 6f 20 20  |-.Skip on Zero  |
00000e40  20 20 20 20 20 20 20 20  20 20 20 20 20 53 4b 50  |             SKP|
00000e50  5a 20 20 20 20 20 20 20  20 20 20 42 54 46 53 53  |Z          BTFSS|
00000e60  20 20 20 20 33 2c 32 20  20 20 20 20 20 20 20 20  |    3,2         |
00000e70  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000e80  20 20 20 20 20 20 20 20  20 20 20 2d 0a 53 6b 69  |           -.Ski|
00000e90  70 20 6f 6e 20 4e 6f 6e  20 5a 65 72 6f 20 20 20  |p on Non Zero   |
00000ea0  20 20 20 20 20 20 20 20  53 4b 50 4e 5a 20 20 20  |        SKPNZ   |
00000eb0  20 20 20 20 20 20 42 54  46 53 43 20 20 20 20 33  |      BTFSC    3|
00000ec0  2c 32 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |,2              |
00000ed0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000ee0  20 20 20 20 20 20 2d 0a  54 65 73 74 20 46 69 6c  |      -.Test Fil|
00000ef0  65 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |e               |
00000f00  20 20 20 54 53 54 46 20  66 20 20 20 20 20 20 20  |   TSTF f       |
00000f10  20 4d 4f 56 46 20 20 20  20 20 66 2c 31 20 20 20  | MOVF     f,1   |
00000f20  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00000f40  20 5a 0a 4d 6f 76 65 20  46 69 6c 65 20 74 6f 20  | Z.Move File to |
00000f50  57 20 20 20 20 20 20 20  20 20 20 20 20 20 4d 4f  |W             MO|
00000f60  56 46 57 20 66 20 20 20  20 20 20 20 4d 4f 56 46  |VFW f       MOVF|
00000f70  20 20 20 20 20 66 2c 30  20 20 20 20 20 20 20 20  |     f,0        |
00000f80  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00000f90  20 20 20 20 20 20 20 20  20 20 20 20 5a 0a 4e 65  |            Z.Ne|
00000fa0  67 61 74 65 20 46 69 6c  65 20 20 20 20 20 20 20  |gate File       |
00000fb0  20 20 20 20 20 20 20 20  20 4e 45 47 46 20 66 2c  |         NEGF f,|
00000fc0  64 20 20 20 20 20 20 43  4f 4d 46 20 20 20 20 20  |d      COMF     |
00000fd0  66 2c 31 20 20 49 4e 43  46 20 20 20 20 20 66 2c  |f,1  INCF     f,|
00000fe0  64 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |d               |
00000ff0  20 20 20 20 20 20 20 5a  0a 41 64 64 20 43 61 72  |       Z.Add Car|
00001000  72 79 20 74 6f 20 46 69  6c 65 20 20 20 20 20 20  |ry to File      |
00001010  20 20 20 20 41 44 44 43  46 20 66 2c 64 20 20 20  |    ADDCF f,d   |
00001020  20 20 42 54 46 53 43 20  20 20 20 33 2c 30 20 20  |  BTFSC    3,0  |
00001030  49 4e 43 46 20 20 20 20  20 66 2c 64 20 20 20 20  |INCF     f,d    |
00001040  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001050  20 20 5a 0a 53 75 62 74  72 61 63 74 20 43 61 72  |  Z.Subtract Car|
00001060  72 79 20 66 72 6f 6d 20  46 69 6c 65 20 20 20 53  |ry from File   S|
00001070  55 42 43 46 20 66 2c 64  20 20 20 20 20 42 54 46  |UBCF f,d     BTF|
00001080  53 43 20 20 20 20 33 2c  30 20 20 44 45 43 46 20  |SC    3,0  DECF |
00001090  20 20 20 20 66 2c 64 20  20 20 20 20 20 20 20 20  |    f,d         |
000010a0  20 20 20 20 20 20 20 20  20 20 20 20 20 5a 0a 41  |             Z.A|
000010b0  64 64 20 44 69 67 69 74  20 43 61 72 72 79 20 74  |dd Digit Carry t|
000010c0  6f 20 46 69 6c 65 20 20  20 20 41 44 44 44 43 46  |o File    ADDDCF|
000010d0  20 66 2c 64 20 20 20 20  42 54 46 53 43 20 20 20  | f,d    BTFSC   |
000010e0  20 33 2c 31 20 20 49 4e  43 46 20 20 20 20 20 66  | 3,1  INCF     f|
000010f0  2c 64 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |,d              |
00001100  20 20 20 20 20 20 20 20  5a 0a 53 75 62 74 72 61  |        Z.Subtra|
00001110  63 74 20 44 69 67 69 74  43 61 72 72 79 20 66 72  |ct DigitCarry fr|
00001120  6f 6d 20 46 69 6c 65 20  20 20 20 20 20 20 20 20  |om File         |
00001130  20 20 20 53 55 42 44 43  46 20 66 2c 64 20 20 20  |   SUBDCF f,d   |
00001140  20 42 54 46 53 43 20 20  20 20 33 2c 31 20 20 20  | BTFSC    3,1   |
00001150  44 45 43 46 20 20 20 20  20 66 2c 64 20 20 20 20  |DECF     f,d    |
00001160  20 20 20 5a 0a 42 72 61  6e 63 68 20 20 20 20 20  |   Z.Branch     |
00001170  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001180  42 20 6b 20 20 20 20 20  20 20 20 20 20 20 47 4f  |B k           GO|
00001190  54 4f 20 20 20 20 20 6b  20 20 20 20 20 20 20 20  |TO     k        |
000011a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000011b0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 2d 0a  |              -.|
000011c0  42 72 61 6e 63 68 20 6f  6e 20 43 61 72 72 79 20  |Branch on Carry |
000011d0  20 20 20 20 20 20 20 20  20 20 20 42 43 20 6b 20  |           BC k |
000011e0  20 20 20 20 20 20 20 20  20 42 54 46 53 43 20 20  |         BTFSC  |
000011f0  20 20 33 2c 30 20 20 47  4f 54 4f 20 20 20 20 20  |  3,0  GOTO     |
00001200  6b 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |k               |
00001210  20 20 20 20 20 20 20 20  20 2d 0a 42 72 61 6e 63  |         -.Branc|
00001220  68 20 6f 6e 20 4e 6f 20  43 61 72 72 79 20 20 20  |h on No Carry   |
00001230  20 20 20 20 20 20 42 4e  43 20 6b 20 20 20 20 20  |      BNC k     |
00001240  20 20 20 20 42 54 46 53  53 20 20 20 20 33 2c 30  |    BTFSS    3,0|
00001250  20 20 47 4f 54 4f 20 20  20 20 20 6b 20 20 20 20  |  GOTO     k    |
00001260  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001270  20 20 20 20 2d 0a 42 72  61 6e 63 68 20 6f 6e 20  |    -.Branch on |
00001280  44 69 67 69 74 20 43 61  72 72 79 20 20 20 20 20  |Digit Carry     |
00001290  20 42 44 43 20 6b 20 20  20 20 20 20 20 20 20 42  | BDC k         B|
000012a0  54 46 53 43 20 20 20 20  33 2c 31 20 20 47 4f 54  |TFSC    3,1  GOT|
000012b0  4f 20 20 20 20 20 6b 20  20 20 20 20 20 20 20 20  |O     k         |
000012c0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 2d  |               -|
000012d0  0a 42 72 61 6e 63 68 20  6f 6e 20 4e 6f 20 44 69  |.Branch on No Di|
000012e0  67 69 74 20 43 61 72 72  79 20 20 20 42 4e 44 43  |git Carry   BNDC|
000012f0  20 6b 20 20 20 20 20 20  20 20 42 54 46 53 53 20  | k        BTFSS |
00001300  20 20 20 33 2c 31 20 20  47 4f 54 4f 20 20 20 20  |   3,1  GOTO    |
00001310  20 6b 20 20 20 20 20 20  20 20 20 20 20 20 20 20  | k              |
00001320  20 20 20 20 20 20 20 20  20 20 2d 0a 42 72 61 6e  |          -.Bran|
00001330  63 68 20 6f 6e 20 5a 65  72 6f 20 20 20 20 20 20  |ch on Zero      |
00001340  20 20 20 20 20 20 20 42  5a 20 6b 20 20 20 20 20  |       BZ k     |
00001350  20 20 20 20 20 42 54 46  53 43 20 20 20 20 33 2c  |     BTFSC    3,|
00001360  32 20 20 47 4f 54 4f 20  20 20 20 20 6b 20 20 20  |2  GOTO     k   |
00001370  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001380  20 20 20 20 20 2d 0a 42  72 61 6e 63 68 20 6f 6e  |     -.Branch on|
00001390  20 4e 6f 6e 20 5a 65 72  6f 20 20 20 20 20 20 20  | Non Zero       |
000013a0  20 20 42 4e 5a 20 6b 20  20 20 20 20 20 20 20 20  |  BNZ k         |
000013b0  42 54 46 53 53 20 20 20  20 33 2c 32 20 20 47 4f  |BTFSS    3,2  GO|
000013c0  54 4f 20 20 20 20 20 6b  20 20 20 20 20 20 20 20  |TO     k        |
000013d0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000013e0  2d 0a 43 61 6c 6c 20 61  63 72 6f 73 73 20 70 61  |-.Call across pa|
000013f0  67 65 20 62 6f 75 6e 64  61 72 79 20 20 4c 43 41  |ge boundary  LCA|
00001400  4c 4c 20 6b 20 20 20 20  20 20 20 42 43 46 20 33  |LL k       BCF 3|
00001410  2c 35 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |,5              |
00001420  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001430  20 20 20 20 20 20 20 20  20 20 20 2d 0a 20 20 20  |           -.   |
00001440  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
00001460  20 20 20 20 20 20 6f 72  20 42 53 46 20 33 2c 35  |      or BSF 3,5|
00001470  20 20 20 20 42 43 46 20  33 2c 36 20 20 20 20 20  |    BCF 3,6     |
00001480  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
00001490  20 20 20 20 20 20 2d 0a  20 20 20 20 20 20 20 20  |      -.        |
000014a0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
*
000014c0  20 6f 72 20 42 53 46 20  33 2c 36 20 20 20 20 43  | or BSF 3,6    C|
000014d0  41 4c 4c 20 20 20 20 20  6b 20 20 20 20 20 20 20  |ALL     k       |
000014e0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 20  |                |
000014f0  20 2d 0a 0a 41 64 64 69  74 69 6f 6e 61 6c 20 6e  | -..Additional n|
00001500  6f 74 65 73 0a 3d 3d 3d  3d 3d 3d 3d 3d 3d 3d 3d  |otes.===========|
00001510  3d 3d 3d 3d 3d 0a 0a 57  68 65 72 65 20 66 3d 66  |=====..Where f=f|
00001520  69 6c 65 20 72 65 67 69  73 74 65 72 20 69 6e 20  |ile register in |
00001530  74 68 65 20 72 61 6e 67  65 20 6f 66 20 26 30 30  |the range of &00|
00001540  20 74 6f 20 26 37 46 20  28 64 65 70 65 6e 64 69  | to &7F (dependi|
00001550  6e 67 20 6f 6e 20 68 61  72 64 77 61 72 65 29 0a  |ng on hardware).|
00001560  49 66 20 64 3d 30 20 74  68 65 6e 20 72 65 73 75  |If d=0 then resu|
00001570  6c 74 20 6f 66 20 6f 70  65 72 61 74 69 6f 6e 20  |lt of operation |
00001580  69 73 20 73 74 6f 72 65  64 20 69 6e 20 57 0a 20  |is stored in W. |
00001590  20 20 64 3d 31 20 74 68  65 6e 20 72 65 73 75 6c  |  d=1 then resul|
000015a0  74 20 6f 66 20 6f 70 65  72 61 74 69 6f 6e 20 69  |t of operation i|
000015b0  73 20 73 74 6f 72 65 64  20 69 6e 20 66 69 6c 65  |s stored in file|
000015c0  20 66 0a 0a 46 6f 72 20  31 36 43 37 31 20 73 65  | f..For 16C71 se|
000015d0  72 69 65 73 20 52 45 53  45 54 20 56 45 43 54 4f  |ries RESET VECTO|
000015e0  52 20 69 73 20 61 74 20  26 30 30 30 30 0a 20 20  |R is at &0000.  |
000015f0  20 20 20 20 20 20 20 20  20 20 20 20 20 20 20 49  |               I|
00001600  4e 54 45 52 52 55 50 54  20 56 45 43 54 4f 52 20  |NTERRUPT VECTOR |
00001610  69 73 20 61 74 20 26 30  30 30 34 0a 20 20 20 20  |is at &0004.    |
00001620  20 20 20 20 20 20 20 20  20 20 20 20 20 50 52 4f  |             PRO|
00001630  47 52 41 4d 20 53 50 41  43 45 20 73 74 61 72 74  |GRAM SPACE start|
00001640  73 20 61 74 20 26 30 30  30 35 20 74 6f 20 26 30  |s at &0005 to &0|
00001650  33 46 46 20 28 31 6b 29  0a 0a 0a 0a 0a 0a        |3FF (1k)......|
0000165e