[ Foro de C ]

Violación de segmento en nasm(ensamblador linux)

06-May-2021 15:28
Invitado (Iv?n rodellas garc?a)
0 Respuestas


A ver si me puede ayudar con este listado de principiante por que no me veo que es lo que esta mal, en listado.

noentras2@debian:~/humillacion_asm1$ nasm -f elf string.asm    
noentras2@debian:~/humillacion_asm1$ ./string      
Violación de segmento
noentras2@debian:~/humillacion_asm1$ cat string.asm
;------------------------------------------
; int slen(String message)
; String length calculation function
slen:
   push    ebx
   mov     ebx, eax

nextchar:
   cmp     byte [eax], 0
   jz      finished
   inc     eax
   jmp     nextchar

finished:
   sub     eax, ebx
   pop     ebx
   ret


;------------------------------------------
; void sprint(String message)
; String printing function
sprint:
   push    edx
   push    ecx
   push    ebx
   push    eax
   call    slen

   mov     edx, eax
   pop     eax

   mov     ecx, eax
   mov     ebx, 1
   mov     eax, 4
   int     80h

   pop     ebx
   pop     ecx
   pop     edx
   ret


;------------------------------------------
; void exit()
; Exit program and restore resources
quit:
   mov     ebx, 0
   mov     eax, 1
   int     80h
   ret




(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)