????????????嶨?壺
????typedef struct cemsg
????{
????uchar dl;
????uchar mg;
????uchar data[10];
????}CEMSG;
????typedef struct msg{
????uchar id;
????uchar cmd;
????uchar byte[4];
????}MSG;
????typedef struct msg_p{
????uchar id;
????uchar cmd;
????uchar far * ptr;
????}MSG_P;
????void ap_getmsg(MSG *d_OsMsgPtr??CEMSG *d_CeMsgPtr)
????{
????MSG_P *d_p;
????d_p = ( MSG_P * )d_OsMsgPtr;
????cpy( d_CeMsgPtr?? d_p->ptr?? ( ushort )(( CEMSG far* )d_p->ptr )->dl + 1 );
????}
???????????cpy??dest??src??n??????????????src?????n byte????copy??dest????????????????
?????????????У?
????????????????d_OsMsgPtr?????????????????£?
???????d_OsMsgPtr---0x00ffb21c ; d_OsMsgPtr->byte[4]---0x00ffb21e
?????d_OsMsgPtr->id==0x0c;d_OsMsgPtr->cmd == 0x11; d_OsMsgPtr->byte[0]==0xD4;d_OsMsgPtr->byte[1]==0xD0;d_OsMsgPtr->byte[2]==0xFF;d_OsMsgPtr->byte[3]==0x00;
???????????????d_p = ( MSG_P * )d_OsMsgPtr????????
???????d_p---0x00ffb21c ; d_p->ptr---0x00ffD0D4
?????d_p->id==0x0c;d_p->cmd == 0x11; *d_p->ptr==0x06;
????/********************************************************************************************************************************************/
?????????
????1?????d_OsMsgPtr???????MSG_P??????????????й????????????????????d_p?????d_OsMsgPtr??0x00ffb21c??d_p->ptr?????????d_OsMsgPtr- >byte[4]??????
????2???????????d_p->ptr????????d_OsMsgPtr->byte????????????*d_p->ptr???????d_OsMsgPtr->byte[0]??0x06?????ζ??????
????3??( CEMSG far* )d_p->ptr ???CEMSG??????????????d_p->ptr?????????????????????????????????????????????????????????????????β????????
????4??0x06????????msg_p???????????????0x00ffD0D4?У?
??????1?????????????????????????μ????????????????????????е?????
????????d_OsMsgPtr?????????????
????(struct msg_p)
????1byte 1byte 4bytes
????id cmd byte[4]
????????????????????struct msg_p????????????
???????6bytes
????1byte 1byte 4bytes
????id cmd ptr
???????byte[4]????????ptr?????????????byte[4]??????.
????*****????????????????μ?????????????????????
?????????????????????????????????????????????????????????????????????
????????&(d_p->ptr)????d_OsMsgPtr->byte??????
????????????( CEMSG far* )d_p->ptr ?????
????&(d_p->ptr)????uchar data[10];??????
????????????????????????????£?????????????????????????????????
????2??????d_p->ptr????????0x00ffD0D4??????
????*d_p->ptr???????????????(0x00ffD0D4)????д???????
????3??????d_p->ptr ????????????????????????????????????????????????????????δ?.(????????)
????4??????嶠??????????????????????*d_p->ptr = ***(???)????
????????????0x00ffD0D4???????????в??????????????????.