In very rough syntax:

Code:
VV var byte[6] ‘ number of values in VV byte array
work var byte ‘ work variable
index var byte ‘ first counter
indexb var byte ‘ second counter
selected var byte ‘ selected array index
lcdline var byte ‘ lcd line address
‘
selected = 0 ‘ reset selection for startup
‘
‘ reset and init lcd here
‘
cycle:
‘
‘write lcd display
for index = 0 to 3 ‘ one less than the number of lcd lines
‘
gosub get line ‘ get lcd line address
work = VV[index]
LCDOUT $FE,lcdline,[“V”,#selected,” “,”value = “,#work]
‘
if index = 1 then
LCDOUT “<-“ ‘ print arrow on second line
endif
‘
next index
‘
‘ check button here somehow
if buttonpressed = 1 then
gosub rotatearray
endif
‘
‘
goto cycle
‘
‘
getline:
lookup index,[$80,$C0,$94,$D4],lcdline
return
‘
rotatearray: ' bitwise rotate array right eight times
for indexb = 0 to 5
  @ rrf 	_VV+7		,F		;
  @ rrf		_VV+6		,F		;
  @ rrf		_VV+5		,F		;
  @ rrf		_VV+4		,F		;
  @ rrf		_VV+3		,F		;
  @ rrf		_VV+2		,F		;
  @ rrf		_VV+1		,F		;
  @ rrf		_VV+0		,F		;
  @ bcf		_VV+7		,7		;clear MSB
next indexb
return
‘