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

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


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


Desconectado Desconectado

Mensajes: 1.027



Ver Perfil
Duda segmentos
« en: 23 Diciembre 2013, 06:54 am »

Bien, ayudando a otro usuario con otra duda aparecio el tema de los segmentos, ya sabia algo de ellos antes y leyendo los manuales mas aun, se que cada segmento tiene su funcion y algunos se concatenan con los registros.

Estaba haciendo pruebas en ring3, me fije de que todos los segmentos tienen el mismo valor menos el %cs, segun la formula que tiene la CPU para calcular los offset multiplica el valor del segmento por 16 y lo suma al offset, bien hice una prueba, %esp el stack esta concatenado con el segmento %ss, copie el contenido de %esp con el segmento %cs y el valor es el mismo que con %ss, a que se debe si %cs tiene otro valor que %ss?

Se que %esp va con %ss, pero la instruccion me la acepta y me creo otro opcode si la escribo con el %cs, bueno esa es la pregunta, se ignora y se calcula con %ss, porque apuntan al mismo offset.

Un saludo.


En línea

Vaagish


Desconectado Desconectado

Mensajes: 875



Ver Perfil
Re: Duda segmentos
« Respuesta #1 en: 26 Diciembre 2013, 17:14 pm »

Me gustaría poder ayudarte, pero no llegue a eso aun.. comento para revivir el tema, a ver si alguien lo lee y sabe como funcionan esos registros..

Saludos!


En línea

xv0


Desconectado Desconectado

Mensajes: 1.027



Ver Perfil
Re: Duda segmentos
« Respuesta #2 en: 27 Diciembre 2013, 11:49 am »

Vale gracias.

Pues aqui dejo un ejemplo, el registro %cs vale 0x2b y el %ss 0x23.

Código
  1. movq %cs:(%rsp), %rdi    ; 2e 48 8b 3c 24
  2. movq %ss:(%rsp), %rdi   ; 48 8b 3c 24

Bueno el %ss no hace falta ponerlo, pero es para que no cree dudas, pero el valor es el mismo en ambos casos porque? Si tienes valores distintos tendria que apuntar en otra direccion no? Eso solo se respeta en ring0 o que?

Un saludo.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
decodificador binario a bcd 7 segmentos
Electrónica
murdock_ 2 22,847 Último mensaje 10 Diciembre 2006, 21:16 pm
por murdock_
cortar segmentos de archivos de audio
Multimedia
zarq29 3 2,763 Último mensaje 22 Abril 2007, 08:43 am
por Eansqer
Deberia POPear los segmentos que no utilizo.?
ASM
oPen syLar 3 4,549 Último mensaje 13 Febrero 2011, 00:20 am
por AleX Inc.
Calcular la intersección de dos segmentos
Programación C/C++
DickGumshoe 6 15,862 Último mensaje 31 Octubre 2011, 23:11 pm
por DickGumshoe
Escribir en el display de 15 segmentos
ASM
zuzito76 1 3,587 Último mensaje 5 Mayo 2015, 05:57 am
por x64core
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines