3Fase 120Deg Drive Table
/*11Z00Z 出力*/
/*111000 極性 180Deg*/
/*001001 3ST*/
#define DriveA  0x0038
#define Newtral 0x0009
unsigned int wk;
unsigned char out[6];



void main(void){
    int a,b;
    for (a=0;a<6;a++){

        wk=DriveA;
            wk =wk<<6;
        wk=wk | DriveA;
        wk=wk>>a;
        printf("wk %1d =%X \n",a,wk     );
        out[a]=0;
        for(b=0;b<3;b++){
            out[a]=out[a] | wk&0x01;
            wk=wk>>2;
            out[a]=out[a]<<1;
        printf("wk %1d =%X \n",b,out[a] );

        }
        wk=Newtral;
                wk =wk<<6;
            wk=wk | Newtral;
            wk=wk>>a;
        printf("wkN %1d =%X \n",a,wk);
        for(b=0;b<3;b++){
            out[a]=out[a] | wk&0x01;
            wk=wk>>2;
            out[a]=out[a]<<1;
        }
        out[a]=out[a]<<1; // Bit7~2
    }

    for (a=0;a<6;a++){
        printf("Table %1d =%X \n",a,out[a] );
    }
}

出力値
Table 0 =30 001,100,z01
Table 1 =68  011,010,0z1
Table 2 =44  010,001,01z
Table 3 =D0  110,100,z10
Table 4 =88  100,010,1z0
Table 5 =A4  101,001,10z