6.828-Lab1
6.828 的 Lab1 之前用英文洋洋洒洒写了七万多字,稍显冗杂。这次使用 Linux 环境重新走一遍,并且改用中文记录。
6.828 的 Lab1 之前用英文洋洋洒洒写了七万多字,稍显冗杂。这次使用 Linux 环境重新走一遍,并且改用中文记录。
1 | case ' ': |
Begin by restarting qemu and gdb, and set a break-point at 0x7c00, the start of the boot block (bootasm.S). Single step through the instructions (type si
at the gdb prompt). Where in bootasm.S is the stack pointer initialized? (Single step until you see an instruction that moves a value into %esp
, the register for the stack pointer.)
X86,X64,X86-64,AMD64……
在 PC 界,这些词汇经常被提起,可是他们的区别在哪里?
When SeaBIOS is loading in QEMU, it will disable interrupts
1 | 10 0xfd15f: cli |
This lab is split into three parts. The first part concentrates on getting familiarized with x86 assembly language, the QEMU x86 emulator, and the PC’s power-on bootstrap procedure. The second part examines the boot loader for our 6.828 kernel, which resides in the boot
directory of the lab
tree. Finally, the third part delves into the initial template for our 6.828 kernel itself, named JOS, which resides in the kernel
directory.
Update your browser to view this website correctly.&npsb;Update my browser now