Foro de elhacker.net

Programación => ASM => Mensaje iniciado por: 0xFer en 20 Julio 2015, 03:49 am



Título: Duda con saltos LOOP
Publicado por: 0xFer en 20 Julio 2015, 03:49 am
En el libro que estoy estudiando(El de Irvine) dice que el destino a la que apunta una instrucción loop debe estar a una distancia entre -128 a +127 del origen.

Mi pregunta es ¿por qué? Creo se utiliza 8 bits para la dirección a la cual se quiere saltat, pero se¿ puede saltar a una mayor distancia?

¿Que hay de las instrucciones LOOPD Y LOOPW? Que diferencias hay? Son estas propias de MASM?

Un saludo!




Título: Re: Duda con saltos LOOP
Publicado por: Eternal Idol en 20 Julio 2015, 08:24 am
Exactamente, el opcode tiene un operando relative de 8 bits con signo:
http://pdos.csail.mit.edu/6.828/2006/readings/i386/LOOP.htm

Se puede saltar mas lejos con otras instrucciones como jump por ejemplo. No conozco ni encuentro documentacion sobre esos otros pero si crece el codigo lo mejor que podes hacer es implementarlo en una rutina que sea llamada por el bucle.


Título: Re: Duda con saltos LOOP
Publicado por: 0xFer en 20 Julio 2015, 17:21 pm
Gracias!! :)


Título: Re: Duda con saltos LOOP
Publicado por: Eternal Idol en 20 Julio 2015, 17:22 pm
De nadas  ::)