Interesting problem ... although there must be a cleaner way, the below works for YOUR specific numbers. The below is not ready for plug and chug with any double word but should help YOU get headed in the right direction. Fun stuff!

Lo_word var word
Hi_word var word
X_temp var word

Digs var byte [6]

Lo_word = 55296 ' Low word
Hi_word = 4 ' High Word (= 4 * 65536)

'**************************
'Find 3 low digits of your 6 digit decimal number

X_temp = Hi_Word * 536 + Lo_word ' = 57440

' take 4*65536+55296 = 4*(6200+536)+55296 = 4*62000+4*536+55296
' the 4*62000 term does not contribute to the low 3 digits so leave it out

Digs[0]=X_temp Dig 0 ' = 0
Digs[1]=X_temp Dig 1 ' = 4
Digs[2]=X_temp Dig 2 ' = 4

'**************************
'Find 3 High digits of your 6 digit decimal number

X_Temp = Hi_Word * 2 ' = 8
X_Temp = 32768 * X_temp ' = 262144
X_Temp = Div32 100 ' = 2621
X_Temp = X_temp + (Lo_word/100) ' = 3173

Digs[3]=X_temp Dig 1 ' = 7
Digs[4]=X_temp Dig 2 ' = 1
Digs[5]=X_temp Dig 3 ' = 3

'**************************
'Display (change to meet your needs)

' for X_temp = 5 to 0 step -1
' Debug Dec Digs[X]
' next X_temp

END

Good Luck,

Paul Borgmeier
Salt Lake City, Utah
USA