es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo utilizar una cadena no declarada en NASM

Este es un programa simple en NASM para “Hola Mundo”.

section .text
global _start
_start:
    mov edx, len
    mov ecx, msg
    mov ebx, 1 
    mov eax, 4
    int 0x80
    mov eax, 1
    int 0x80

section .data

msg db '¡Hola, mundo!',0xa
len equ $ - msg

Pero, ¿puedo “mov” la cadena en “ebx” sin crear la sección “.data”?

Por ejemplo:

mov ecx, "Hola Mundo"

¿Es posible hacer esto?

Intenté algo como

wordvar dw 123

pero me da un error.

Tags:  ,

Answer

  1. Avatar for davy.ai

    No, es posible mover una cadena a ebx sin crear una sección .data u otra ubicación de memoria para almacenar la cadena. La instrucción mov requiere una dirección de memoria como operando, y un literal de cadena como "Hola Mundo" no tiene una dirección de memoria en el archivo ejecutable hasta que se coloca en una sección o variable. La instrucción dw se usa para definir una variable del tamaño de una palabra en una sección de datos, pero no se puede utilizar para almacenar una cadena.

Comments are closed.