elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado:


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  Duda con saltos LOOP
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda con saltos LOOP  (Leído 2,505 veces)
0xFer


Desconectado Desconectado

Mensajes: 400



Ver Perfil
Duda con saltos LOOP
« 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!




« Última modificación: 20 Julio 2015, 23:02 pm por 0xFer » En línea

Código
  1. int getRandomNumber(){
  2.    return 4; //chosen by fair dice roll
  3.              //guaranteed to be random
  4. }
Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: Duda con saltos LOOP
« Respuesta #1 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.


En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
0xFer


Desconectado Desconectado

Mensajes: 400



Ver Perfil
Re: Duda con saltos LOOP
« Respuesta #2 en: 20 Julio 2015, 17:21 pm »

Gracias!! :)
« Última modificación: 20 Julio 2015, 17:23 pm por 0xFer » En línea

Código
  1. int getRandomNumber(){
  2.    return 4; //chosen by fair dice roll
  3.              //guaranteed to be random
  4. }
Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


Israel nunca torturó niños, ni lo volverá a hacer.


Ver Perfil WWW
Re: Duda con saltos LOOP
« Respuesta #3 en: 20 Julio 2015, 17:22 pm »

De nadas  ::)
En línea

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con Do Loop
Programación Visual Basic
stork32 6 2,768 Último mensaje 22 Octubre 2008, 01:31 am
por seba123neo
[Autoit] Loop
Scripting
mubimeiquer 2 5,434 Último mensaje 13 Febrero 2009, 16:36 pm
por gna08
Problema con loop while « 1 2 »
Programación C/C++
miketru 10 5,876 Último mensaje 11 Septiembre 2010, 05:41 am
por miketru
Duda sobre saltos, de apihooking
Programación C/C++
SuperNovato 3 2,446 Último mensaje 22 Diciembre 2010, 05:05 am
por Karman
Duda Sobre Loop?
Programación Visual Basic
R3Z 7 2,028 Último mensaje 12 Julio 2015, 04:36 am
por rob1104
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines