第4章 内存数据(X86汇编教程)

发布者:静逸心境最新更新时间:2015-05-15 来源: 51hei关键字:内存数据  X86  汇编教程 手机看文章 扫描二维码
随时随地手机看文章
      内存,储存临时数据的地方.在运行中的程序.正在看的图片,正在编辑的文本,你现在在看的这章教程,一律都被拷贝一份在内存里.
 
这一章讲的就是内存数据了.现在的电脑,内存都上G了吧.但是,你知道么?在电脑刚开机那会儿,最多能用1MB的内存!这是因为CPU其实有几个模式,实模式和保护模式,以及64位模式,(再往后的更强大的模式我就不说了,因为......我也不知道!)访问内存,就需要寻址,刚开机的时候,CPU在实模式下,什么是实模式呢?那是很久以前的CPU的16位模式,那时候的电脑内存只有1MB,也就是说寻址方式只要够寻址1MB就行了.自然不可能数G内存都用上.后来80386CPU的32位保护模式出来了(其实中间有个80286,从286开始就有保护模式了,不过似乎不是32位的),386保护模式的寄存器是32位了.能寻址4GB内存(暂时只教实模式,保护模式之类就不详细说了.以后再看看能不能也写进这教程里)现在新出现的80686有64位模式,寄存器是64位的.
        嘛,说重点,实模式的寻址方式.内存是一维的,数据都按照一条线排列,访问内存需要提供一个内存地址.内存第1个字节的地址是0,(电脑数学,0是起点),恩,就是那样,第2个字节的地址是1.依次类推.寻址方式就是访问内存提供地址的方式.在实模式里,寄存器有16位,也就是说单独一个寄存器能表达的地址最多只有64KB(请自行验证,验证方法:用计算器的二进制模式,输入16个1,转10进制)
        64KB啊!那明显不够用啊!所以,实模式寻址使用2个寄存器进行寻址,按照"段:偏移"的方式寻址.
        前面说过段寄存器CS,DS,ES,SS,就是专门用来寻址用的,存储"段"那部分的数据.至于"偏移"部分的数据嘛...可以用寄存器BX,SI,DI,SP,IP,BP中的任何一个来表示,也可以直接用数字表示.实例:
 
CS:BX
CS:1234
        那么,"段:偏移"又如何表达一个一维地址的呢?请看下边:
 
CPU 通过地址线通知内存它要操作的地方.在CPU里面有20根地址线,也就是说,"段:偏移"寻址方式只能寻址20位的地址(所以说就算2个16位寄存器合一起,想寻址32位的内存地址那也是不行的...),20位,也就是1MB.那么,把2个16位的数据转换成20位呢?
算法是这样的:
(段*16)+偏移
恩,段寄存器里面的数值乘以16(在16进制中是10)加偏移地址.
实例:
段寄存器=15
偏移地址=128
于是寻址得到的内存地址为:(15*16)+128=368

 
        恩, 讲完寻址方式了.接着讲数据的低位高位排序.将来在学习过程中,你会碰到一些数字倒过来储存的情况,比如说五万三千二百一十七,储存在内存中却是 71235,这就是高位和低位按顺序排列了,在这个数字里,7是个位,所以在最前,1是十位所以第2.以此类推.也许你已经震惊的发现了,没错,电脑中的数字没有反,是我们现实中用的数字反了,五万三千二百一十七我们用53217表示,我们把最高的万位的5放在了最前面!在寄存器中也是如此,低位在前高位在后.

 
        接着讲讲汇编中的数字表示方式吧.在汇编中可以输入10进制2进制16进制等数字(当然,编译生成代码后都是2进制.)这么多的进制,如果没有说明,汇编编译器一定会弄错.那么我们如何向编译器表示哪个数字是多少进制的呢?
        我们可以在数字后边加个英文字母表示,2进制的数字在后边加B,实例:01110011B  16进制的数字则在后边加H,实例:1F3AH,至于10进制则不需要,所有的数字进制后边都有一个英文字母,那么其中一种进制不用也没关系的是吧?因为10进制最常用所以就把后边不用加英文字母的权利给了它,在汇编中10进制数字不用特殊表示.
        另外,由于16进制涉及到了英文字母,ABCDEF,有可能和汇编代码弄混,所以,如果16进制第一个数字是英文字母,则必须在前面加个0.
        实例:
 
        A2H
 
        必须写成:
 
        0A2H

 
好了,本章就说道这里了~
关键字:内存数据  X86  汇编教程 引用地址:第4章 内存数据(X86汇编教程)

上一篇:第6章 动手操作-DEBUG的使用2(X86汇编教程)
下一篇:第2章 一些数据单位(X86汇编教程)

推荐阅读最新更新时间:2024-03-16 14:02

加州理工开发出可瞬间存储数据的光量子内存芯片
  据外媒报道, 加州理工 大学的研究人员们,已经开发出了一款能够以“光的形式”、“纳米级速度”存储量子信息的计算机 芯片 。下面就随网络通信小编一起来了解一下相关内容吧。     这标志着量子计算机和网络的一项最新突破,在更小的设备上实现更快的信息处理和数据传输。传统计算机系统中的内存部件,只能将信息以“0”或“1”的形式存储。尽管仍处于实验阶段,但量子计算机的基本原理还是一样的,即以“量子比特”来存储数据——除了“0”和“1”,量子比特还允许两种状态共存。   类似Caltech开发的这种光量子设备,能够以光子的形式存储和携带信息。因其没有电荷或质量,所以更快速、更安全。论文一作TianZhong表示:   这项技术不仅可以
[网络通信]
加州理工开发出可瞬间存储数据的光量子内存芯片
  据外媒报道, 加州理工 大学的研究人员们,已经开发出了一款能够以“光的形式”、“纳米级速度”存储量子信息的计算机芯片。这标志着量子计算机和网络的一项最新突破,在更小的设备上实现更快的信息处理和数据传输。传统计算机系统中的内存部件,只能将信息以“0”或“1”的形式存储。尽管仍处于实验阶段,但量子计算机的基本原理还是一样的,即以“量子比特”来存储数据 —— 除了“0”和“1”,量子比特还允许两种状态共存。下面就随网络通信小编一起来了解一下相关内容吧。   类似 Caltech 开发的这种光量子设备,能够以光子的形式存储和携带信息。因其没有电荷或质量,所以更快速、更安全。论文一作 Tian Zhong 表示:   这项技术不仅可以
[网络通信]
用双端口RAM实现与PCI总线接口的数据通讯
  采用双端口RAM实现DSP与PCI总线芯片之间的数据交换接口电路。   提出了一种使用CPLD解决双端口RAM地址译码和PCI接口芯片局部总线仲裁的的硬件设计方案,并给出了PCI总线接口芯片寄存器配置实例,介绍了软件包WinDriver开发设备驱动程序的具体过程。   随着计算机技术的不断发展,为满足外设间以及外设与主机间的高速数据传输,Intel公司于1991年提出了PCI总线概念。PCI总线是一种能为主CPU及外设提供高性能数据通讯的总线,其局部总线在33MHz总线时钟、32位数据通路时,数据传输速率最高可达133Mbps。实际应用中,可通过PCI总线实现主机与外部设备的高速数据传输,有效解决数据的实时传输和存储问题,
[嵌入式]
回击ARM 英特尔将提供定制化X86处理器
据国外媒体报道,在新任CEO Brian Krzanich和新总裁Renée James掌管下的英特尔公司在策略上将面临一系列转变:这家芯片巨头希望进军除个人电脑和传统服务器市场以外的计算领域,扩大竞争优势。 其中即包括为大型客户的服务器提供定制化X86处理器。英特尔过去曾在这方面做过一些尝试,现在则要与ARM及ARM的合作伙伴展开定制化竞争。 英特尔此举也在意料之中,大家都希望处理器厂商应该提供带深度排序算法的芯片,芯片的器件应更耐高温,它们的电压和时钟频率是可改变的,以适应特别 的温度环境。用户还期望芯片在因超频而超过标准处理器温度时的限时性能更理想。(在这方面ARM已有多年经验,而且还做得更全面:这家英国的处理器核心
[单片机]
ARM展望2017:根本就没把x86放在眼里
x86架构虽然极力想进入移动世界,但是在ARM看来对手根本就不会有机会,而凭借独特的授权盈利模式,ARM自认为在未来几年仍将过得如鱼得水。 ARM预计,到2017年的时候,全球智能手机销量将达到18亿部。ARM还按照价位将它们分成了三个档次: 150美元以下的是入门级,预计规模将达8.5亿部,占据几乎半壁江山,同时是现在的四倍。这里的处理器是多核心Cortex-A53/A7,面积25-40平方毫米,平均售价不超过5美元——现在需要接近10美元。 200-350美元是中端主流,预计规模5.5亿部,而目前还不到2亿部。处理器以A9、A12为主,图形核心也有一定的通用计算能力,平均售价5-15美元——现在是10-20美元
[手机便携]
DSP在变电站综合自动化系统中的应用
引言   变电站综合自动化系统是将变电站的二次设备经过功能组合和优化设计,综合利用先进的多种学科技术,集成于一体的自动化系统 。从系统的结构看,全分散式的设计思想越来越显现出优越性。由于变电站的数据量和信息量大,实时性要求高,则将高性能DSP应用于变电站综合自动化的设计方案中。其内部哈佛结构使数据空间和程序空间分离,独立的总线和程序总线允许程序数据同时操作;具有独特的逆寻址方式,能高效的进行快速傅立叶变换运算降低了软件的编写困难;采用内存映射方式管理I/O,能灵活方便的扩充外围电路。 1 系统的整体结构设计   采用TI 2000系列的TMS320F2812芯片为核心处理器,整体采用全分散式结构,集监测、保护、控制、远动等为
[应用]
基于x86平台的Android 7.0放出:PC跑安卓
x86的平台上跑安卓是开源生态赋予谷歌操作系统的新活力,适合于那些轻量级的PC场景,比如技德的Remix OS。 遗憾的是,因为不可描述的原因,Remix OS已经不再继续,但Android x86的薪火却传递下去了。 据WL报道,安卓社区爱好者已经在2017年1月放出了基于Android Marshmallow(安卓6.0)的Remix OS开发版,现在,基于Android Nougat(安卓7.0)的稳定版也正式登陆。 这意味着,拥有一台轻薄笔记本的你,可以尝试安装上这套系统,不仅有着完整的键鼠支持,而且可以随意从Play Store下载APP运行。
[手机便携]
x86构架的SoC及STPC的一种应用
摘要:讲述x86构架的SoC的发展及近况,并描述一种基于STPC-Industrial芯片的网络终端设备的设计与实现。这种网络终端设备具有体积小、结构简单、功能强、软件适应性强的特点。 关键词:SoC STPC DoC 新世纪电子工程师们面临的一个重要课题就是如何面对国民经济和社会生活的信息化挑战。以网络通信、软件和微电子为主要标志的信息产业的飞速发展,既为我们提供了一个前所未有的发展机遇,也营造了一个难得的市场与产业环境。随着电子工业中深亚微米、超深亚微米技术的突破,以往电子工程师们擅长的电路设备正在一步步被IC设计所取代。也正是由于这种小型化的趋势,使得SoC(System on Chip)成为超大规模集成电路(VLSI
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved