struc TSS {
.limit dw 0x100
.adrlow dw ?
.adrcenter db ?
.conffield1 db ?
.conffield2 db ?
.adrhigh db ?
}
set_task:
virtual at esi
.esi TSS
end virtual
test bl,bl
jnz .user
.kernel:
mov byte [esi.conffield1],10001001b
.user:
mov byte [esi.conffield1],11101001b
.continue:
mov word [esi.adrlow],dx
shr edx,16
mov byte [esi.adrcenter],dl
mov byte [esi.conffield2],10000000b
shr dx,8
mov byte [esi.adrhigh],dl
retn
Надо поставить точку перед esi: вместо
esi.xxx писать .esi.xxx.