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 ‘




Bookmarks