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 C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Operator+ Original. ¿Cómo?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: Operator+ Original. ¿Cómo?  (Leído 7,049 veces)
0xDani


Desconectado Desconectado

Mensajes: 1.077



Ver Perfil
Re: Operator+ Original. ¿Cómo?
« Respuesta #10 en: 14 Julio 2013, 00:03 am »

@eferion, en el código ensamblador no te olvides de desreferenciar la memoria usando los brackets ('[', ']').


En línea

I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM
amchacon


Desconectado Desconectado

Mensajes: 1.211



Ver Perfil
Re: Operator+ Original. ¿Cómo?
« Respuesta #11 en: 14 Julio 2013, 00:17 am »

mm Danyfirex, buena idea jaja.

Gracias Eferion. Pensaba que sería un poco a más alto nivel el operator +.

¿Y el operator *? ¿Es a bajo nivel, o un conjunto de operators +?
La multriplicación puede implementatse vía hardware, la unica que no se puede implementar es la división (y aun asi, creo que la cpu puede hacerla internamente vía software interno).


En línea

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar
xv0


Desconectado Desconectado

Mensajes: 1.026



Ver Perfil
Re: Operator+ Original. ¿Cómo?
« Respuesta #12 en: 14 Julio 2013, 00:18 am »

un ejemplo es el caso de las instrucciones de suma, resta, ... Estas instrucciones únicamente pueden operar con los registros del procesador y con valores constantes. Es necesario, por tanto, mover las dos variables a registros del procesador para poder realizar la suma.

add y sub pueden trabajar directamente con la memoria.

Código
  1. pushq $0x1
  2. addb $0x2, (%rsp)
  3. popq %rax

Un saludo.
En línea

eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: Operator+ Original. ¿Cómo?
« Respuesta #13 en: 16 Julio 2013, 22:35 pm »

@eferion, en el código ensamblador no te olvides de desreferenciar la memoria usando los brackets ('[', ']').

Era un ejemplo rápido... también me podrías haber dicho que no reservé espacio para la pila ni inicialicé correctamente la aplicación XD
En línea

0xDani


Desconectado Desconectado

Mensajes: 1.077



Ver Perfil
Re: Operator+ Original. ¿Cómo?
« Respuesta #14 en: 17 Julio 2013, 00:09 am »

Era un ejemplo rápido... también me podrías haber dicho que no reservé espacio para la pila ni inicialicé correctamente la aplicación XD

Entiendo que era un trozo del código, una cosa es que el código no esté completo y otra es que lo que pongas no esté bien.

De todas formas, ya que lo dije no estaría de más editar el mensaje... digo yo que cuanto mejor esté, pues mejor no?
En línea

I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM
eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: Operator+ Original. ¿Cómo?
« Respuesta #15 en: 17 Julio 2013, 08:07 am »

Entiendo que era un trozo del código, una cosa es que el código no esté completo y otra es que lo que pongas no esté bien.

De todas formas, ya que lo dije no estaría de más editar el mensaje... digo yo que cuanto mejor esté, pues mejor no?

He estado dando vueltas a lo de los corchetes y hasta donde llego eso es para manejar punteros, me equivoco?

Yo no he usado punteros sino variables normales luego no veo que cabida tienen los corchetes... si me equivoco házmelo saber que hace algunos añitos que no toco ensamblador.

Un saludo.
En línea

0xDani


Desconectado Desconectado

Mensajes: 1.077



Ver Perfil
Re: Operator+ Original. ¿Cómo?
« Respuesta #16 en: 17 Julio 2013, 14:49 pm »

He estado dando vueltas a lo de los corchetes y hasta donde llego eso es para manejar punteros, me equivoco?

Yo no he usado punteros sino variables normales luego no veo que cabida tienen los corchetes... si me equivoco házmelo saber que hace algunos añitos que no toco ensamblador.

Un saludo.

A ver, si le das un identificador a la variable, es porque la has declarado así:

Código
  1. num1: dd 5
  2. num2: dd 7
  3. result: dd 0
  4.  

De esta forma, tanto num1, como num2 como result son punteros, y hay que desreferenciarlos para acceder a la variable.

Saludos.
En línea

I keep searching for something that I never seem to find, but maybe I won't, because I left it all behind!

I code for $$$
Hago trabajos en C/C++
Contactar por PM
eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: Operator+ Original. ¿Cómo?
« Respuesta #17 en: 17 Julio 2013, 15:13 pm »

A ver, si le das un identificador a la variable, es porque la has declarado así:

Código
  1. num1: dd 5
  2. num2: dd 7
  3. result: dd 0
  4.  

De esta forma, tanto num1, como num2 como result son punteros, y hay que desreferenciarlos para acceder a la variable.

Saludos.


Vale, ya entendí.

Cuando escribí el código estaba pensando en algo más básico, tal que...

Código
  1.  
  2. num1 WORD 124h
  3. num2 WORD 3120h
  4. result WORD 0h
  5.  
  6. ; ...
  7.  
  8. mov ax, num1
  9. mov bx, num2
  10. add ax, bx
  11. mov result, ax

Por eso no me cuadraba lo de desreferenciar la memoria.
En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Operator+ Original. ¿Cómo?
« Respuesta #18 en: 17 Julio 2013, 15:46 pm »

Venga, el código se entendió, gracias a todos por los comentarios.
En línea

eferion


Desconectado Desconectado

Mensajes: 1.248


Ver Perfil
Re: Operator+ Original. ¿Cómo?
« Respuesta #19 en: 17 Julio 2013, 15:54 pm »

Venga, el código se entendió, gracias a todos por los comentarios.

jajajajaja deja deja, que yo así también recuerdo cosas olvidadas :)
En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
COMO SE GRABA UN DVD ORIGINAL
Multimedia
dvd1975 3 2,961 Último mensaje 4 Julio 2004, 04:06 am
por Songoku
Como cambiar datos que vuelven al original con CE
Ingeniería Inversa
Tatan Ignacio 1 1,563 Último mensaje 5 Mayo 2015, 03:17 am
por engel lex
como identifico y se que un control de playstation 4 es original?
Juegos y Consolas
DJKENSHIN 0 2,240 Último mensaje 29 Mayo 2022, 20:59 pm
por DJKENSHIN
Red Team Operator - Malware Development Advanced Vol.1
Tutoriales - Documentación
ehn@ 0 1,226 Último mensaje 13 Octubre 2023, 20:26 pm
por ehn@
RED TEAM Operator: Windows Persistence
Tutoriales - Documentación
ehn@ 0 533 Último mensaje 30 Noviembre 2023, 12:40 pm
por ehn@
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines