<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: when load the segment register in real address mode or v86  in Intel® Moderncode for Parallel Architectures</title>
    <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/when-load-the-segment-register-in-real-address-mode-or-v86-mode/m-p/914857#M4776</link>
    <description>&lt;P&gt;Short description:&lt;/P&gt;
&lt;P&gt;The nomenclature CS, SS, DS,ES, FS, and GS refer to either Segment Registers (Real Mode or V86 Mode) or to Selectors (Protected Mode)&lt;/P&gt;
&lt;P&gt;In both modes, referencing a virtualaddress relative to CS, SS, DS,ES, FS, and GS (either explicitly or implicitly),results in the virtual address being modified by use of the Segment Descriptor associated with CS, SS, DS,ES, FS, and GS to produce a Physical Address (or Protection Fault).&lt;/P&gt;
&lt;P&gt;When CS, SS, DS,ES, FS, or GS is loaded in Protected Mode then a new Segment Descriptor for the specified segment registeris loaded from the Descriptor Table (or fault if none).&lt;/P&gt;
&lt;P&gt;When CS, SS, DS,ES, FS, or GS is loaded in Real Mode or V86 Mode the processor does NOT load a new Segment Descriptor for the specified segment register. However, the 16-bit value gets loaded into a register for use in later virtual to physical address calculations.&lt;/P&gt;
&lt;P&gt;When referencing a Virtual Memory address in all modes one of CS, SS, DS,ES, FS, or GS is either explicitly or implicitly involved and the appropriate currentSegment Descriptor for CS, SS, DS,ES, FS, or GSis involved in the address calculation. The behavior varies depending on the mode&lt;/P&gt;
&lt;P&gt;Real Mode or Virtual 86 mode&lt;/P&gt;
&lt;P&gt;The contents of the (Segment Register &amp;lt;&amp;lt; 4+ Offset Supplied + Base Address of Selector associated with Segment Register )&lt;BR /&gt;Note, if in V86 mode there is a 1MB limit on (Segment Register &amp;lt;&amp;lt; 4+ Offset Supplied)&lt;BR /&gt;If in Real Mode AND if the granularity of the Selector associated with the Segment Register is &lt;FONT color="#0000ff"&gt;small&lt;/FONT&gt; then this too has a 1MB limit on (Segment Register &amp;lt;&amp;lt; 4+ Offset Supplied)&lt;BR /&gt;If in Real Mode AND if the granularity of the Selector associated with the Segment Register is &lt;FONT color="#0000ff"&gt;large&lt;/FONT&gt; then this too has a 4GB limit on (Segment Register &amp;lt;&amp;lt; 4+ Offset Supplied)&lt;/P&gt;
&lt;P&gt;Protected Mode&lt;/P&gt;
&lt;P&gt;The effective address is Offset Supplied + Base Address of Selector associated with Segment Register but the contents of the Segment Register are not included in the address calculation.&lt;/P&gt;
&lt;P&gt;There are other variants for 278 compatibility mode.&lt;/P&gt;
&lt;P&gt;The important point is the processor always uses the(last loaded) segment descriptorassociated with the segment register&lt;/P&gt;
&lt;P&gt;Jim Dempsey&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
    <pubDate>Fri, 07 Mar 2008 22:09:51 GMT</pubDate>
    <dc:creator>jimdempseyatthecove</dc:creator>
    <dc:date>2008-03-07T22:09:51Z</dc:date>
    <item>
      <title>when load the segment register in real address mode or v86 mode , will it also change the hidden part of the segment register (the base address part and the limit part) ?</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/when-load-the-segment-register-in-real-address-mode-or-v86-mode/m-p/914856#M4775</link>
      <description>&lt;P&gt;I am now reading theArchitectures Software Developer's Manual volume 3 , 9.1.4 First Instruction Executed&lt;/P&gt;
&lt;P&gt;in this section , the wors " base address" appear many times. Because it means the "hidden base addres part of the segment register " when first appears. So , I think "base address" in this section means the "hidden base address part of the segment register".&lt;/P&gt;
&lt;P&gt;If I amright , this section expresses that : &lt;/P&gt;
&lt;P&gt;1, even in real address mode , when needed to access data ina segment ,cpuwill get the base addres of the segment from the hidden base address part of the segment register .&lt;/P&gt;
&lt;P&gt; 2, When load a selectorinto a segment register , cpu will compute the base address and put it in the hidden base address part of the segment register. &lt;/P&gt;
&lt;P&gt;but after reset , the hidden base part is loaded with FFFF0000H, so , the first instruction to be executed is located at FFFFFFF0H.&lt;/P&gt;
&lt;P&gt;Am I right? but in the volume 2A , when describes the LDS/LES/LFS/LGS/LSS instructions , it says that only in protected mode , these instructions will change the hidden parts of the segment register. &lt;/P&gt;
&lt;P&gt;why?&lt;/P&gt;</description>
      <pubDate>Wed, 05 Mar 2008 08:39:13 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/when-load-the-segment-register-in-real-address-mode-or-v86-mode/m-p/914856#M4775</guid>
      <dc:creator>nofaiture</dc:creator>
      <dc:date>2008-03-05T08:39:13Z</dc:date>
    </item>
    <item>
      <title>Re: when load the segment register in real address mode or v86</title>
      <link>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/when-load-the-segment-register-in-real-address-mode-or-v86-mode/m-p/914857#M4776</link>
      <description>&lt;P&gt;Short description:&lt;/P&gt;
&lt;P&gt;The nomenclature CS, SS, DS,ES, FS, and GS refer to either Segment Registers (Real Mode or V86 Mode) or to Selectors (Protected Mode)&lt;/P&gt;
&lt;P&gt;In both modes, referencing a virtualaddress relative to CS, SS, DS,ES, FS, and GS (either explicitly or implicitly),results in the virtual address being modified by use of the Segment Descriptor associated with CS, SS, DS,ES, FS, and GS to produce a Physical Address (or Protection Fault).&lt;/P&gt;
&lt;P&gt;When CS, SS, DS,ES, FS, or GS is loaded in Protected Mode then a new Segment Descriptor for the specified segment registeris loaded from the Descriptor Table (or fault if none).&lt;/P&gt;
&lt;P&gt;When CS, SS, DS,ES, FS, or GS is loaded in Real Mode or V86 Mode the processor does NOT load a new Segment Descriptor for the specified segment register. However, the 16-bit value gets loaded into a register for use in later virtual to physical address calculations.&lt;/P&gt;
&lt;P&gt;When referencing a Virtual Memory address in all modes one of CS, SS, DS,ES, FS, or GS is either explicitly or implicitly involved and the appropriate currentSegment Descriptor for CS, SS, DS,ES, FS, or GSis involved in the address calculation. The behavior varies depending on the mode&lt;/P&gt;
&lt;P&gt;Real Mode or Virtual 86 mode&lt;/P&gt;
&lt;P&gt;The contents of the (Segment Register &amp;lt;&amp;lt; 4+ Offset Supplied + Base Address of Selector associated with Segment Register )&lt;BR /&gt;Note, if in V86 mode there is a 1MB limit on (Segment Register &amp;lt;&amp;lt; 4+ Offset Supplied)&lt;BR /&gt;If in Real Mode AND if the granularity of the Selector associated with the Segment Register is &lt;FONT color="#0000ff"&gt;small&lt;/FONT&gt; then this too has a 1MB limit on (Segment Register &amp;lt;&amp;lt; 4+ Offset Supplied)&lt;BR /&gt;If in Real Mode AND if the granularity of the Selector associated with the Segment Register is &lt;FONT color="#0000ff"&gt;large&lt;/FONT&gt; then this too has a 4GB limit on (Segment Register &amp;lt;&amp;lt; 4+ Offset Supplied)&lt;/P&gt;
&lt;P&gt;Protected Mode&lt;/P&gt;
&lt;P&gt;The effective address is Offset Supplied + Base Address of Selector associated with Segment Register but the contents of the Segment Register are not included in the address calculation.&lt;/P&gt;
&lt;P&gt;There are other variants for 278 compatibility mode.&lt;/P&gt;
&lt;P&gt;The important point is the processor always uses the(last loaded) segment descriptorassociated with the segment register&lt;/P&gt;
&lt;P&gt;Jim Dempsey&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 07 Mar 2008 22:09:51 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-Moderncode-for-Parallel/when-load-the-segment-register-in-real-address-mode-or-v86-mode/m-p/914857#M4776</guid>
      <dc:creator>jimdempseyatthecove</dc:creator>
      <dc:date>2008-03-07T22:09:51Z</dc:date>
    </item>
  </channel>
</rss>

