Me pasé unas cuantas horas revisando el problema, pero no entiendo que es lo que esta pasando con esta operación que hago, el desplazamiento a la izquierda no esta funcionando, me da como resultado 1, que es falso:
#include <16f88.h>
#fuses HS,NOWDT,NOLVP,PUT,NOBROWNOUT
#use delay(clock=20000000)
int matriz[2][8]={{255,0,0,0,0,0,0,0},{182,0,0,0,0,0,0,0}};
int carries[2];
void main(void){
int i,j;
for(i=0;i<8;i++){
for(j=0;j<2;j++){
carries[j]=shift_left(&matriz[j][i],1,0);
}
}
}
que es lo que hago mal? porque los resultados de la rotación son 1
no entiendo porque, es posible desplazar los datos de una matriz?
un saludo y muchas gracias por la ayuda.
Esto lo hice con el proteus y el ccs, les dejo el adjunto para que prueben el cof y que los valores se ponen en 1