在存储器地址位 [英] Bits in a memory address

查看:131
本文介绍了在存储器地址位的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在调试在Windows XP 32位使用免疫力调试器,我看到在堆栈上以下内容:

While debugging on Windows XP 32-bit using the immunity debugger, I see the following on the stack:

_Address_ -Value_
00ff2254 ff090045
00ff2258 00000002

我的理解是,每一个地址位置包含8位。

My understanding is that every address location contains 8 bits.

这是正确的?

推荐答案

如果我正确理解你的问题,答案是肯定的,每一个个体的内存位置包含8位。

If I'm understanding your question correctly, the answer is yes, every individual memory location contains 8 bits.

调试器是显示您一次4个字节(32位),使显示更加紧凑(因为很多数据类型占用32位,所以这是可以看到32位值)。这就是为什么在左栏的地址是4个地点分开。

The debugger is showing you 4 bytes (32 bits) at a time, to make the display more compact (and because many data types take up 32 bits, so it's often useful to see 32-bit values). That's why the addresses in the left column are 4 locations apart.

如果调试器在同一时间显示一个字节(8位),显示是这样的:

If the debugger showed one byte (8 bits) at a time, the display would look like this:

_Address_ -Value_
00ff2254 45
00ff2255 00
00ff2256 09
00ff2257 ff
00ff2258 02
00ff2259 00
00ff225a 00
00ff225b 00

(假定你是一个小尾数的机器,其中大部分现代桌面电脑是。)

(assuming you're on a "little-endian" machine, which most modern desktop PCs are.)

这篇关于在存储器地址位的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆