Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Извеняюсь за свой английский
struc TSS_struct
{
.privilege_level db ?
.esp dd ?
.cr3 dd ?
.eip dd ?
.eflags dd ?
.eax dd ?
.ecx dd ?
.edx dd ?
.ebx dd ?
.esp2 dd ?
.ebp dd ?
.esi dd ?
.edi dd ?
}
virtual at 0
TSS_struct TSS_struct
end virtual
mov [es:100h+TSS_struct.eip],task
mov [es:edi+TSS_struct.eflags],eax
mov [es:edi+TSS_struct.ecx],ecx
mov [es:edi+TSS_struct.edx],edx
mov [es:edi+TSS_struct.ebx],ebx
mov [es:edi+TSS_struct.ebp],ebx ; ???
mov [es:edi+TSS_struct.esi],esi
mov [es:edi+TSS_struct.edi],edi
mov [es:100h+9],dword task
mov [es:edi+13],eax;EFLAGS
mov [es:edi+21],ecx
mov [es:edi+25],edx
mov [es:edi+29],ebx
mov [es:edi+37],ebx
mov [es:edi+41],esi
mov [es:edi+45],edi
push eax
push ebx
mov eax,[cur_task_num];в этой dword’овой переменной будем хранить номер тек. задачи
mov ebx,100h
mul ebx
pop ebx
mov edi,eax;EDI – начало TSS_struct
pop eax
imul edi,[cur_task_num],100h
mov edi,[cur_task_num]
shl edi,8 ; mul 100h
Начинаем разговор о многозадачности