Hi, I am pretty new with assembly so please bear with me if this question sounds stupid :)
I am teaching myself OS development from resources of the web. I came across this tutorial here which talks about setting up GDT. I don't really get it when it is to set the value of CS register using a far jump. The code is like this:
jmp 0x08:flush2 ; 0x08 is the offset to our code segment: Far jump!
flush2:
ret ; Returns back to the C code!
Is the jmp command supposed to jump to "flush2" and continue its execution from "ret"? How can that happen? Isn't the long jump supposed to jump to 0x080 + (the address of flush2)?
Thanks in advance :)