Ensamblador - problema strcmp

 
Vista:

problema strcmp

Publicado por oskii (1 intervención) el 12/05/2010 18:50:27
Hola!, de antemano dar las gracias por el hecho de mirar las dudas. Yo estoy haciendo un pequeño codigo en ensamblador donde desde c le paso una cadena y un vector de cadenas. Mi funcion en ensamblador busca la cadena dentro del vector y devuelve la posicion (indice) del vector donde se encuentra. Recojo los 2 parametros, realizo un bucle donde almaceno el valor en cada momento del vector y con (strcmp) lo comparo con la cadena. Si el resultado es 0 (son iguales) salto a "escero" y devuelvo la posicion. El problema lo tengo en el strcmp que da error y llevo ya tiempo loco buscando la razón. Graciass!!!

-----------------------------------------------------------------------------------------------------------------------
global buscaretiqueta

SECTION .data ;datos inicializados
SECTION .bss ;datos sin inicializar
SECTION .text ;codigo ensamblador
extern strcmp
buscaretiqueta:
push esp ;puntero pila (coge parametros externos NO TOCAR)
push ebp
mov ebp, esp ;puntero baso pila (con el que me muevo en ella)
push esi
push edi
push ebx
mov ebx, [ebp + 8] ;en ebx esta la etiqueta
mov esi, [ebp + 12] ;en esi esta el vestor de etiquetas
xor edi, edi ;pongo a 0 el contador
push ecx
mov ecx, ebx ;meto la etiqueta (porque despues volvere a usar ebx)

bucle:
push edx ;para usar strcmp, los registros tienen que estar en la pila
mov edx, [esi + edi * 8] ;metes en registro edx el valor del vector etiquetas de la posicion cx
call strcmp ;llama a strcmp con los 2 ultimos registros en pila (ecx, edx)
pop edx
cmp eax, 0
je escero
add edi, 1
jmp bucle
escero:
mov eax, edi
pop ecx

pop ebx
pop edi
pop esi
pop ebp
pop esp

-------------------------------------------------------------------------------------
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:problema strcmp

Publicado por macho iberico (1 intervención) el 26/05/2010 18:09:39
Tu me parece que lo q necesitas es una polla grande
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar