como recorrer un string en ensamblador con NASM?

ertay
12 de Noviembre del 2008

Hola!

por ejemplo en C:


char array[30] ;

for (i=0;i<=30;i++){
printf("el valor del array para la posicion %d es esta = %cn", &i, array )

}

recorremos el array incrementando el valor de i

¿pero en ensamblador como podemos hacer esto?

he probado a hacer

msg1 "hola",$
mov bx, 0
print_msg:
mov ah, 0eh
mov al, [msg1]+bx ;el error me lo da aqui
mov int 10h ;esta interrupcion imprime el caracter ascii de ah
cmp al , 36 ;36 es el caracter $
jz print_msg

lo quiero para imprimir una rutina para escribir texto, se que puedo utilizar la interrupcion de dos 21h, para hacer esto... pero NASM no me deja utilizarlas...
tambien podria utilizar el TASM... da problemas

lo que me interesa es recorrer strings o arrays en esamblador... ¿¿como lo recorreria si no puedo utilizar esa funcion (mov ah,[msg1]+bx) ??...

gracias

arcturus
13 de Mayo del 2010
Demasiado tarde, pero tengo respuesta a lo que preguntas