Hola eolianos, os tengo que pedir ayuda con un codigo en Ensamblador.
Tengo que hacer un programa que me pase una cadena de texto a Mayusculas, (si esta en mayus se deja como esta y sino las pasa a mayusculas)
El problema es el de siempre, "Segmentation Fault" y llevo un raaato mirandolo y no veo el error, sera una gilipollez pero llevo todo el dia delante del PC y no me rinden las neuronas xDD
Aqui os dejo el codigo
.data
texto:
.asciz "Texto eN Mayusculas"
.text
.global main
main:
mov 0, %edx
mov $texto, %eax
bucle:
cmpb $0, (%eax, %edx,1)
je finstring
jmp compara
compara:
cmpb $'Z', %al
jge comparam
comparam:
cmpb $'a', %al
jl bucle2
cmpb $'z', %al
jg bucle2
sub $32, (%eax, %edx,1)
bucle2:
inc %edx
finstring:
push %eax
call printf
add $4, %esp
final
ret
PD: Sé que las instrucciones, variables etc estan mas que desfasadas pero usamos esas en clase, que se le va a hacer.
Por cierto, compilo con el gcc por si teneis algun problema. Un saludo y
muchas gracias