Error de novato!

Iniciado por El_Java, 1 Noviembre 2011, 13:25 PM

0 Miembros y 1 Visitante están viendo este tema.

El_Java

Hola, he decidido introducirme en el mundo del ensamblador, y acabo de empezar, he intentado hacer un código sencillo para ver como salía, pero no consigo que me funcione. Estoy programando en ensamblador para linux y estoy usando para compilarlo y linkarlo, nasm y ld:
Lo que quiero hacer exactamente es crear un archivo llamado 'prueba.txt' y en el escribir lo que haya puesto en el argv[1] en la terminal, pero me da un error ("prueba.asm:2: error: comma expected after operand 1") en la creación del array.
Hechadle un ojo a ver si veis el fallo:
Código (asm) [Seleccionar]

section .data
txt db 10 dup(?),10

section .text
global _start
_start:
pop eax;
pop eax;
pop txt;

mov eax,8
mov ebx,'prueba.txt'
mov ecx,00644Q
int 80h

test eax,eax
js skipWrite

call fileWrite

mov eax,1
xor ebx,ebx
int 80h

skipWrite:
mov ebx,eax
mov eax, 1
int 80h

fileWrite:
mov ebx,eax
mov eax,4

mov ecx,txt
mov edx,80
int 80h

mov eax,6
int 80h
ret


Un saludo!

Queta

dup solamente existe para MASM/TASM. En NASM hay más instrucciones como times, resb, resw o resd.
"Intenta no volverte un hombre de éxito, sino volverte un hombre de valor." Albert Einstein.