<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                **段地址\*16+偏移地址=物理地址** **偏移地址=物理地址-段地址\*16** 段地址是16位表示的, 10進制*16=2進制左移4位=16進制左移一位 如果物理地址為=21F60H,段地址為2000H,段地址*16即左移一位:20000H。 偏移地址=21F60H-20000H=1F60H 段地址為其他的規律同理:(段地址的范圍是11F7~21F6) ![](https://img.kancloud.cn/20/9a/209a109ee07ab0ae83ca84f34c8af23f_401x197.png) ## **為什么要分段?** 內存并沒有分段,段的劃分來自于CPU 8086是16位的,它的尋址范圍是2^16-1=65535=64k,所以一個段的長度最大為64KB 但是內存的容量遠大于64KB,所以我們需要cpu分段來讀寫內存,~~所以偏移地址的值不會超過65535(FFFFH)即偏移地址的范圍是(0000H~FFFFH)~~ 例子:有一個數據存放在內存20000H單元中,現在給定段地址為SA,若想用偏移地址尋到此單元.?則SA應滿足的條件是:?最小為???最大為? 段地址SA 最小為:1001H???此時偏移為:FFF0H? 最大為:2000H???此時偏移為:0000H 例子2: 給定段地址為0001H,僅通過變化偏移地址尋址, CPU的尋址范圍為? 關鍵: * 此題中已經假設地址總線為16位,尋址范圍最大為2的16次方,所以偏移地址變化范圍是 0 ~ 65535,即 0000H ~ FFFFH * 基礎地址(段地址\[SA\] X 16)+ 偏移地址\[EA\] = 物理地址 ``` 物理地址=SA*16+EA EA的變化范圍為0h~ffffh 物理地址范圍為(SA*16+0h)~(SA*16+ffffh) 現在SA=0001h,那么尋址范圍為 (0001h*16+0h)~(0001h*16+ffffh)=0010h~1000fh ``` ## **同一段地址,不同的分配方案** 例子:10000H~100FFH這一段地址 方案1: 10000H~100FFH單元可以組成一個段 起始地址(基礎地址)為10000H,他的段地址1000H 除以16即右移一位(10000H段地址取值最大1000H最小1H),大小為100H 方案2: 10000H~1007FH單元可以組成一個段 1008FH~100FFH單元可以組成一個段 起始地址為10000H和10080H,段地址為1000H和1008H,大小均為80H 開始的偏移都是0,后面的偏移分別都是7F 10000H的偏移地址=10000H-1000H\*16=10000H-10000H=0H 1007FH的偏移地址=1007FH-1000H\*16=1007FH-10000H=7FH 10080H的偏移地址=10080H-1008H\*16=10080H-10080H=0H 100FFH的偏移地址=100FFH-1008H\*16=100FFH-10080H=7FH ![](https://img.kancloud.cn/44/37/4437030f3f488a0e9c10bfc3e30243c3_827x357.png) 乘以16必然是16的倍數,所以段地址的起始地址一定也是16的倍數 偏移地址位16位,16位地址的尋址能力為64k,所以一個段的長度為2^16=64k 在8086pc機中存儲單元的地址用兩個元素拉描述,即段地址和偏移地址 數據在21F60H內存單元中,對于8086pc機的描述: * 數據存在內存2000:1F60單元中 * 數據存在內存的2000段中的1F60H單元中
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看