Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Processor 8086 and real mode

  1. Jun 29, 2011 #1
    Does anyone know if its true that all software running in real mode must use only 16-bit instructions? is there an authorised sourcet that can aprove od deny it?
  2. jcsd
  3. Jun 29, 2011 #2


    User Avatar
    Homework Helper

    A true 8086 doesn't have 32 bit mode, but you asked about software running in real mode. On a 80386 or any later 32 bit cpu, I'm wondering what happens when a operand size prefix (66 hex) and/or effective address size prefix (67 hex) is used on an instruction in real mode?
    Last edited: Jun 29, 2011
  4. Jul 15, 2011 #3
    No. While in real-address mode on the 80386 and up, software may use the address-size override prefix (0x67) and/or the operand-size override prefix (0x66) to access 32-bit memory addresses and/or operate on 32-bit operands, respectively.

    However, please note that, when using the address-size override prefix in real-address mode, the address is still limited to 20 bits (i.e., you can only access up to memory address 0x000FFFFF). That is, unless you switch to unreal mode...

    My source? Volume 1: Basic Architecture of the Intel 64 And IA-32 Architectures Software Developer's Manuals. How is that for an authorized source? Straight from the horse's mouth, so to speak, eh?

    And, Ktx20, if you are going to be programming in assembly for x86 processors, you should REALLY get familiar with http://www.intel.com/products/processor/manuals/" [Broken].

    There might be "educational" books out there, but Intel's PDFs were what I used to learn about the x86 architecture and how to program for it.
    Last edited by a moderator: May 5, 2017
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook