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

 

 


Tema destacado: (TUTORIAL) Aprende a emular Sentinel Dongle By Yapis


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  ASM (Moderador: Eternal Idol)
| | | |-+  Direccionar 65kb en modo real
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Direccionar 65kb en modo real  (Leído 4,326 veces)
Usuario887


Desconectado Desconectado

Mensajes: 310


Ver Perfil
Direccionar 65kb en modo real
« en: 6 Noviembre 2021, 21:41 pm »

Hola,

¿Es posible direccionar mas de 0FFFFh bytes en modo real, aunque hablemos de un i386 u otro procesador con arquitectura x86?

Leia esta respuesta de Stackoverflow:

Citar
I believe "...but you won't be able to get the [eax] memory cell." is not true. My understanding is that in real mode, if the value of eax is less than or equal to 0x0000FFFF, then [eax] is a perfectly valid access. Larger values of eax will generate a protection fault when you attempt to access [eax] (though notably [ax] need not generate a protection fault if [eax] would)
https://stackoverflow.com/questions/6917503/is-it-possible-to-use-32-bits-registers-instructions-in-real-mode

Y no me queda claro eso del "Protected fault". ¿Proteger de que si estas en modo real? ¿Aun asi trabaja la GDT?

Gracias...


En línea

Eternal Idol
Kernel coder
Moderador
***
Desconectado Desconectado

Mensajes: 5.937


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


Ver Perfil WWW
Re: Direccionar 65kb en modo real
« Respuesta #1 en: 8 Noviembre 2021, 09:46 am »

"Addressing capacity
The 8086, 8088, and 80186 have a 20-bit address bus, but the unusual segmented addressing scheme Intel chose for these processors actually produces effective addresses which can have 21 significant bits. This scheme shifts a 16-bit segment number left four bits (making a 20-bit number with four least-significant zeros) before adding to it a 16-bit address offset; the maximum sum occurs when both the segment and offset are 0xFFFF, yielding 0xFFFF0 + 0xFFFF = 0x10FFEF ... the actual amount of memory addressable by the 80286 and later x86 CPUs in real mode is 1 MB + 64 KB – 16 B = 1,114,096 B."

https://en.wikipedia.org/wiki/Real_mode




El ejemplo del que parte esa pregunta no es de modo real sino de:
https://en.wikipedia.org/wiki/Unreal_mode


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
Usuario887


Desconectado Desconectado

Mensajes: 310


Ver Perfil
Re: Direccionar 65kb en modo real
« Respuesta #2 en: 8 Noviembre 2021, 19:07 pm »

OK, entiendo. Sin embargo en cualquier arquitectura x86 tienes que acceder a la GDT (o LDT) en el caso de querer direccionar mas de 20 bits en la memoria... ¿Verdad?
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Direccionar puerto a una pagina? « 1 2 »
.NET (C#, VB.NET, ASP)
_CrisiS_ 11 8,093 Último mensaje 21 Diciembre 2010, 01:01 am
por _CrisiS_
SOLUCIONADO - Direccionar una variable a una imagen.
PHP
WiseHidden 4 2,529 Último mensaje 28 Septiembre 2013, 14:26 pm
por MagoAstral
direccionar hosting y dominio
Desarrollo Web
basickdagger 4 2,861 Último mensaje 7 Enero 2014, 20:16 pm
por basickdagger
problema direccionar url dentro de un iframe
Desarrollo Web
WiseHidden 2 2,164 Último mensaje 25 Julio 2014, 10:01 am
por WiseHidden
Direccionar mas de 63 sectores con la interrupcion 13h de la BIOS
Programación General
Usuario887 9 6,126 Último mensaje 8 Noviembre 2021, 21:55 pm
por Usuario887
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines