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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


  Mostrar Mensajes
Páginas: 1 ... 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 [351] 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 ... 381
3501  Programación / ASM / Re: [Ayuda]MOVSD y MOVSW en: 7 Septiembre 2009, 16:25 pm
De nadas  ::)
3502  Programación / ASM / Re: [Ayuda]MOVSD y MOVSW en: 7 Septiembre 2009, 10:24 am
CLD pone el flag a 0, tambien existen STD que si pone el flag a 1 y entonces se decrementan las direcciones. Un uso muy util es por ejemplo cuando queres copiar memoria, va aumentando o decrementando ambas direcciones (fuente y destino) y usando un repXXX podes lograr la copia completa.

Un ejemplo tonto en MASM, depuralo y vas a ver como funciona (las copias tendran el valor de los originales):
Código
  1. .386
  2. .model flat, stdcall
  3.  
  4. .data
  5. w dd 14
  6. x dd 15
  7. y dd 16
  8. z dd 17
  9.  
  10. w1 dd 0
  11. x1 dd 0
  12. y1 dd 0
  13. z1 dd 0
  14.  
  15. .code
  16. main:
  17.  
  18. mov esi, offset w
  19. mov edi, offset w1
  20. mov ecx, 4
  21. rep movsd
  22.  
  23. ret
  24. end main

Lo mismo pero decrementando:
Código
  1. std
  2. mov esi, offset z
  3. mov edi, offset z1
  4. mov ecx, 4
  5. rep movsd
  6. cld ;siempre hay que restaurar este flag, por defecto es 0
3503  Programación / ASM / Re: Ayuda con sockets en radasm en: 29 Agosto 2009, 09:07 am
De nadas  ::) Practicando se llega a Roma  ;)
3504  Programación / ASM / Re: Ayuda con sockets en radasm en: 28 Agosto 2009, 19:29 pm
RadASM no es mas que un IDE y ese tutorial es para MASM32, volve a leer con mayor detenimiento, sino aca tenes el original:

http://win32assembly.online.fr/winsock.html
3505  Programación / ASM / Re: Como se crea un exe en Radasm en: 27 Agosto 2009, 21:14 pm
El RadASM trae un Readme.txt, dale una ojeada.
3506  Programación / ASM / Re: Como puedo hacer While o For en FASM en: 27 Agosto 2009, 15:23 pm
De nadas  ::)
3507  Programación / ASM / Re: Como puedo hacer While o For en FASM en: 27 Agosto 2009, 15:02 pm
Y cuando debo usar push (a parte de cuando invoque una función...) y cuando pop?

Cuando quieras empujar y sacar algo de la pila  :D Cuando uses una convencion de llamada que pase los parametros en la pila como C y stdcall por ejemplo.
3508  Programación / ASM / Re: Como puedo hacer While o For en FASM en: 27 Agosto 2009, 14:56 pm
Sirven para eso mismo ... en este codigo sirven para guardar el valor que tengan en la pila (push), ejecutar las funciones que cambian el valor de esos registros y posteriormente restaurarlos (pop). DEPURA tu codigo y despues el codigo que funciona y vas a verlo mucho mas claramente.

PD. El orden que mencionaste no es correcto, primero se empuja ecx, despues eax y por eso mismo primero se saca eax y despues ecx.
3509  Programación / ASM / Re: Como puedo hacer While o For en FASM en: 27 Agosto 2009, 14:42 pm
Cualquier funcion que llames puede afectar a los registros que no se preservan, muy especialmente eax que ademas es el valor de retorno de una funcion:

Código
  1. bucle:
  2. push ecx
  3. inc eax
  4. push eax
  5. invoke wsprintfA, nSum,'%d',eax
  6. add esp,12
  7. invoke MessageBoxA, 0,nSum,nSum,0
  8. pop eax
  9. pop ecx
  10. loop bucle
3510  Programación / ASM / Re: Como puedo hacer While o For en FASM en: 27 Agosto 2009, 14:19 pm
El primer código cuando eax sea igual a 5 se para?

No, la mejor manera de que lo comprendas es depurandolo pero como dije al principio y dice tambien en el enlace que deje sobre loop:
... ejecuta el codigo del bucle (inc eax) un numero X de veces (de acuerdo al valor de ECX).

La C de ECX viene de COUNT, por eso la instruccion loop del microprocesador usa ese registro, el inc eax es unicamente el codigo del bucle en si mismo, es lo que hace, ahi podias poner cualquier cosa.
Páginas: 1 ... 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 [351] 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 ... 381
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines