|
void CODE_scan (void)
{ unsigned char pa, pb;
CODE_p = (unsigned char code *)CODE_START;
do{
orderL = *CODE_p;
CODE_p++;
orderH = *CODE_p;
CODE_p++;
ppp = order & 0xfff;
if ((orderH>>4) <= 0x1)
{ if (ppp == 0x00f) // (END指令, 000F )
{ END();
}
else if (ppp <= 0x00e)
{ pa = (unsigned char)ppp;
if ((pa <= 0x001) || (pa == 0x00e)) ;
else if ((pa == 0x00a) || (pa == 0x00d))
{ CODE_p += 4;
}
else
{ CODE_p++;
CODE_p++;
}
}
else if ((ppp >= 0x1c0) && (ppp <= 0x1cf))
{ pa = (unsigned char)(ppp - 0x1c0);
if ((pa <= 0x001) || (pa == 0x008) || (pa == 0x009)) ;
else
{ CODE_p++;
CODE_p++;
}
}
else if ((ppp >= 0x600) && (ppp < 0x800)) // 三字指令
{ CODE_p += 4;
}
else if ((ppp >= 0xe00) && (ppp < (0xe00+200))) // 三字指令
{ CODE_p += 4;
}
// 五字指令(略) // OUT Cp,K
else if ((ppp&0x001) == 0) // 基本应用指令 = (FNC.No.n+8)*2
{ pa = ((ppp >> 1) - 8) < 0x100 ? (unsigned char)((ppp >> 1) - 8) : 0xff;
pb = FNC_CMD_LNE[pa];
while (pb != 0)
{ pb--;
CODE_p += 4;
}
}
else ;
}
if ((orderH>>4) == 0xb)
{ Pn();
}
else ;
} while((CODE_p < CODE_END) && (CODE_p != CODE_START));
if (CODE_p >= CODE_END)
{ CODE_ERROR =1; 开机就进入这里错误了....
}
CSP_Pn[CSP_Pn_MAX] = (unsigned char code *)CODE_START;
} |
阿莫论坛20周年了!感谢大家的支持与爱护!!
月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!
|