Las partes de un programa


[p3ll3]
Las partes de un programa en ensamblador

[p3ll3]


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 Giñar

Saludos.............Cool

0 comentarios: