第3章 存储器(X86汇编教程)
存储器,指电脑里用来存储数据的东西.比较常见的有:内存,硬盘,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进行数学计算后,根据不同的计算结果往里面输入数据,从这里能看出代码的上一步计算结果是不是有特殊含义.
存储器X86汇编教 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)