unsigned variable over-/under-flow and modulus

I don't have serial capabilities in my application.

I wrote this on the PC though, which seems to indicate it will work

#include <stdio.h>

int main(){

    unsigned char index;

    for (int i =0;i<257;i++){
        printf("index %d\n", index);
        printf("index mod32 %d\n", index%32);
        index ++;
    }
    for (int i =0;i<257;i++){
        printf("index %d\n", index);
        printf("index mod32 %d\n", index%32);
        index --;
    }
}
index mod32 28
index 253
index mod32 29
index 254
index mod32 30
index 255
index mod32 31
index 0
index mod32 0
index 1
index mod32 1
index 0
index mod32 0
index 255
index mod32 31
index 254
index mod32 30
index 253
index mod32 29
index 252