static UINT32 opSTB(void) // st.b reg2, disp16[reg1] { UINT32 tmp=R_OP(PC); PC+=2; tmp=D16(tmp); tmp+=GETREG(GET1); W_B(tmp,GETREG(GET2)&0xff); return clkIF+clkMEM; }
void init_walsh(){ // memset(m_walsh,0,sizeof(m_walsh)); // memset(m_iwalsh,0,sizeof(m_iwalsh)); memset(w_j,0,sizeof(w_j)); #define W_B(k,i) (((k)&(1<<(i))) ? 1 : 0) #define W_1(v) ((v)%2==0?1:-1) for(int k=0;k<N;k++){ //http://fourier.eng.hmc.edu/e161/lectures/wht/node4.html for(int m=0;m<N;m++){ int j=0; for(int i=0;i<3;i++){ j+=(W_B(k,i)+W_B(k,i+1))*W_B(m,3-i-1); } w_j[k][m]=W_1(j); } } }