From Movaxes
(Difference between revisions)
|
|
(2 intermediate revisions not shown) |
Line 1: |
Line 1: |
- | La razón por la que escogí NASM es porque usa la sintaxis de Intel que es menos complicada que la de AT&T y es mejor para aprender, mas adelante pondré algunos tutoriales sobre las diferencias entre las dos sintaxis.
| + | Esta página ha sido movida a [http://wiki.todoprogra.com/index.php?title=Nasm Nasm], también el resto de la wiki, allí encontrarás el nuevo contenido. :) |
- | | + | |
- | Los tutoriales sobre programación de Sistemas Operativos estarán escritos para ser compilados en NASM.
| + | |
- | | + | |
- | Algunas cosas que debes tener en cuenta es NASM:
| + | |
- | | + | |
- | Diferencia entre mayúsculas y minúsculas, así que no es lo mismo '''foo''' que '''FOO''' o que '''Foo'''.
| + | |
- | ---
| + | |
- | En NASM siempre que quieras acceder al ''contenido'' de una locación de la memoria debes encerrar en '''[]'''.
| + | |
- | ---
| + | |
- | Si una línea es demasiado larga puedes seguir en la de abajo usando '''\''' que le indica a NASM que la línea de abajo es parte de la misma.
| + | |
- | ---
| + | |
- | Otra cosa muy útil es que si te confundes y pones algo como '''loadsb''' cuando lo correcto es '''lodsb''' NASM piensa que estás declarando un label:
| + | |
- | <pre>
| + | |
- | loadsb
| + | |
- | </pre>
| + | |
- | Nasm no se dará cuenta de tu erro y pensará que es un label, me ha pasado y es difícil encontrar el error. Lo que puedes hacer es agregar '''-w+orphan-labels''' cuando compiles, así:
| + | |
- | <pre>
| + | |
- | nasm -w+orphan-labels -o boot boot2.asm
| + | |
- | </pre>
| + | |
Current revision as of 17:50, 6 April 2007
Esta página ha sido movida a Nasm, también el resto de la wiki, allí encontrarás el nuevo contenido. :)