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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


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

Desconectado Desconectado

Mensajes: 28


Ver Perfil
Sintaxis FASM
« en: 8 Julio 2009, 17:43 pm »

Mi pregunta es, como se puede mover el valor de un registro a una variable?

include 'C:\fasm\INCLUDE\WIN32AX.inc'

.data
num1 db 3
num2 db 2

.code
mov eax, num1
add eax, num2
mov num2, eax


Asi deberia mover el valor de la suma a la variable num2, pero visto que no tambien probe a hacerlo asi

include 'C:\fasm\INCLUDE\WIN32AX.inc'

.data
num1 db 3
num2 db 2
num3 db 0

.code
mov eax, num1
add eax, num2
add num3, eax  ; tambien con  mov num3, eax


como tampoco funciono intente hacerlo con la pila

include 'C:\fasm\INCLUDE\WIN32AX.inc'

.data
num1 db 3
num2 db 2

.code
mov eax, num1
add eax, num2
push eax
pop num2

Donde falla?

Gracias a todos..


En línea

Erik#


Desconectado Desconectado

Mensajes: 1.138


Gundam


Ver Perfil
Re: Sintaxis FASM
« Respuesta #1 en: 8 Julio 2009, 19:04 pm »

Código
  1. include 'C:\fasm\INCLUDE\WIN32AX.inc'
  2.  
  3. .data
  4. num1 db 3
  5. num2 db 2
  6.  
  7. .code
  8. start:
  9. mov eax, num1
  10. add eax, num2
  11. push eax
  12. pop num2
  13. .end start


En línea

YST


Desconectado Desconectado

Mensajes: 965


I'm you


Ver Perfil WWW
Re: Sintaxis FASM
« Respuesta #2 en: 8 Julio 2009, 21:51 pm »

Código
  1. include 'win32ax.inc'
  2. .data
  3. Numero1 db 3
  4. Numero2 db 9
  5. .code
  6. start:
  7. xor cl,cl
  8. mov cl,byte[Numero1]
  9. add cl,byte[Numero2]
  10. mov byte[Numero2],cl
  11. ret
  12. .end start      

Esew coded te deja el primer byte de Numero2 en 12
En línea



Yo le enseñe a Kayser a usar objetos en ASM
Erik#


Desconectado Desconectado

Mensajes: 1.138


Gundam


Ver Perfil
Re: Sintaxis FASM
« Respuesta #3 en: 8 Julio 2009, 22:01 pm »

Código
  1. include 'win32ax.inc'
  2. .data
  3. Numero1 db 3
  4. Numero2 db 9
  5. .code
  6. start:
  7. xor cl,cl
  8. mov cl,byte[Numero1]
  9. add cl,byte[Numero2]
  10. mov byte[Numero2],cl
  11. ret
  12. .end start      

Esew coded te deja el primer byte de Numero2 en 12

cl son instrucciones de 16 bits? o eran 8?
En línea

YST


Desconectado Desconectado

Mensajes: 965


I'm you


Ver Perfil WWW
Re: Sintaxis FASM
« Respuesta #4 en: 8 Julio 2009, 22:03 pm »

Código
  1. include 'win32ax.inc'
  2. .data
  3. Numero1 db 3
  4. Numero2 db 9
  5. .code
  6. start:
  7. xor cl,cl
  8. mov cl,byte[Numero1]
  9. add cl,byte[Numero2]
  10. mov byte[Numero2],cl
  11. ret
  12. .end start      

Esew coded te deja el primer byte de Numero2 en 12

cl son instrucciones de 16 bits? o eran 8?

CL no es una instruccion si no que es un registro :xD
En línea



Yo le enseñe a Kayser a usar objetos en ASM
Erik#


Desconectado Desconectado

Mensajes: 1.138


Gundam


Ver Perfil
Re: Sintaxis FASM
« Respuesta #5 en: 8 Julio 2009, 22:20 pm »

Código
  1. include 'win32ax.inc'
  2. .data
  3. Numero1 db 3
  4. Numero2 db 9
  5. .code
  6. start:
  7. xor cl,cl
  8. mov cl,byte[Numero1]
  9. add cl,byte[Numero2]
  10. mov byte[Numero2],cl
  11. ret
  12. .end start      

Esew coded te deja el primer byte de Numero2 en 12

cl son instrucciones de 16 bits? o eran 8?

CL no es una instruccion si no que es un registro :xD

YST marica tu sabes que siempre me confundo xD, de cuanto es ese registro: 8,16 bits?
En línea

ny0x


Desconectado Desconectado

Mensajes: 336


Ver Perfil
Re: Sintaxis FASM
« Respuesta #6 en: 8 Julio 2009, 22:30 pm »

como te habras dado cuenta el identificador dentro de corchetes [] es el valor de la variable y sin corchetes es su direccion en memoria  ;-)
En línea

ferk93

Desconectado Desconectado

Mensajes: 28


Ver Perfil
Re: Sintaxis FASM
« Respuesta #7 en: 8 Julio 2009, 22:41 pm »

Ok, todo bien, pero un par de cosas:

ese "xor cl, cl" pone a cero el registro verdad?
porque usas el registro "cl"?
porque pones "byte" delante de [Numero1]?
que hace exactamnt ese "ret"?

Gracias, y por cierto, en primer codigo q ha posteado Erik# no lo compila el FASM,
de hecho tengo la duda de que se pueda hacer un "pop" a una variable definida en .data
es posible?

Gracias y un saludo!
En línea

Erik#


Desconectado Desconectado

Mensajes: 1.138


Gundam


Ver Perfil
Re: Sintaxis FASM
« Respuesta #8 en: 8 Julio 2009, 22:44 pm »

Ok, todo bien, pero un par de cosas:

ese "xor cl, cl" pone a cero el registro verdad?
porque usas el registro "cl"?
porque pones "byte" delante de [Numero1]?
que hace exactamnt ese "ret"?

Gracias, y por cierto, en primer codigo q ha posteado Erik# no lo compila el FASM,
de hecho tengo la duda de que se pueda hacer un "pop" a una variable definida en .data
es posible?

Gracias y un saludo!

ret es como el exitprocess o el return de c (creo), el xor lo pone a 0.
Mi código que puse no es nada, es solo que puse: start: y .end start
Y en assembly no se compila, se ensambla.
En línea

YST


Desconectado Desconectado

Mensajes: 965


I'm you


Ver Perfil WWW
Re: Sintaxis FASM
« Respuesta #9 en: 8 Julio 2009, 22:55 pm »

Ok, todo bien, pero un par de cosas:

ese "xor cl, cl" pone a cero el registro verdad?
porque usas el registro "cl"?
porque pones "byte" delante de [Numero1]?
que hace exactamnt ese "ret"?

Gracias, y por cierto, en primer codigo q ha posteado Erik# no lo compila el FASM,
de hecho tengo la duda de que se pueda hacer un "pop" a una variable definida en .data
es posible?

Gracias y un saludo!
Estan caros los manuales de ASM que no se leen uno ? ¬¬'

xor cl,cl pone cl en 0.

Uso el registro cl por que se me da la regalada gana , podria usar al ,ah,ch,etc.. ( Siempre de tamaño de un byte ya que estoy trabajdno con un byte)

El byte antes de los corchetes es para expesificar el tamaño que quiero.

ret según lo que yo se saca EIP de la pila  y lo restaura :P
En línea



Yo le enseñe a Kayser a usar objetos en ASM
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
bubblesort en fasm
ASM
dewolo 5 6,327 Último mensaje 21 Junio 2011, 21:56 pm
por _Enko
Funciones en FASM
ASM
fary 2 4,926 Último mensaje 28 Septiembre 2011, 21:48 pm
por fary
urldownloadtofile FASM
ASM
rmdma() 8 5,631 Último mensaje 20 Febrero 2012, 21:11 pm
por Eternal Idol
fasm consola « 1 2 3 »
ASM
bengy 24 14,984 Último mensaje 15 Junio 2014, 01:04 am
por Eternal Idol
Cadenas en FASM
ASM
Yuki 3 3,809 Último mensaje 6 Mayo 2016, 10:28 am
por fary
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines