基址

在以前,電腦的暫存器都是十六位的,定址空間是二十位的(記憶體1MB),所以單用一個暫存器無法定址到所有地址,因此用兩個暫存器或一個暫存器加一個立即數,用cs,ds,ss,es等以s結尾的暫存器作為段暫存器,用一個暫存器或立即數做偏移量,因為兩個十六位暫存器加起來是三十二位,比數據匯流排位數寬,所以分段定址採用了如下的定址方式:段暫存器×10H(十六進制)+偏移量,這樣所計算出來的就是一個二十位的數據,就可以定址到所有地址,其中段暫存器×10H(十六進制)所得到的地址就是段的基址,所以基址都是以00(十六進制)結尾的。而現在的暫存器都是64位的,定址可達192G,而通常電腦記憶體是沒有大於192G的,所以就不用分段,用一個暫存器就可以定址全部地址了。所以現在電腦的段暫存器都用來有其他的用途。

基本介紹

  • 中文名:基址
  • 作用:起到定位排布作用
  • 套用:外掛程式中運用多用於單機遊戲
  • 來源:計算機專業術語
簡介,套用,舉例,

簡介

基址就一種術語說法 用來概括的形容 起到定位排布作用的不同坐標參考系的起點坐標, 這裡 借用物理名詞 就是為了在計算機微觀抽象的世界中 找到重心與方向,
基址必須與偏移一同理解 缺一則不知所謂, 如果偏移是個動作 那么這個行為的對象就是基址 。
偏移量相對地址, 是相對於基址的偏移跨步 有的時候是偏移元素量 有的時候是偏移地址量,前者用的居多 在不確定的時候 查詢intel處理器構架 開發人員手冊 資料 ,用元素數量X單位元素所占地址量, 得到後者 也就是實際的地址偏移量。
基址伴隨著一個加到基上的偏移值來確定信息準確的位置(絕對地址)。這一概念與街道地址系統雷同。例如:“大街2010號”由基(大街2000街段)加上偏移值(從街段開始的10號)。在IBMPC和兼容機中的數據按其相對於由段開始的相對偏移位置被識別。

套用

所有的程式都有基址.

舉例

遊戲中任何數據都在記憶體中存在,不管是血,藍,等級,怪物名字,地圖名字,只要是數據。全在記憶體中。 只要你讀取那個記憶體地址就能顯示出血來。 其實說白了,遊戲客戶端顯示的數據也是讀取的記憶體中的數據而顯示出來的。
struct renwu //人物結構
{
DWORD xue; //血
DWORD lan; //藍
DWORD dengji; //等級
........
};
void init() //遊戲初始化函式
{
struct renwu *dwRW;
dwRW = new struct renwu;
}
遊戲初始化了,dwRW在記憶體中的地址是固定的,這就是基地址

相關詞條

熱門詞條

聯絡我們