tecnico electronico
A continuación se le muestra el código de un programa NASM que muestra por pantalla el mensaje Hola, mundo.
Aunque es muy pronto para que se comprendan todoslos aspectos de este programa, a pesar de su sencillez, este ejemplo nos va a permitir:
Esbozar una primera estructura muy sencilla de un programa NASM.
Mostrar la forma en la que se obtiene elejecutable a partir del fuente NASM en las dos plataformas en las que el alumno puede trabajar.
Mostrar las diferencias sintácticas propias de las dos plataformas y cómo poder resolverlas para que elcódigo resulte portable.
Supongamos que el fichero de nombre hola_mundo.asm contiene el siguiente código:
segment .data
Mensaje db 'Hola mundo', 0
segment .text
%ifdefTIPO_MSVC
%define main _main
%endif
global main
extern imprime_cadena
main:
push dword Mensaje
call imprime_cadena
add esp,4ret
Estructura del primer programa NASM.
Como se puede observar hay dos partes bien diferenciadas que aparecen con diferente color de fondo:
La parte con el fondo más claro es la sección dedatos: en ella, aunque sea de manera intuitiva y se explicará con más detalle en otros puntos del temario:
Se declara una variable, parece que con el nombre Mensaje
Se asigna un valor inicial, pareceque el string "Hola, mundo"
La parte con el fondo más oscuro es la sección de código: En ella
Parece definirse de algún modo una función de nombre main.
Parece utilizarse una función definida en otrolado de nombre imprime_cadena
Parece proporcionarse a esa función imprime_cadena como argumento el mensaje contenido en Mensaje, si afinamos más, parece que mediante el uso de una pila. Al menos esosugiere el uso de push
A lo largo del temario se estudiará la estructura de programas NASM más completos.
Observaciones al primer programa.
El código corresponde a un programa independiente...
Regístrate para leer el documento completo.