Page 2 of 2

Re: loader

Posted: Sat Jan 09, 2010 1:29 pm
by lama
thanks for the answer. yes - the kernel image should be loaded to to 0xa000. so for int13 must be es set to 0xa00. that has nothing to do with the stack segment :wink: , witch is set to 0 i guess.
but as i said in my previous post - i probably solved this problem. but rather keep this topic open...

Re: loader

Posted: Sat Jan 09, 2010 4:04 pm
by Firestryke31
lama wrote:es set to 0xa00. that has nothing to do with the stack segment.
WRONG! These segments overlap. If SS is 0x0000 the only ES values that will not overlap are >= 0x1000. This has to do with the way real mode addressing works, in which an address = segment * 16 + offset, so with your setup SS:0xA000 == ES:0x0000 and data will be overwritten.