Estoy trabajando en un mundo hola más profundo usando NASM following this tutorial (sección 4). Este tutorial esencialmente le enseña cómo manejar la entrada de línea de comando.
Este es el fragmento de código en cuestión:pop Instrucciones no admitidas en el modo de 64 bits con NASM?
section .text
global _start
_start:
pop ebx ; arg count
pop ebx ; arg[0] the program name
pop ebx ; arg[1-n] the remainder of the args
; must each be indiviually popped
Los errores de código durante la compilación con error: instruction not supported in 64-bit mode
en referencia a las instrucciones de pop 3 anteriores. Upon viewing the docs parece que este código solo funciona para sistemas de 32 bits.
¿Hay instrucciones de 64-bit pop
? ¿Alguien tiene un tutorial de 64 bits usando pop
que puedo ver?
¿Te das cuenta de que el tutorial es para 32 bits? Creo que puede generar código de 32 bits configurando el formato de salida en 'elf32' en lugar de' elf', que debería permitirle seguir este tutorial incluso en una máquina de 64 bits ... –
@Aedin - Sí, debería permanezca en modo de 32 bits si sigue ese tutorial. Los nombres de registro no solo son diferentes cuando se usan 64 bits, por lo que también son las convenciones de llamada. Simplemente reemplazar el 'pop' es poco probable que funcione. –