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.
arch/i386/real_mode.S: Assembler messages:
arch/i386/real_mode.S:3: Error: junk at end of line, first unrecognized character is `['
arch/i386/real_mode.S:6: Error: no such instruction: `dw 0x3ff'
arch/i386/real_mode.S:6: Error: junk at end of line, first unrecognized character is `2'
arch/i386/real_mode.S:7: Error: no such instruction: `dd 0'
arch/i386/real_mode.S:7: Error: no such instruction: `real Mode IVT@0x0000'
arch/i386/real_mode.S:10: Error: no such instruction: `dd 0'
arch/i386/real_mode.S:10: Error: no such instruction: `storage location for pmode CR0.'
arch/i386/real_mode.S:13: Error: no such instruction: `we are already in 16-bit mode here!'
arch/i386/real_mode.S:15: Error: no such instruction: `disable interrupts.'
arch/i386/real_mode.S:17: Error: no such instruction: `need 16-bit Protected Mode GDT entries!'
arch/i386/real_mode.S:18: Error: junk at end of line, first unrecognized character is `1'
arch/i386/real_mode.S:26: Error: no such instruction: `disable paging (we need everything to be 1:1 mapped).'
arch/i386/real_mode.S:28: Error: no such instruction: `save pmode CR0'
arch/i386/real_mode.S:29: Error: no such instruction: `disable paging bit&disable 16-bit pmode.'
arch/i386/real_mode.S:32: Error: no such instruction: `perform Far jump to set CS.'
arch/i386/real_mode.S:35: Error: no such instruction: `pick a stack pointer.'
arch/i386/real_mode.S:36: Error: no such instruction: `reset segment registers to 0.'
arch/i386/real_mode.S:43: Error: no such instruction: `restore interrupts -- be careful,unhandled int115will kill it.'
look, you really shouldn't be doing osdev. if you don't understand how a compiler/assembler works, and all you do is pester forum members for example code, you won't get anywhere, you'll give up, and feel disappointed.
strengthen your knowledge in userspace and lower level userspace before you attempt osdev.
three months before I started osdev, I contemplated making an os. i figured out how complex it was, and how it wasn't my place, and i didn't do it. i didn't "push through it" and pester forum members, no. i got a better understanding over lower level concepts, c, c++, and assembly, and then i came back.
i suggest you do the same, because all you're gonna get from here on out are sneer remarks.
. If you are getting an error at link time I'd be curious if it was a relocation unable to fit type error. That could be a problem with a linker script or if you aren't using a linker script you may not have used something like `-Ttext=0x####` where #### is the ORG (origin point/starting VMA). That value needs to be <= 0xffff for 16-bit code.
It is hard to tell without a minimal complete verifiable example. We don't see all your code and we don't see how you are assembling/linking.
. If you are getting an error at link time I'd be curious if it was a relocation unable to fit type error. That could be a problem with a linker script or if you aren't using a linker script you may not have used something like `-Ttext=0x####` where #### is the ORG (origin point/starting VMA). That value needs to be <= 0xffff for 16-bit code.
It is hard to tell without a minimal complete verifiable example. We don't see all your code and we don't see how you are assembling/linking.
Thanks you, that resolver every problem with compiling and linking, now the only thing i have to do is thesting if it works
You need a FAR JMP to set the CS register to 0x0000 (to be similar to the OSDev Wiki code). This is a near JMP that doesn't set the segment. What you want in AT&T syntax is: