|
|
есть файл С
в нем
typedef struct
{
INT16 saveSS;
INT16 saveSP;
INT16 saveRetOffs;
INT16 saveRetSeg;
.............
}CONTEXT;
.............
CONTEXT gContexts[MAX_TASKS]; // массив контекстов задач
есть файл асма - примерно так
_TEXT segment public byte 'CODE'
assume cs:_TEXT
assume ds: nothing
.186
public _SaveContext
extrn _g_curTask
extrn _gContexts
_SaveContext:mov ax,ss
mov bx,word ptr [_g_curTask]
imul bx,bx,33
mov word ptr _gContexts[bx],axmov ax,sp
mov bx,word ptr [_g_curTask]
imul bx,bx,33
mov word ptr _gContexts[bx + 2],ax
и т дКогда смотрю в TD вижу , что он строку
mov word ptr _gContexts[bx],ax
делает как mov cs:[bx+1d86], ax
ПОЧЕМУ ЧЕРЕЗ CS ?????????????????????
Работает вроде все ОК
E-mail: info@telesys.ru