8bit 처리와 16bit 처리의 차이점은?

linkflex의 이미지

#define JTYPE_BASE 0xd0100000
#define LCD_INS (JTYPE_BASE+0x0020)
#define LCD_DAT (JTYPE_BASE+0x0021)

#define lcd_ins (unsigned char*)LCD_INS
#define lcd_dat (unsigned char*)LCD_DAT

*lcd_dat = (unsigned char)(data[i] & 0xff); //8bit
*lcd_dat = (unsigned short)(data[i] & 0xffff); //16bit

8bit처리와 16bit처리가 어떻게 다른가요?
그냥 위에서와 같이 해 주면 되는건지요?

해당 번지가 IO로 설정되어 있는데 8bit인 경우에는 문제가 없는데 16bit인 경우에는 다른 방법을 써야 하는지 잘 모르겠습니다.

아시는 분 계시면 조언 부탁드립니다.