lesson 5, functions and strings

This commit is contained in:
Carlos Fenollosa 2014-10-05 13:04:58 +02:00
parent dc1e33fda4
commit a537ac9678

View File

@ -64,7 +64,7 @@ The tricky part are the parameters. There are two steps to working with paramete
1. The programmer knows they share a specific register or memory address 1. The programmer knows they share a specific register or memory address
2. Write a bit more code and make function calls generic and without side effects 2. Write a bit more code and make function calls generic and without side effects
Approach 1 is easy. Let's just agree that we will use `al` for the parameters. Step 1 is easy. Let's just agree that we will use `al` (actually, `ax`) for the parameters.
```nasm ```nasm
mov al, 'X' mov al, 'X'
@ -76,7 +76,7 @@ endprint:
print: print:
mov ah, 0x0e ; tty code mov ah, 0x0e ; tty code
int 0x10 ; I assume that 'al' already has the character int 0x10 ; I assume that 'al' already has the character
jmp endprint ; this label is also pre-agreed jmp endprint ; this label is also pre-agreed
``` ```
You can see that this approach will quickly grow into spaghetti code. The current You can see that this approach will quickly grow into spaghetti code. The current