Perry, tu post me parece algo contradictorio
Aprovecho este tema para exponer un problema que tengo con el compilador ccs. La cosa es que utilizo unavariable global que no me cabe en 16 bits, así que uso la directiva int32 para definirla y cuando ejecuto el programa y observo su valor compruebo que sólo se modifican los 4bytes más significativos y el resto se queda en cero todo el rato.
Aquí dices que se modifican los 4 bytes más significativos. Bueno, es razonable si una variable es int32 está compuesta por 4 bytes , lo cual si lo quieres ver de cierta forma, serían sus 4 bytes más significativos

Además observo que realmente en la memoria sólo ocupa 2 byites, es decir, que no me la difine como de 32 bits ¿alguien sabe a que se debe esto?según el manual si que puedo usar esa forma de definirlo pero luego no me lo reconoce.¿podría usar alguna otra alternativa?
Y aquí es donde el dilema aparece.
1. ¿Dónde ves que solo se modifican los 4 bytes más significativos?
2. ¿Porqué dices que ocupa solo 2 bytes?
3. ¿Cómo sabes que solo ocupa 2 bytes?
4. ¿Has revisado de que NO sea una variable que definas en muchos lados?
5. Cómo dice Manolo, si estas preguntas no tienen respuesta, intenta subir el código. Si es muy extenso hazlo en un .zip
Saludos