From f877bb6b15957906462a94e3cfa7ec09b93ad43c Mon Sep 17 00:00:00 2001 From: Simon Fortier Date: Wed, 8 Nov 2017 20:05:50 -0500 Subject: [PATCH] Updated Basic Assembly tutorial (markdown) --- Basic-Assembly-tutorial.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/Basic-Assembly-tutorial.md b/Basic-Assembly-tutorial.md index 096234c..e618562 100644 --- a/Basic-Assembly-tutorial.md +++ b/Basic-Assembly-tutorial.md @@ -179,7 +179,7 @@ NOT 0011 1111 0000 1010 ## Computers and code ### Basic computer architecture Here is a basic diagram of the system design of a modern computer -![]() +![](https://github.com/simon987/Much-Assembly-Required-3/blob/master/Computer%20architecture.png?raw=true) We can see that all there is a lot of I/O (input and output) hardware connected to the CPU, but we don't really have to worry about the exact way to access these from within the CPU because it is taken care of by the operating system (Linux, Windows...). In the real world, programmers use **system calls** which are understood by the operating system to request access to certain files on the hard drive or to display text on the screen. Only the CPU, memory and registers (in green) are relevant for the game. @@ -441,8 +441,5 @@ Visual representation of the stack: We can notice that this implementation of the stack is actually upside-down compared to a real-world stack of items: the stack grows downwards in memory, towards lower addresses. The important thing to remember is that the bottom of the stack is at a fixed address and that the top of the stack changes when an item is *pushed* on the stack or *popped* out. In the game's CPU, the **stack pointer** (SP) register always points to the top of the stack and the **base pointer** always points to the base of the current **stack frame** - -### System calls -//todo: system calls ### Exemple code //todo: walk through of exemple code from MAR-Exemple-Code repo \ No newline at end of file