//"拼音输入法杳询函数,input_py为已输入的拼音码,反回值为中文的起始地址,当为0时,杳询失败"
unsigned char code * py_ime(unsigned char input_py_val[]);
//"========================================主程序体========================================"
unsigned char code * py_ime(unsigned char input_py_val[])
{
unsigned char code (* xdata p1)[8],(* xdata p2)[8],(* xdata p3)[8];
unsigned char xdata i=1;
if (input_py_val[0]==0) return(0); //"如果输入空字符返回0"
if (input_py_val[0]==''i'') return(0);
if (input_py_val[0]==''u'') return(0);
if (input_py_val[0]==''v'') return(0);
p1=p2=PY_index_pointer[input_py_val[0]-0x61]; //"计算入口树根"
p3=PY_index_pointer[input_py_val[0]-0x60]; //"设置指针界限"
if (p1==0) return(0); //"查询失败返回0"
while (p1<p3) if ((*p1)[0]==input_py_val[1]) {p2=p1;break;} else p1++; //"查询第二个拼音"
p1=p2;
while (p1<p3) //"阶梯法查询余下拼音"
if (((*p1)[i]==input_py_val[i+1])&&((*p1)[i-1]==input_py_val[i]))
{
p2=p1;
i++;
}
else p1++;
return((unsigned char code *)((*p2)[6]+(*p2)[7]*256+py_mb_begin)); //"返回查询结果首地址"
}


