From fc73be819b387267f671045edfc63a3ac0dbbec4 Mon Sep 17 00:00:00 2001 From: Carlos Fenollosa Date: Sun, 5 Oct 2014 18:39:45 +0200 Subject: [PATCH] updated READMEs --- 00-environment/README.md | 4 ++++ 01-bootsector-barebones/README.md | 2 ++ 02-bootsector-print/README.md | 2 ++ 03-bootsector-memory/README.md | 2 ++ 04-bootsector-stack/README.md | 2 ++ 05-bootsector-functions-strings/README.md | 2 ++ README.md | 18 ++++++++++-------- 7 files changed, 24 insertions(+), 8 deletions(-) diff --git a/00-environment/README.md b/00-environment/README.md index b4c0da6..39a36d5 100644 --- a/00-environment/README.md +++ b/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. diff --git a/01-bootsector-barebones/README.md b/01-bootsector-barebones/README.md index 220b1f0..09c2b90 100644 --- a/01-bootsector-barebones/README.md +++ b/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 diff --git a/02-bootsector-print/README.md b/02-bootsector-print/README.md index 08dbf32..0331c42 100644 --- a/02-bootsector-print/README.md +++ b/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. diff --git a/03-bootsector-memory/README.md b/03-bootsector-memory/README.md index c87c495..c8d9b60 100644 --- a/03-bootsector-memory/README.md +++ b/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)1 and look at the figure with the memory layout. diff --git a/04-bootsector-stack/README.md b/04-bootsector-stack/README.md index adcdaea..1bcdb44 100644 --- a/04-bootsector-stack/README.md +++ b/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. diff --git a/05-bootsector-functions-strings/README.md b/05-bootsector-functions-strings/README.md index cb61dcd..2039a47 100644 --- a/05-bootsector-functions-strings/README.md +++ b/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 diff --git a/README.md b/README.md index 9f808fc..6920aec 100644 --- a/README.md +++ b/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