汇编学习笔记---2.2物理地址计算
生活随笔
收集整理的這篇文章主要介紹了
汇编学习笔记---2.2物理地址计算
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
要理解段地址偏移,首先要了解,為啥要計算段地址。
舉個例子:8086CPU有20位地址總線,一次可以傳送20為地址,達到1MB的尋址能力,但是,該CPU內部又是16位結構,一次處理傳輸和暫存的地址為16位,只能傳送16位的地址,尋址能力只有64K,因此,通常8086CPU采用的是在內部用兩個16位地址來合成一個20位物理地址,而這個20位的物理地址計算,就是通過段地址和偏移地址來合成的。
當8086CPU要讀寫內存時:
在上述過程中,地址加法器是如何計算20位物理地址的呢?
這里,地址加法器采用的公式如下:
20位物理地址=段地址X16+偏移地址
比如,8086CPU要方位地址為123C8H的內存單元,那么計算過程是:
段地址:1230
偏移地址00C8
物理地址=1230X16+00C8=12300+00C8=123C8
注意:這里的X16不同于我們的數學計算哦
對于物理地址的計算,它的本質含義是這樣的:CPU在訪問內存時,用一個基礎地址(段地址X16)和一個相對于基礎地址的偏移地址相加,來給出內存單元的物理地址。
即:物理地址=段地址X16+偏移地址=基礎地址+偏移地址
這里一個基礎地址必然是16的倍數,所以一個段的起始地址也一定是16的倍數,偏移地址為16位,16位地址的尋址能力是64K,所以,一個段的最大長度為64K。
總結
以上是生活随笔為你收集整理的汇编学习笔记---2.2物理地址计算的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 论文要点总结:Gradient-Base
- 下一篇: 2020最新版C/C++学习路线图--游