汇编 形象地讲解一下寄存器
现在想像你有一个不明白的问题要去图书馆查资料解决,于是你拿着自己的纸质小本本上路了……你需要做的是:1、在图书馆找到你要查阅的资料;2、把重点记在你的小本本上;3、拿着小本本仔细思考你所记载的内容和你要解决的问题之间的逻辑关系;4、BINGO!脑中灵光一闪,答案想到了!5、合上你的小本本,开心的回家吧~~~
在WINDOWS环境下,我们把这件无厘头的小事和硬件做个对比:
1、硬盘(或其他外部存储器)就像图书馆,因为海量的知识都在图书馆的书(文件)里,分门别类存在不同的房间(分区)、柜子(文件夹)中,你需要背景音乐?很好,它就存放在你的D盘下的MUSIC文件夹里。
2、内存就像你手里拿的纸质小本本,它能确保当你在图书馆中找到自己需要的资料后,把重点内容摘抄下来(需要运行的程序、数据,都会先读入内存),以便后期进行思考分析工作(在适当的时机用这些数据和CPU对话)。
3、CPU就像你的大脑,完成逻辑、运算等屌爆了的事情。它会看(读取)本子上记录的笔记(数据),然后分析这些笔记和自己的疑问之间存在什么关系,并寻找解决问题的方法(算法,程序的灵魂。当然,CPU不会创造算法,这是你丫自己的事,写好算法告诉CPU,作为人类,这点担当还是要有的)。
更深入的分析你的大脑(或者你的宝贝CPU)。试想,大脑是个实心球体吗?Absolutely NOT!当然CPU也不会仅仅是一块铁片而已,图解来了!
对于CPU,想理解多深入,是个人问题,我只解释到寄存器为止。看到图上有不少寄存器吧?实际情况是CPU内的寄存器数量比这多多了,当然,是可以心算的数量,与内存是无法相比的,更不用说外存了。它们就像大脑内的脑细胞神经元组合体,负责大脑内信息(CPU内数据)的存储。注意几个地方:a.它还是记忆体(存储器);b.它很小,一个就8bit/16bit/32bit/64bit/128bit...这么大点儿;c.它很快,它可是CPU的脑神经元,自然是所有记忆体中最快的一个,存储器速度排序:寄存器>CACHE>内存>外存。
回到我们第三步在做的事情,可以重新这样扩展:看(读取)小本本上的笔记(内存数据),大脑思考逻辑关系(数据流向:内存--寄存器--ALU)。
4、BINGO!大脑想到了解决方案(ALU算出了结果),然后你把你的思考成果记录在了笔记本(数据流向:ALU--寄存器--内存)。
5、合上本本,回家咯。后来你依靠你的很多本本上的成果,完成了一项伟大的事业,并将它写成了一本书(形成文件),大家争相抢购,当然,图书馆也进了几本,摆在了某个房间的书架上(完成了外部存储),GOOD ENDING……
够不够形象呢?^_^
顺便说一下B800段的事,你是在DOS下运行的话,B800没问题。因为DOS认为显示缓冲的起始地址就是A000:0,一根筋,一般人都拿他没办法。B800是显示缓冲里文本模式的起始段,DOS下想显示几个字?简单,把这些字的ASCII码写进这个段里就OK了。
第一次回答问题,给个面子哈~~~除了图片以外,绝对原创哦~~~
1 首先要掌握 寄存器与存储器的区别:
二者都有存储数据的功能,但存储器在CPU的外部,如内存条 数量很大
寄存器则是在CPU的内部,数量有限,为数不多
由于寄存器距离CPU最近
所以CPU访问寄存器的速度最快,对于要高频率访问的数据,如循环次数一般
一般都定义成寄存器变量
2 寄存器的类型一般可以分成: 通用寄存器和专用寄存器
如AX就通用的数据寄存器
专用寄存器(段寄存器、标志寄存器、指令指针寄存器) 专门存放特殊的数据
3 一般计算机程序都是通过控制寄存器去实现对外围硬件电路的控制的。
形象地可以理解寄存器就是在CPU内部的一种特殊的存储器。
呵呵 满意就选满意回答吧
为什么mov ax,#0xb800 中,0xb800就是显存位置,显存是什么
显存是显卡上的存储器 专门用来存放要显示的数据或图形信息等