???????????????д???ù???????????????????????????????÷?????LOGISCOPE????????C?????????????????????в????

?????????????????????????豸???п????????????????????????????????????????в?????????????????????????????豸????????滷??????????????????????????????????????У???????????????????????????????????????????????????????????????????????????????????й????????????????繃?????м??в????

?????????????????????????????????????????????????????豸????????滷??????????????????????????????????????豸?????????????????????????????????????????????????????????????????С?????????????C????????????????У???????????????????????????????????????????????????????????????????????????ж????????????????????????????繃????????????в????

????????????????????????????????ò??????????????????????Щ????????????????????????????????????????????

????????????л???????????????DOS???????滷??????в?????????????????????????????????????????????????????????????????μ????????????У?????????????I/O??????????????????????????к?????????????????????ж??????????????????????????????????????CPU?????????ж?????????????μ???????????????????????ж?????????????DOS?????????????????????????????????μ??????????????????е????????????緢????????ж???????????ж??????????????????ж??????????ξ????ж?????????

????????????????????????????

1??????DOS???????????????
2??????Windows???????????????

2??????DOS?????????????????

2.1??????

?????DOS????????????????????????????????????????????????????????????л?????Σ????????????????????????

??????л??????????????????????????????????????????????????????????????????????????????????μ???????????IP??????е????????????????????С?

?????????????????????????ж???????????????????????ж????????????????顣????????????Flags??????????????????У???Σ????????????IP???????CS??????Σ???????С??????ж??????????ε?????CS??????У????????IP???????.?????????ISR???????.?ж???????CS??IP??Flags????????????????????????????????????μ?????ж???????????????????????????????????SP??????Σ?SS??????????????м??????????浽??С???SP??SS????????????λ???????Σ??????SS??SP??????????????????????????????????????ISR????????μ????????????????????????У???????????????????μ???????????IP???????????????????????????????С?

????????????????????????????????????????????????????????????????е????????????????????????С?????????????????????????????????????????????????????????е???????

2.2??????????????????????

interrupt ????
?????????????interrupt????????????????????????????м??????sp??ss?????????????IRET???????ú????????????interrupt?????????????????

push ax?? push bx?? push cx??

push dx?? push es?? push ds

push si?? push di?? push bp

?????ж????CPU?????Flags??cs??IP???????????????interrupt????????????????2.2.1.2??????????????interrupt???????????????????е???????????г??????

??

Bp<-top of stack

DI
SI
DS
ES
DX
CX
BX
AX
IP
CS

PLAGS

??

?????????????????????
typedef struct int_regs{

unsigned bp??

unsigned di??

unsigned si??

unsigned ds??

unsigned es??

unsigned dx??

unsigned cx??

unsigned bx??

unsigned ax??

unsigned ip??

unsigned cs??

unsigned flags??

}??

????????interrupt?????????????????壬?????????????е????Σ?CS??????????IP?????ó???????????????ε???????????

?????????????????
struct task_struct{

unsigned sp??

unsigned ss??

unsigned char *stck??

unsigned LastTask??

unsigned IntNum;

unsigned Status??

}

????????????л????sp??ss???浱?????????ε???????????????????????_SP??????????_SS?????ó???????????е???????????????????????????????????????????е???????????????????????κ????????????????????????????????????У???????????л???????

2.3???????????????????ж????洦??

???????????????????????????滷???£??????????????????ж??????????????????ж???????????????????????????????????д????????????????ж????????У????ж??????????У??????????ж????????С?

???????????????????????ж??????????д?????????????????ж????????????????????????鵱?У??????鼴?????ж???????????????????????ж?????????

??????ж?????????????????????????????????????????????ж?????????У????????????????е????????????б??????ζε?????????_SS??????????????_SP?????????????????????ζε????????????????????ó??μ??ж???????????????????????????????????????????????μ?????????С????????????μ?????????????е?????????ж????ж???????????????????ж?????

3.????Windows???????????????

3.1??????

?????????C?????д???????????????????????????VC???????Windows?????????С???????????Windows???????????????????????????????????????????????????????????????У??????????????????Socket??????????????????????ж???????????????????????????е???????????????μ?????????????????????????ж????????

3.2?????

????CSocket???????????????乲?????????????????????Socket?????????????????????????Ч??????????????????????????????????:

??

???????????Socket???????????????????/??????????????????????????????????????????????????????????????????????Socket??????????????????????????????????????????????????????????????????????????ж???????????????μ??????????????????????????ж???????????

4.??????

???????????????????????????????о??????????????????????????

????????????????????????????????????????????

?????????????????????????????????????????д????????????????????????鸚???

?ο?????

??? ????? C?????DOS????????? ?廩?????????
?????? TURBO C ????????ó????????????????? ???????
????? ????C/S???????????????????????.????????.1999??4
????? ????????????廩????????磬1995
????? ????????????????????????????????????1998 9
?? ? ??????????????????????????????е?????о?. ?????????????? 1998 12
VOL.19 No.6

?? ?? ????????????????о?. ?????????????? 1998 ??2
???? ????????????????廩?????????1990