1
0
Carlos Fenollosa 10 жил өмнө
parent
commit
fc73be819b

+ 4 - 0
00-environment/README.md

@@ -1,3 +1,7 @@
+*Concepts you may want to Google beforehand: linux, mac, terminal, compiler, emulator, nasm, qemu*
+
+**Goal: Install the software required to run this tutorial**
+
 I'm working on a Mac, though Linux is better because it will have all the standard tools already
 available for you.
 

+ 2 - 0
01-bootsector-barebones/README.md

@@ -1,5 +1,7 @@
 *Concepts you may want to Google beforehand: assembler, BIOS*
 
+**Goal: Create a file which the BIOS interprets as a bootable disk**
+
 This is very exciting, we're going to create our own boot sector!
 
 Theory

+ 2 - 0
02-bootsector-print/README.md

@@ -1,6 +1,8 @@
 *Concepts you may want to Google beforehand: interrupts, CPU
 registers*
 
+**Goal: Make our previously silent boot sector print some text**
+
 We will improve a bit on our infinite-loop boot sector and print
 something on the screen. We will raise an interrupt for this.
 

+ 2 - 0
03-bootsector-memory/README.md

@@ -1,5 +1,7 @@
 *Concepts you may want to Google beforehand: memory offsets, pointers*
 
+**Goal: Learn how the computer memory is organized**
+
 Please open page 14 [of this document](
 http://www.cs.bham.ac.uk/~exr/lectures/opsys/10_11/lectures/os-dev.pdf)<sup>1</sup>
 and look at the figure with the memory layout.

+ 2 - 0
04-bootsector-stack/README.md

@@ -1,5 +1,7 @@
 *Concepts you may want to Google beforehand: stack*
 
+**Goal: Learn how to use the stack**
+
 The usage of the stack is important, so we'll write yet another boot sector
 with an example.
 

+ 2 - 0
05-bootsector-functions-strings/README.md

@@ -1,6 +1,8 @@
 *Concepts you may want to Google beforehand: control structures,
 function calling, strings*
 
+**Goal: Learn how to code basic stuff (loops, functions) with the assembler**
+
 We are close to our definitive boot sector.
 
 In lesson 6 we will start reading from the disk, which is the last step before

+ 10 - 8
README.md

@@ -38,19 +38,21 @@ How to use this tutorial
 you jump right to folder 05 and don't know why there is a `mov ah, 0x0e`, it's because you missed lecture 02.
 Really, just go in order. You can always skip stuff you already know.
 
-2. Read each README first. Especially the first line, which details the concepts you should be familiar with
-before reading the code.
+2. Open the README and read the first line, which details the concepts you should be familiar with
+before reading the code. Google concepts you are not familiar with. The second line states the goals for each lesson. 
+Read them, because they explain why we do what we do. The "why" is as important as the "how".
+ 
+3. Read the rest of the README. It is **very concise**.
 
-3. Read the README. It is **very concise**. The only theory is the required to understand the code and there
-are tips on what to look at when you open the code file(s)
+4. (Optional) Try to write the code files by yourself after reading the README.
 
-4. Look at the code examples. Some times you may be able to write them yourself just from the hints on the README.
+5. Look at the code examples. They are extremely well commented.
 
-5. Experiment with them and try to break things. Try to change pointers and registers and see what happens. You know, the usual.
+6. (Optional) Experiment with them and try to break things. The only way to make sure you understood something is
+trying to break it or replicate it with different commands.
 
 
-TL;DR: First read the README on each folder, then decide if you will
-implement it yourself or just read the provided code files.
+TL;DR: First read the README on each folder, then the code files. If you're brave, try to code them yourself.
 
 
 Contributing