网络热词 > 基址

基址

在以前,电脑的寄存器都是十六位的,寻址空间是二十四位的(内存16M),所以单用一个寄存器无法寻址到所有地址,因此用两个寄存器或一个寄存器加一个立即数,用cs,ds,ss,es等以s结尾的寄存器作为段寄存器,用一个寄存器或立即数做偏移量,因为两个十六位寄存器加起来是三十二位,比数据总线位数宽,所以分段寻址采用了如下的寻址方式:段寄存器×10H(十六进制)+偏移量,这样所计算出来的就是一个二十四位的数据,就可以寻址到所有地址,其中段寄存器×10H(十六进制)所得到的地址就是段的基址,所以基址都是以00(十六进制)结尾的。而现在的寄存器都是三十二位的,寻址可达4G,而通常电脑内存是没有大于4G的,所以就不用分段,用一个寄存器就可以寻址全部地址了。所以现在电脑的段寄存器都用来有其他的用途。

基址就一种术语说法 用来概括的形容 起到定位排布作用的不同坐标参考系的起点坐标, 这里 借用物理名词 就是为了在计算机微观抽象的世界中 找到重心与方向,

基址 必须与偏移 对立的理解 缺一则不知所谓, 如果偏移是个动作 那么这个行为的对象就是基址 。

偏移量是相对地址, 是相对于基址的偏移跨步 有的时候是偏移元素量 有的时候是偏移地址量,前者用的居多 在不确定的时候 查询intel处理器构架 开发人员手册 资料 ,用元素数量X单位元素所占地址量, 得到后者 也就是实际的地址偏移量。

基址伴随着一个加到基上的偏移值来确定信息准确的位置(绝对地址)。这一概念与街道地址系统雷同。例如:"大街2010号"由基(大街2000街段)加上偏移值(从街段开始的10号)。在IBMPC和兼容机中的数据按其相对于由段开始的相对偏移位置被识别。

所有的程序都有基址.

游戏中任何数据都在内存中存在,不管是血,蓝,等级,怪物名字,地图名字,只要是数据。全在内存中。 只要你读取那个内存地址就能显示出血来。 其实说白了,游戏客户端显示的数据也是读取的内存中的数据而显示出来的。

struct renwu //人物结构

{

DWORD xue; //血

DWORD lan; //蓝

DWORD dengji; //等级

........

};

void init() //游戏初始化函数

{

struct renwu *dwRW;

dwRW = new struct renwu;

}

游戏初始化了,dwRW在内存中的地址是固定的,这就是基地址

All rights reserved Powered by 网络热词 87994.com

copyright ©right 2010-2020。
网络热词内容来自网络,如有侵犯请联系客服。zhit325@126.com