2.7数据存储模式

2.7数据存储模式

本节必须掌握的知识点:

u掌握存储模式

u 大端存储模式、小端存储模式的概念

u掌握DTDebug.exe软件中查找内存窗口数据

我们知道内存是用来存储数据的,那么你知道这些数据是怎么存储的吗?用DTDebug打开一个程序如图2-7-1所示:


在图2-7-1中标注了内存地址和数据。能看懂堆栈窗口中内存地址为0x004FFC3C存储的数据是0x00000000,在内存窗口中你知道它怎么存储的吗?我们改一下内存地址为0x004FFC3C存储的数据,改为0x12345678这串数据。

第一步:选中内存地址为0x004FFC3C那一行对应的数据。

第二步:右键弹出对话框,选择Modify如图2-7-2所示:

第三步:修改数据,如图2-7-3中出现的黑框框选的Hexadecimal修改数据,修改为0x12345678

第四步:点击OK。则内存地址为0x004FFC3C修改为0x12345678.观察堆栈窗口


接下来再内存窗口查看内存地址0x004FFC3C数据是怎么存储的。

第一步:找到内存窗口,内存窗口下面有个命令窗口,如图2-7-4所示:


第二步:在命令窗口输入db 0x004FFC3C.点击键盘Enter观察内存窗口,如图2-7-5所示:


db:是按字节的形式显示在内存窗口

dw:是按字的形式显示在内存窗口

dd:是按双字的形式显示在内存窗口

可以通过堆栈窗口看到内存地址为0x004FFC3C存储的数据为0x12345678,而内存窗口0x004FFC3C存储的数据为0x78563412。为什么要通过内存窗口呢?堆栈窗口可以看到0x004FFC3C里面的数据是0x12345678,因为它是以四字节为单位显示,我们并不能清楚地看到每个字节存储的数据,所以我们以一个字节为单位查看。

2.7.1【存储模式】

在计算机的世界里,存储数据的方式要按照计算机的方式去存储,计算机一共有两种存储模式:小端模式和大端模式。

大端模式存储:数据高位在内存低位,数据低位在内存高位。

小端模式存储:数据高位在内存高位,数据低位在内存低位。

那么什么是数据的高位哪?什么又是内存的低位哪?我们知道内存地址是内存编号,每一个编号代表一个内存单元。假设内存地址为0x004FFC3C里面存储的数据是0x12345678。看图2-7-6中内存窗口,内存地址为0x004FFC3C存储的数据为0x78563412,我们存进去的数据是0x12345678。这里我们拆分数据0x12345678,如表2-7-1所示:


数据0x12345678是按字节为单位显示:12为高位依次是 34、56、78;

内存地址0x004FFC3C:是按字节为单位显示:从低位到高位依次为0x004FFC3C、0x004FFC3D、0x004FFC3E、0x004FFC3F。


还有一种说法把大端模式称为“大尾”,小端模式称为“小尾”。市场上80X86这种CPU绝大多数是用小端模式进行存储,如果是ARM绝大多数都是大端存储。采取大端模式还是小端模式,还受到编译器的影响,可以在编译器上更改存储模式。

例:

向内存中写入四个字节的数据,并观察存储模式(大端存储/小端存储)。

MOV DWORD PTR DS:[0x004FFC40],0x11223344

第一步:输入指令,如图2-7-7所示:

第二步:按F8单步执行,通过内存窗口观察它们的存储情况,如图2-7-8所示:


0x004FFC40的数据为44,后面的地址依次为0x004FFC41、0x004FFC42、0x004FFC43的数据。44是数据的低位,0x004FFC40是内存的低位。数据低位存在内存低位上,所以该应用程序采取的小端存储模式。

u下一节介绍常用汇编指令。


练习:

什么是大端存储?什么是小端存储?

为什么会有大端存储和小端存储?请大家自己动手查资料吧,只需要了解。

自己观察内存中的数据存储方式与寄存器中的存储方式一样吗?

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,377评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,390评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,967评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,344评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,441评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,492评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,497评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,274评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,732评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,008评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,184评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,837评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,520评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,156评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,407评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,056评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,074评论 2 352

推荐阅读更多精彩内容

  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 10,939评论 6 13
  • 搬运自牛客网大神总结 extern关键字 extern修饰变量是个声明,此变量/函数是在别处定义的,要在此处引用 ...
    leon4ever阅读 3,654评论 0 9
  • 1. 基础知识 1.1、 基本概念、 功能 冯诺伊曼体系结构1、计算机处理的数据和指令一律用二进制数表示2、顺序执...
    yunpiao阅读 5,285评论 1 22
  • 什么是ORM? 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面...
    sirius_ztz阅读 8,361评论 1 4
  • 我盖了一所房子 周围种满太阳花 阳光透过窗照进来 我脸上红的发黄 今晚去闻一夜花香 小屋咯吱咯吱作响 也没有了太阳...
    6271fdd26b81阅读 115评论 0 1