Question about which tools to use, bugs, the best way to implement a function, etc should go here. Don't forget to see if your question is answered in the wiki first! When in doubt post here.
00015175139e[CPU0 ] branch_near32: offset outside of CS limits
00015175139e[CPU0 ] interrupt(): gate descriptor is not valid sys seg (vector=0x0d)
00015175139e[CPU0 ] interrupt(): gate descriptor is not valid sys seg (vector=0x08)
What is wrong ? It seems it didnt use my selector 56. Why ?
> word > eip
> word > esp
Can you see any inconsistency here? So, upper words of 32-bit fields contain garbage.
There are also too many "magic" constants in this piece of code, so my static analyzer refused to check it further.
Nable wrote:> word > eip
> word > esp
Can you see any inconsistency here? So, upper words of 32-bit fields contain garbage.
There are also too many "magic" constants in this piece of code, so my static analyzer refused to check it further.
Dunno if i understood you properly, but here is version that fills whole value. Same error returned "branch_near32: offset outside of CS limits"
here is (the) version that fills (the) whole value
mov word [tss_1+48h], 0x00000020 ;32
WRONG.
Start with proving mathematically that "0000000000000000" is a different number than "0" - and as much as that is an impossibility, so qualifies your change as nonsense. "mov word" explicitly says to do a 16-bit transfer - not whatever number you put there. On a real machine you are likely going to get garbage values for the remaining 16 bits.
Also, you didn't read the forum rules properly because you used colours. That also means that you missed all the requirements and useful tips on problem solving as well. Please go read them.
"Certainly avoid yourself. He is a newbie and might not realize it. You'll hate his code deeply a few years down the road." - Sortie
[ My OS ] [ VDisk/SFS ]