Direccionar 65kb en modo real

Iniciado por Usuario887, 6 Noviembre 2021, 21:41 PM

0 Miembros y 1 Visitante están viendo este tema.

Usuario887

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:

CitarI 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...

Eternal Idol

"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
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

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?