弱弱的问个问题

New919 2007-02-19 12:00:46
我始终搞不清楚"低地址放低字节,高地址存放高字节"是什么意思?
比如我用16进制编辑器打开一个PE文件:里面有一段连续的四字节的数据:
2C 97 B8 3D,这个这么转换?
...全文
285 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
gaohongjun 2007-03-05
  • 打赏
  • 举报
回复
低地址放低字节,高地址存放高字节"是什么意思?
给你说个例子就知道了
2564H
存放在栈中的是低位是64 高位是25
就这么的简单
2C 97 B8 3D 到972C 3DB8到3BD8972CH
自己看看吧

xianbin01 2007-02-21
  • 打赏
  • 举报
回复
大哥们小弟对这个比较感兴趣谁知道初学应该看什么书
guilty0314 2007-02-20
  • 打赏
  • 举报
回复
建议楼主看看王爽的汇编语言这本书,正在看,感觉很好,你说的问题上面也有,而且楼上的回答比较准确了,我就不罗嗦了。
haha_ 2007-02-19
  • 打赏
  • 举报
回复
也不能简单的说它就一定是3DB8972C
低地址放低字节,高地址存放高字节这句话可以这样理解
如果你这样定义一个数:
string db ‘ABCD' 那么它在存储器中是这样存储的:41H,42H,43H,44H
如果这样定义:
string dw ’AB‘,’CD‘ 那么它在存储器中是这样存储的:42H,41H,44H,43H
如果这样定义
string dd 'AB‘,’CD‘ 那么它在存储器中是这样存储的:42H,41H,0H,0H,44H,43H,0H,0H
所以说单独给个2C 97 B8 3D是并不能说明它的实际值的,如果它是单个双字可以是3DB8972C,如果它是两个字就是972C,3DB8,如果是四个字节就是2C,97,B8,3D
楼主明白了没?
JavaerRobertLi 2007-02-19
  • 打赏
  • 举报
回复
3DB8972C

这是因为二进制数在存储的时候个位是在最左边,而咱们写数的时候个位都是在最右边。
比如说00001010在内存上就应该是01010000
大熊猫侯佩 2007-02-19
  • 打赏
  • 举报
回复
if it mean a dword then dword == 3db8972ch
New919 2007-02-19
  • 打赏
  • 举报
回复
2C 97 B8 3D 这几个数都是"低地址放低字节,高地址存放高字节",我要把它转换成我们能清楚认识的数
louifox 2007-02-19
  • 打赏
  • 举报
回复
转换成什么?
你都没说清楚,怎么给你转换?

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧