导航:首页 > 电脑设备 > 电脑内存地址表示方法

电脑内存地址表示方法

发布时间:2022-07-06 17:51:25

⑴ 内存地址表示方法

单位是MB,大的话或者用GB。1GB=1024MB
DDR是一种规格吧。
DDR(Dual Data Rate SDRSM)是最新的内存标准之一,在系统时钟触发沿的上、下沿都能进行数据传输,因此即使在133MHz的总线频率下,带宽也能达到约2.1GB/S,为SDRAM的的两倍左右。

⑵ 计算机中xxxx:xxxx是如何表示内存的

XXXX:YYYY,这种表达形式,称为“逻辑地址”。
其中:XXXX,是段地址、YYYY 是偏移地址。
就像常说的:“二楼、18 号房间”,意思是雷同的。

⑶ 计算机内存地址只有5种表现形式吗,为什么

了解了内存的知识,也知道内存的使用方法,那内存是内存条吗?答案是否定的,内存是暂时存储程序以及数据的地方。那内存有什么作用哪?大家都知道是存数据的。

上节中介绍了如何对内存读写,例如把一块内存地址[0x12345678]的数据存到另一块内存地址为[0x87654321]中去,用MOV指令实现。

解:

MOV EAX ,DWORD PTR DS:[0x12345678]

MOV DWORD PTR DS:[0x87654321],EAX

我们从答案中可以得出,内存地址是一些数值编号组成的,难道内存地址只有这一种表现形式吗?我们在调试程序的时候还会碰到其它的表现形式吗?我们在调试程序时,内存地址不止这一种表现形式,还有其它的表现形式,共分为五种。

2.6.1【内存地址的五种表现形式】

第一种形式:[立即数]

读取内存的值:

MOV EAX,DWORD PTR DS:[0x003EF8CC]

第一步:首先确定宽度DWORD表示宽度为四个字节,EAX寄存器为32位寄存器,0x003EF8CC是已经申请的内存。看图2-6-1中,此时EAX寄存器存储的数据为0x001D2BA2;

第二步:按F8观察EAX寄存器存储的数据有什么变化,,如图2-6-2所示,看到EAX寄存器存储的数据正是内存地址0x3EF8CC里面存储的数据。

向内存中写入数据:

MOV DWORD PTR DS:[0x003EF8D0],ECX

第一步:首先确定宽度DWORD表示宽度为四个字节,ECX寄存器为32位寄存器,0x003EF8D0是已经申请的内存,看图2-6-3中,ECX存储的数据为0x0000000,内存地址0x03EF8D0存储的数据是001D2BA2;

第二步:按F8观察内存地址0x003EF8D0存储的数据的变化,如图2-6-4所示,

看到内存地址0x003EF8CC里面存储的数据正是ECX寄存器里面存储的数据。

第二种形式:[register]

register代表通用寄存器,可以是8个通用寄存器中任意一个,表示该寄存器中储存的数据为内存地址。我们程序运行的时候,通常将基址保存在寄存器中。这里只能使用这8个32位通用寄存器,因为内存地址编号是32位。

读取内存中的值:

MOV ECX,0x002FFE18

MOV EAX, DWORD PTR DS:[ECX]

第一步:将指令MOV ECX,0x002FFE18 写入汇编窗口,如图2-6-5,记住当前ECX寄存器存储的数据为0x11111111。

第二步:按F8观察,是否把内存地址0x002FFE18写入ECX中,如图2-6-6所示:

第三步:将指令MOV EAX, DWORD PTR DS:[ECX]写入汇编窗口,如图2-6-7所示:

第四步:按F8观察,是否把ECX存储的内存地址对应的数据写入EAX中,如图2-6-8所示:

向内存中写入数据:

MOV EDX,0x002FFE1C

MOV DWORD PTR DS:[EDX],0x123456

第一步:将指令输入到汇编窗口;

第二步:按F8观察,把内存地址0x002FFE1C写入EDX中,看图2-6-10:

第三步:按F8观察,把立即数0x00123456写入EDX中,看图2-6-11:

第三种形式:[register+立即数]

读取内存中的值:

MOV ECX,0x003FF9E4

MOV EAX, DWORD PTR DS:[ECX+4]

第一步:输入指令,看图2-6-12所示:

第二步:按F8观察,把内存地址0x003FF9E4写入ECX中,看图2-6-13:

第三步:按F8观察,把[ECX+4](0X003FF9E4+4)存储的数据写入EAX中,看图2-6-14:

向内存中写入数据:

MOV EDX,0x002EFA50

MOV DWORD PTR DS:[EDX+0xC],0x123456

第一步:输入指令;

第二步:按F8观察,把内存地址0x002EFA50写入EDX中;

第二步:按F8观察,把立即数0x00123456写入[EDX+0xC](0x002EFA50+0xC)中。

第四种形式:[register+register*{1,2,4,8}]

1、2、4、8我们称为比例因子(Scale Factor)。【有兴趣需要深入了解可以查阅Intel白皮书相关内容】

读取内存的值:

MOV EAX,0x0012FFC4

MOV ECX,0x2

MOV EDX,DWORD PTR DS:[EAX+ECX*4]

第一步:输入指令;

第二步:按F8观察,把内存地址0x0012FFC4 写入EAX中;

第三步:按F8观察,把立即数0x2(0x00000002)写入ECX中;

第四步:按F8观察,把[EAX+ECX*4](0x12FFC4+0x2*4)的值写入EDX中;

表示将2放入宽度为4字节(DWORD),内存地址为0x12FFC4+2*4即0x12FFCC中。

向内存中写入数据:

MOV EAX,0x12FFC4

MOV ECX,0x2

MOV DWORD PTR DS:[EAX+ECX*4],0x12345678

第一步:输入指令;

第二步:按F8观察,把内存地址0x0012FFC4 写入EAX中;

第三步:按F8观察,把立即数0x2(0x00000002)写入ECX中;

第四步:按F8观察,把立即数0x12345678写入[EAX+ECX*4](0x0012FFC4+0x2*4)中。

第五种形式:[register+register*{1,2,4,8}+立即数]

读取内存的值:

MOV EAX,0x0012FFC4

MOV ECX,0x2

MOV EDX,DWORD PTR DS:[EAX+ECX*4+1]

第一步:输入指令;

第二步:按F8观察,把内存地址0x0012FFC4 写入EAX中;

第三步:按F8观察,把立即数0x2(0x00000002)写入ECX中;

第四步:按F8观察,把[EAX+ECX*4+1](0x0012FFC4+0x2*4+1)写入EDX中。

向内存中写入数据:

MOV EAX,0x0012FFC4

MOV ECX,0x2

MOV DWORD PTR DS:[EAX+ECX*4+1],EDX

第一步:把内存地址0x0012FFC4 写入EAX中;

第二步:把立即数0x2(0x00000002)写入ECX中;

第三步:把EDX的数据写入[EAX+ECX*4+1](0x0012FFC4+0x2*4+1)中。

每一种地址形式都是有意义的,目前内存地址只有这五种形式,这五钟形式的通用格式为:[register+register*数+立即数]。

肯定会有人问:为什么只有五种表示方法,而且比例因子只能是1,2,4,8哪?极有可能的原因是(猜测):计算机只识别机器语言,所以我们要将内存地址的表示方法翻译成机器语言才能得到执行。组合越多,翻译起来越麻烦,cpu的技术员们只好订个规矩:只能使用五种表示方法,否则一律不识别。【有兴趣需要深入了解可以查阅Intel白皮书相关内容】

注:

1、如果我们所加的立即数为0xFFFFFFFF,那么运算结果极有可能会超过32位0xFFFFFFFF这个范围,计算机限宽,只会保留运算后32位。

2、如果乘的比例因子为0 的情况下,那么计算机会自动把0忽略,虽然运行结果与乘的比例因子1的结果一样,但是它是错误的运行结果。

3、切记比例因子只能是1、2、4、8。

思考一下:如果算出的内存地址结果超过32位会怎样?

⑷ 在计算机中采用无符号数来表示内存地址

您好,提问者:
正确的,看详细解释:
1、
所谓无符号数,通常表示一个数的绝对值,即数的各位都用来表示数值的大小。一个字节(8位)二进制数只能表示0~255范围内的数。因此,要表示大于255的数,必须采用多个字节来表示,它的长度可以为任意倍字节长。
2、所谓有符号数,即用来表示一个任意位长的正数或负数。我们知道,在普通数字中,区分正负数是在数的绝对值前面加上符号来表示,即“+”表示正数,“-”表示负数。在计算机中数的符号也数码化了,即用一位二进制数位来表示符号。一般是,用一个数的最高位来表示符号位,用“0”表示正号,用“1”表示负号,而其余位为数值位。

⑸ 内存地址是怎么被表示的

如你所说,内存地址就是用这样的格式来表示的。
首先 0x是表示后面的数字是十六进制的
其次 后面的8位数就是用十六进制来表示内存地址

希望回答对你有帮助。

⑹ 计算机内存地址为什么要用16进制数来表示

因为在计算机内部,二进制数据转换为十六进制数据最直接、最快捷,占用存储空间最小。

在数据传输和存储中主存储器的存储单元以字节为单位,每个存储单元都有一个地址与其对应,假定主存储器的容量为n,则该主存储器就有n个存储单元(既n个字节的存储空间),其地址编号为:0,1,2,……,n-1。

把主存空间的地址编号称为主存储器的绝对地址,与绝对地址对应的主存空间称为物理地址空间。

(6)电脑内存地址表示方法扩展阅读

16进制数机制

进位制/位置计数法为一种记数方式,可以用有限的数字符号代表所有的数值。可使用数字符号的数目称为基数(en:radix)或底数,基数为n,即可称n进位制,简称n进制。现在最常用的是十进制,通常使用10个阿拉伯数字0-9进行记数。

对于任何一个数,我们可以用不同的进位制来表示。比如:十进数57(10),可以用二进制表示为111001(2),也可以用五进制表示为212(5),也可以用八进制表示为71(8)、用十六进制表示为39(16),所代表的数值都是一样的。

⑺ 内存地址怎么表示的

内存地址在计算机中是用二进制表示的,但是在我们平时的教学、学习、研究中,因为用二进制表示太过繁琐,所以我们取地址的4个一组表示成十六进制,这就是楼主看到的内存地址在书本上没用二进制表示的原因。

最后强调一下,内存地址在计算机中的的确确是用二进制表示的。

⑻ 在32位计算机中,内存地址如何表示

内存单元是计算机存储数据的最小单位,以字节计数
计算机在使用存储器时,要给这些存储器进行编号,这个编号就是地址
地址最小的就是字节地址
但有时数据不是以字节形式进行读写的,比如int型就是连续的4个字节组成,计算机就使用地址附加说明的方式来访问数据,一次读写就是4个字节
这些地址连续编号,就形成一整片地址区,地址顺序增大,最小单位是字节,这个连续编号就是所谓线性地址。
内存地址就是内存单元的编号,方便访问读写用的。

阅读全文

与电脑内存地址表示方法相关的资料

热点内容
电脑上怎么下载班智达的软件 浏览:902
无痕迹消除图片软件 浏览:495
免费小票软件 浏览:715
华为在哪里设置软件停止运行 浏览:693
用电脑键盘调节声音大小 浏览:1042
自动刷软件赚钱 浏览:1042
古装连续剧免费版 浏览:1200
工免费漫画 浏览:779
手机软件专门储存文件 浏览:1291
uos如何用命令安装软件 浏览:1064
有线耳机插电脑麦克风 浏览:442
侏罗纪世界3在线观看完整免费 浏览:779
单个软件怎么设置名称 浏览:513
凤凰网电脑版下载视频怎么下载视频怎么下载 浏览:1164
明白之后如何免费获得无人机 浏览:606
如何解禁软件菜单 浏览:602
副路由器连接电脑视频 浏览:1133
内置wifi电视如何装软件 浏览:842
手机换零免费雪碧 浏览:1340
国行苹果如何下载美版软件 浏览:971