I execute my new code in bochs, but I receive a new error:
>>PANIC<< lldt: GDT: index > limit
registers:
EAX= 00002060
EBX= 00000000
ECX= 000effa1
EDX= 00000000
ESP= 00001ffc
EBP= 00002000
ESI= 0000ffe4
EDI = 0000ffe4
IOPL = 0 NV UP DI PL ZR NA PE CY
SEG sltr(index|ti|rpl) base limit G D
DS: 0010(0002| 0| 0) 00000000 000fffff 1 1
ES: 0010(0002| 0| 0) 00000000 000fffff 1 1
FS: 0010(0002| 0| 0) 00000000 000fffff 1 1
GS: 0010(0002| 0| 0) 00000000 000fffff 1 1
SS: 0010(0002| 0| 0) 00000000 000fffff 1 1
CS: 0008(0001| 0| 0) 00000000 000fffff 1 1
EIP=0009fcc6 (0009fcc2)
The base and limit of the segments it is ok.
But why index > limit?
Thanks.
Bochs Error
Re:Bochs Error
The CPU is trying to access a descriptor at an index which is greater than the limit of your GDT?
Re:Bochs Error
Are you sure you want to the the LLDT instruction? If so, check the selector you're using with it. If not, try to work out why LLDT is being executed in the first place (maybe you're trying to execute a random address).
Re:Bochs Error
I?m going to test whit a simple unit of Free Pascal may be here stay the problem thanks.
Re:Bochs Error
Tim:
LLDT load a Local Descriptor table, if is true?
In my code I not use that.
The problem may be stay in the system unit.
Thanks.
LLDT load a Local Descriptor table, if is true?
In my code I not use that.
The problem may be stay in the system unit.
Thanks.