Thanks Alain and mister e
Alain: Tried reinstalling from original pbp disc but it makes no difference.
Mister e: Not sure what you mean but presume I have not given sufficient info. If so I apologise and hope the following is of help/interest (The Pic being used is a 16F628a whichI have been successfully programming with the same software on very similar programs.

The ultimate objective of the program is to select one of a list of nominal values and then using a random number generator and a lookup table to produce a corresponding number which will produce an answer which is based on either a normal distribution or a skew distribution and display it on the same seven seg display that is used for selecting the nominal number.
There are two lists of nominal value i.e from 2 to 12 in increments of 2 and from 10 to 35 in increments of 5. Code written so far is simply to select the nominal number from one of these two options by identifying the mode (modes 1- 3 use the 2 to 12 sequence and modes 4 & 5 will use the 10 to 35 sequence.
I have removed a number of syntax errors (I am still a bit of a novice) but am left with this message:
Error: macro cmpeq?www not found in macro file.


b0 var word ‘
w1 var word ‘
A var word ‘
mode var word ‘
nomsel var word ‘ Define variables
inc var word ‘
maxno var word ‘
MyRandomVar var word ‘

trisb = %00000000 ‘ Set portB to outputs for 7 seg display trisa = %1111‘ ‘ Set Port A2 -7 to digital inputs to read
cmcon = 7 ‘ switches and A0 –A1 to outputs to
‘ multiplex 7 seg display
MyRandomVar = 0
main:
gosub Button_mode ‘ Find which mode to operate in
if mode < 4 then
nomsel = 2
inc = 2
maxno = 12
else
nomsel = 10
inc = 5
maxno = 35
endif
gosub Button_nomsel ' Select nominal value
gosub Button_Go ' Go and find actual value
w1 = nomsel
gosub display
goto main
Display:
b0 = W1/10 ' Find number of tens
W1 = W1 // 10 ' Remove tens from W1
gosub bin2seg ' Convert number to segments
poke portb,b0 ' send segments to LED
poke porta,%11111101 ' Turn on tens digit
pause 1 ' Leave it on for 1 ms
poke porta,%11111111 ' Turn off digit to prevent ghosting
b0 = W1 ' Get number of units
gosub bin2seg ' Convert number to segments
poke portb,b0 ' Send segments to LED
poke porta,%11111110 ' Turn on units digit
pause 1 ' Leave it on for 1 ms
poke porta,%11111111 ' Turn off digit to prevent ghosting
return
bin2seg:
Lookup b0,[$40,$79,$24,$30,$19,$12,$02,$78,$00,$18],b0
Return
Button_mode:
if porta.4 = 0 then return
Loop0: if porta.4 = 1 then loop0
mode = mode + 1
if mode = 6 then mode = 1
return
Button_nomsel:
if porta.2 = 0 then return
Loop1: if porta.2 = 1 then loop1
nomsel = nomsel = inc
if nomsel > maxno then nomsel = nomsel -inc * 5
return
Buttontest2:
MyRandomVar = MyRandomVar +1
if MyRandomVar = 46 then MyRandomVar = 0
if porta.3 = 0 then return
Loop2: if porta.3 = 1 then loop2
nomsel = MyRandomVar
return
Button_Go: