Hi All , this is my first post. Any ideas?

I have written the following code in my program for a 16F88. It works but I need to free up some memory for other routines. Is there a more efficient way to do this.
I am capturing pulses ( puls ) from an emitter wheel over a varying time. I then divide the pulses by 2.266 to convert pulses to mm. The max. pulses I will receive = 30,000 and the min. = 500.

div var word[6] ' integer of the division
rma var word[6] ' remainder of the division
circ var word

puls=25312 ' this value changes with every reading ie: 500 - 30,000
fctr=2266 ' this is a constant

'convert pulses to mm.
div[1]=puls/fctr :rma[1]=puls//fctr
div[2]=rma[1]*10/fctr :rma[2]=rma[1]*10//fctr
div[3]=rma[2]*10/fctr :rma[3]=rma[2]*10//fctr
div[4]=rma[3]*10/fctr :rma[4]=rma[3]*10//fctr
div[5]=rma[4]*10/fctr

if div[5]>4 then div[4]=div[4]+1 'round to 1mm
circ=(div[1]*1000)+(div[2]*100)+(div[3]*10)+div[4]