Las partes de un programa en ensamblador
Un programa en ensamblador esta dividido en tres secciones:
--- > La seccion .data
Esta seccion es para "declarar datos inicializados", en otras palabras definir "variables" que ya contienen algo. Sin embargo estos datos no cambian en el transcurso del programa por lo que en realidad no son variables. La seccion .data es usada para cosas como archivos , tamaňos de buffers, tambien puedes definir constantes usando la palabra EQU.
Aquí puedes usar DB, DW, DD, DQ y DT como instrucciones. Por ejemplo:
Código
section .data
message: db 'Hola mundo!' ; Declara el mensage que contiene los bytes 'Hola mundo!' (sin las comillas)
msglength: equ 11 ; Declara msglength para tener el valor constante de 12
buffersize: dw 1024 ; Declara el buffersize para que sea un word que contiene 1024
--- > La seccion .bss
En esta seccion se declaran las variables.Usted podria usar las instrucciones RESB, RESW, RESD, RESQ y REST para reservar espacio no inicializado para variables en memoria, como esto:
Código
section .bss
filename: resb 255 ; Reserve 255 bytes
number: resb 1 ; Reserve 1 byte
bignum: resw 1 ; Reserve 1 word (1 word = 2 bytes)
realarray: resq 10 ; Reserve un array de 10 reals
--- > La seccion .text
Aquí es donde verdaderamente se escribe el codigo. La seccion .text debe empezar con la declaracion global _start, que solamente le dice al kernel que el programa empieza ahi. (Es como la funcion main de Java y C ,solo que no es una funcion,es un punto de inicio xD)
Ejemplo.:
Código
section .text
global _start
_start:
pop ebx ; aquí es donde comienza el programa en realidad
.
.
.
Espero que esta pequenia ayuda les sirva
Saludos.............
0 comentarios:
Publicar un comentario