Programación General > ASM (Ensamblador)

 Metiendo "texto" En La Pila

<< < (2/2)

Martin Candurra:
Con que fin queres meter texto en la pila ? Que es la pila para vos ?
Si definis una variable local en C, esa variable está en el stack.
En Asm deberías hacer (sintaxis NASM)

segment STACK
comienzo_stack:
mensaje_en_stack db 'Este es mi mensaje en el stack',0
largo_stack reserve  128
LARGO_STACK   EQU   $ - comienzo_stack

Ya tenes el texto que querias en el stack, en el segmento STACK, offset mensaje_en_stack. Cuando quieras llamar a write, por ejemplo:
write(fd, void *buffer, size_t len)

En ECX vas a tener que poner la direccion de buffer:

mov ax, STACK
mov bx, mensaje_en_stack
shl ax, 4
add eax, ebx
mov ecx, eax             ;Aca tenes la direccion absoluta del string que esta en tu stack en el registro ecx.

La cosa es bastante simple. No logro comprender con que tenes problemas

Navegación

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa