fix links (again)

Simon Fortier 2017-11-13 13:44:48 -05:00
parent 0eae8982cf
commit b8a907e66f

@ -73,7 +73,7 @@ It is quite simple to add two binary numbers together using the **carry** method
1 + 1 = 0, carry 1
```
When the value of a bit exceeds 1, the excess needs to be **carried out** of this bit **into** the left bit (This is an important concept for the [overflow and carry flags](https://github.com/simon987/Much-Assembly-Required/wiki/Central-processing-unit-(CPU)#the-flags-register) later on in the tutorial)
When the value of a bit exceeds 1, the excess needs to be **carried out** of this bit **into** the left bit (This is an important concept for the [overflow and carry flags](https://github.com/simon987/Much-Assembly-Required/wiki/CPU#the-flags-register) later on in the tutorial)
So a 16-bit addition in the CPU looks like this:
```
@ -231,7 +231,7 @@ Using the `objdump` command on Linux, the machine code is translated human-reada
```
The machine code produced by the C compiler can be directly translated to assembly language: `00b8 0000` becomes `mov eax, 0` and `c3` becomes `ret`. We will see what these instructions do very soon. The compilation process varies greatly from language to language, but the end result must be understandable by the CPU. The instructions (machine code numbers) that the CPU can understand vary depending on the CPU's **instruction set**. Most modern consumer processors use the x86-64 (or amd64) instruction set.
The [game's CPU](https://github.com/simon987/Much-Assembly-Required/wiki/Central-processing-unit-(CPU)) is based on the Intel 8086 processor (x86-16 instruction set)
The [game's CPU](https://github.com/simon987/Much-Assembly-Required/wiki/CPU) is based on the Intel 8086 processor (x86-16 instruction set)
**So, what does a *32-bit* processor mean?**
A 32-bit processor will handle data in 32-bit chunks, and do its calculations with 32-bit numbers. Intel x86 processors are backward compatible, meaning that a 32-bit processor can handle data and do its calculations with 16-bit and 8-bit numbers (That is why the `DWORD PTR` directive is required at offset 4 and b in the previous example: we are telling the CPU that we want to deal with 32-bit numbers (double word) for this instruction).