Hello list,
I just recently answered a question about this, it is at
https://stackoverflow.com/questions/22409680/interrupt-21-h-function-31-h-dx-value/57762787#57762787
Quoting the relevant part not mentioned in this thread yet:
> Another issue is that the calculation can be done at build
>
wow, thank you for the prompt response! I think it will get me unstuck
On Fri, Sep 20, 2019 at 9:53 PM Mark Olesen wrote:
> Howdy,
>
> Your aligning by 16 byte paragraph
>
> On Fri, Sep 20, 2019 at 7:45 PM Quinton Cook
> wrote:
>
>> Hello all,
>>
>> I have recently taken an academic interest
Hi guys,
mov dx,init_end+15
mov cl,4
shr dx,cl
sub ax,dx
why is 15 added to the end of the address of the symbol init_end if you
just shift the value right by 4, doesn't that just undo the addition?
This is a common trick: it rounds up the result of an integer division.
See these examples
Hello Quinton,
In case you are not already aware: the 16-bit x86 uses segment:offset
pairs for memory addresses, where a 16-bit segment and 16-bit offset is
combined to allow about 1 MiB of memory to be addressed:
PhysicalAddress = Segment * 16 + Offset
(see
Hello Quinton, hello Mark,
I am looking at (I believe) a slightly more recent version of the
FreeDOS kernel source code (https://github.com/FDOS/kernel), but I think
the same reasoning applies.
Basically the kernel is trying at this point to move its IGROUP
(initialization code), I_GROUP
Howdy,
Your aligning by 16 byte paragraph
On Fri, Sep 20, 2019 at 7:45 PM Quinton Cook wrote:
> Hello all,
>
> I have recently taken an academic interest in the freedos project. My
> current goal is to understand how the kernel was implemented.
>
> While reading the kernel.asm file located
>
Hello all,
I have recently taken an academic interest in the freedos project. My
current goal is to understand how the kernel was implemented.
While reading the kernel.asm file located
in freedos-svn/kernel/branches/jhall/kernel I have inferred that the
routine "kernel_start" is calculating the