the problem is that in my original tutorials I set up a GDT in the second stage bootloader, and in brans he wants to resetup the GDT in C/ASM. I agree with this and think it would give more functionality and flexibility later on when I want to add things. My problem is that He and several others say that you have to do a far jump to reset the CS register after you load a GDT. I for some reason can't get the far jump to work. I think I have the correct command syntax but I can't put in the information that I want. I have tried both inline asm and including an asm file in my project. I also tried includeing a compiled obj file in my project but am not sure if I did that right. I would much rather do it that way but I don't know how and the information I have been able to find online is lacking in the details. So, I think I need either the way to do a proper far jump with intent of reseting the cs register, either in inline asm or in an inlcuded MASN asm file, or I need a way to include my nasm compiled obj file in my VC++ project. any help would be greatly appreciated.
just incase someone thinks those aren't the problems I will give you the problems I recieve from bochs
Code: Select all
[CPU0] fetch_raw_descriptor: GDT: index (1927)324 > (17)