11.1.1 Indirect reference of pointer

When an odd value is set to the pointer which points to a type with a 2-byte alignment condition, indirect reference to that pointer results in invalid operation.

This is because, at indirect reference of a pointer, the compiler should use an instruction suitable for the alignment condition of the type that pointer points to.

Example

int __near * volatile x;
int func(void){
        x = (int __near *)0xfaa1;
        return *x;                  //Since the compiler outputs an instruction 
                                    //suitable for the 2-byte alignment condition to 
                                    //*x, *x references the data pointed to by 0xfaa0 
                                    //when the code is executed
}