美文网首页
2.7数据存储模式

2.7数据存储模式

作者: 编程达人 | 来源:发表于2018-08-24 14:44 被阅读0次

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下一节介绍常用汇编指令。

练习:

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

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

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

相关文章

  • 2.7数据存储模式

    2.7数据存储模式 本节必须掌握的知识点: u掌握存储模式 u大端存储模式、小端存储模式的概念 u掌握DTDebu...

  • php设计模式(五)数据对象映射模式

    数据对象映射模式 orm 对象和数据存储映射,对对象的操作映射为对数据的存储操作

  • SQL基本知识点整理

    一、基础 模式定义了数据如何存储、存储什么样的数据以及数据如何分解等信息,数据库和表都有模式。 主键的值不允许修改...

  • 安卓常见数据存储

    SharedPreferences模式 找到存储的数据在哪里 外部存储 动态授权操作 新版本存储地址 内部存储

  • 大小端模式

    在存储器中的数据存储方式有两种: 大端模式 小端模式 大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字...

  • Redis持久化存储

    Redis中数据存储模式 cache-onlypersistence 对于persistence持久化存储,Red...

  • MongoDB

    MongoDB简介 MongoDB 是一个基于分布式文件存储的数据库。 MongoDB存储模式 数据库存储集合,集...

  • 计算机等级考试三级数据库复习(七)

    1.一个数据库只有一个内模式。内模式也叫存储模式。它是数据物理结构和存储方式的描述 不同的用户访问同一个数据库对...

  • MongoDB的主要特点及适用于哪些场合?

    特点: 高性能、易部署、易使用,存储数据非常方便。主要功能特性有:面向集合存储,易存储对象类型的数据。模式自由。支...

  • 知识图谱的模式层和数据层设计

    知识图谱分为模式层和数据层两部分:其中模式层是是知识图谱的核心,在模式层存储的是经过提炼的知识;数据层存储的是具体...

网友评论

      本文标题:2.7数据存储模式

      本文链接:https://www.haomeiwen.com/subject/oqgbiftx.html