微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 第3章 存储器(X86汇编教程)

第3章 存储器(X86汇编教程)

时间:12-01 来源:互联网 点击:
思考了这么久,总算想清楚了这章的主题,同样,很重要(没有哪一章是不重要的!).

存储器,指电脑里用来存储数据的东西.比较常见的有:内存,硬盘,U盘,记忆卡.光盘等各种存储器.

存储器的存储数据方式分

缓存,储存在里面的数据关机就会消失,一般用来放些随时要用的数据,比如正在运行的代码.计算到一半的数学算式.正在播放的音乐,正在看的视频(当然,这些数据大多播放完毕就会从缓存中删除)

保存,数据关机后仍然存在,存放需要保存的数据,游戏,音乐,视频之类的.

2种,缓存一般很小,比如内存,只有几G而已.但数据操作速度超快.一秒钟五十亿上下~

保存的一般很大,硬盘,成百上千G的,速度慢了点.一秒只有几十万上下(据说有种叫做固态硬盘的,一个500G要2千多RMB,操作大文件速度超快(当然,不会快过内存),原理:那是用U盘拼起来的,无数个U盘一起存放文件速度当然快)

存储器的读写权限分

可读写(可以自由读写数据)

只读(只能读取数据,不能写入)

只写(只能写入数据不能读取)

这3种(一些特殊的就不提了),硬盘和内存是可读写的(内存特殊点,有个叫做保护模式的东东,内存有些地方不能读写),只读,光盘就是只读存储器的典范(什么?你说刻录光盘?都说特殊的不提了)

这里,介绍一种你可能没听过的存储器----寄存器

它存在于CPU里面,不同的CPU有不同的寄存器.这里讲的是X86汇编教程,我就拿80186(X86第1个版本)的寄存器来说吧,寄存器是最小的存储器,80186的寄存器最大只能存储一个字形数据(16比特bit,2个字节byte).当然,寄存器不止一个,有十来个,每个都有专门的名字,

最常用的就是AX ,BX,CX,DX,这4个了,这4个寄存器又叫做通用寄存器,是16位的,用来进行数学计算储存数据,是寄存器里面特殊作用最少的一组寄存器(专门用来储存数学计算中间结果的.如果特殊作用多了,那岂不麻烦?),这4个寄存器还能分别分成2个8位寄存器使用,AX能分成AH,AL,BX能分成AH,AL 依次类推,AH是AX的高8位,AL是AX的低8位,什么是高位低位呢?这么说把.一个2位十进制数.15,其中,1是十位数,5是个位数,1就是高位,5就是低位

CPU和必须依靠内存才能运作,因为代码(详细点说应该是机器码) 是放在内存里的,CPU在内存中读取代码进行计算.操作内存常用的段寄存器:SS,CS,DS,ES(全为16位)和偏移寄存器:IP,SP(16位)在 80186里,操作内存一定要2个寄存器配合(以后再详解).其中,CS和IP常配合指向即将执行的代码,SS和SP则指向内存一个叫做堆栈的地方,能和段寄存器配合进行内存寻址的不止IP和SP,还有SI,DI,BP(也是16位)以及通用寄存器.

SI,DI,BP和通用寄存器差不多,但有些特殊作用(以后讲解)

PSW,标志寄存器,CPU进行数学计算后,根据不同的计算结果往里面输入数据,从这里能看出代码的上一步计算结果是不是有特殊含义.

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top