At 04:34 PM 1/2/97 PST, you wrote: >Quite plain and simple, my question is what are the commands SKPNC and SKPZ? >I see they are used in this macro but what do they do? I don't see them on >any of my data sheets! > SKPNC means 'Skip on No Carry' and SKPZ means 'Skip on Zero'. They are equivalent to the following: #define SKPNC BTFSC 3, 0 ; Skip on No Carry #define SKPZ BTFSS 3, 2 ; Skip on Zero The following can also be used: #define CLRC BCF 3, 0 ; Clear Carry #define SETC BSF 3, 0 ; Set Carry #define SKPC BTFSS 3, 0 ; Skip on Carry #define CLRDC BCF 3, 1 ; Clear Digit Carry #define SETDC BSF 3, 1 ; Set Digit Carry #define SKPDC BTFSS 3, 1 ; Skip on Digit Carry #define SKPNDC BTFSC 3, 1 ; Skip on No Digit Carry #define CLRZ BCF 3, 2 ; Clear Zero #define SETZ BSF 3, 2 ; Set Zero #define SKPNZ BTFSC 3, 2 ; Skip on Non Zero You can embed these mnemonics in the P16Cxx.INC file and make them available to all your programs automatically. You can probably come up with more if you like. The problem with these short cuts is just what you discovered. Other people who look at your code may not know how you have defined your mneumnics and get lost. They may make your code more readable to you, but maybe not so readable to others. It's your call whether you think this is a good practice or not. Hope that helps. DRC :->