Let’s begin
Initially, BIOS (Basic Input/Output System) will load 512 bytes data (aka MBR: Master Boot Record) from the disk into memory at address 0x7c00. BIOS then hands off execution to the bootloader.
|
|
This section of code simply moves 0x07c0 into ds register. So next time when we access ds register with an offset, the result will be (0x07c0 « 4) + offset => 0x7c00 + offset. Hence, Linux will be able to execute start-up area code with ds register plus an offset.
References:
- dibingfa (no date) flash-linux0.11-talk. GitHub. Available at: https://github.com/dibingfa/flash-linux0.11-talk (Accessed: 21 April 2025).
- lewischeng-ms (no date) linux. GitHub. Available at: https://github.com/lewischeng-ms/linux (Accessed: 21 April 2025).