It's late so I'm probably missing something right in front of me.
I'm using a pic18f4331 and I can't seem to be able to read a byte array with 3 segments into a word variable. I'm reading a keypad to load the array and then I want the value entered in the keypad in one number. Since I'm stuck I wrote the basic idea to test in this code but to no avail. Please help.

HN VAR BYTE[3]
POS VAR word
I VAR BYTE

'I've loaded HN simulating keypad entry with the number 321

MAIN:
HN[0] = 3
HN[1] = 2
HN[2] = 1

'The for loop works by reading back each segment showing they are loaded in the right position

FOR I = 0 TO 2
LCDOUT $FE,$1,DEC HN[I]
PAUSE 2000
NEXT I


'Here is where I'm stuck. I can't seem to read the entire array out to one variable. I want the number
' 321 in the POS variable. Maybe there is a better way to load keystrokes into one variable for an accumulated
' number.

ARRAYREAD HN,[DEC POS]
LCDOUT $FE,$C0,"VALUE:",DEC POS
PAUSE 2000
GOTO MAIN
END