Hi! I don't understand this piece of code :)
mov ax, 07C0h ; Set up 4K of stack space above buffer
add ax, 544 ; 8k buffer = 512 paragraphs + 32 paragraphs (loader)
cli ; Disable interrupts while changing stack
mov ss, ax
mov sp, 4096
sti ; Restore interrupts
- mov ax, 07C0h - here BIOS loads our code. But what is '4K'? Kilobytes? I didn't get it :)
- add ax, 544 - Why again '8K'? And why we add 544? Why not 512?
- mov sp, 4096 - Here we set stack pointer.
What for do we do all these manipulations, before we set stack pointer?
Sorry for stupid questions :)