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.
first of all, when i have paging enabled, and an interupt occurs, is the address in the IDT a virtual one or a physical one?, and if it is a physical one, what happens if it's physical page doesn't correspond with the virtual page, or if it isn't in the virtual address space at all?
second, i think the windows xp dos prompt has a limit with how long your commands can be, cause it doesn't want to execute this
Copy your objects all into a folder (e.g. obj for objects). And get your assembler to output to another extension (e.g. .ao) so your linker will link it first. Then call something like:
The CPU will ONLY fetch the start address of the handler procedure for a specific interrupt when that interrupt occurs, from the IDT. Then it will just JUMP to it (with/without some parameters). Now it is up to your paging mechanisms to determine if that address is virtual or not.
On the field with sword and shield amidst the din of dying of men's wails. War is waged and the battle will rage until only the righteous prevails.
You need the percent signs to separate the registers from labels that could be defined with the same name.
davidv1992 wrote:
and i can't get my linker see labels i globalled in my assembler code
using nasm (outputting in coff) and dgjpp (whereas dgjpp's linker is used)
dgjpp automatically adds a underscore to all functions. Have you tried adding an underscore to all of the assembly functions/labels you are trying to export?
isrDummy is in my assembler file. My linker only gives errors on labels exported from assembler files, not on those imported, meaning he eather resolves them or just does not recognize.
just for further reference, i'll add my whole kernel source to this post.
compiling just by executing the .bat files in the sub directories, then executing the .bat file in the root directory. this'll also show the linker errors i get.
tools used:
nasm
dgjpp (or djgpp, which one is it?)