《汇编语言》学习笔记 第二章之寄存器

来源:互联网 发布:mysql match 完全匹配 编辑:程序博客网 时间:2024/04/30 06:14

     大家好,我是cpu,大家可以称呼我小c,初来乍到,有很多东西不会干,还请大家多多包涵。

现在把我现在能力说一下,大家可以指挥我去做,当然,您要有指挥棒才行,否则我不听你的使唤。指挥棒是什么呢,嘿嘿,汇编语言。

我知道我目前的操作对象是存储器,还有其它的我能操作?也许吧,但现在我还不知道,因为我是新来的嘛!存储器包含了主板上的,内存条的,显卡的,声卡的,打印设备的,等等。可以改写的及不可改写的,统统在的我管辖范围内。我把他们从0开始编上号。0,1,2,......FFFFF。为什么只能到FFFFF呢。呵呵,因为我的地址总线宽度为20位的。所以只能管到这么多了,后面的我就不管了,他们爱昨地昨地吧。

我的另一个别名叫做:中央处理器。为什么是中央,因为我神通广大嘛。就好似一个人的心脏,是最重要的一个部位。下面把我的五脏六腹简单的介绍给大家。存东西的小仓库--寄存器:有下面几个:ax ,bx,cx,dx,si,di,bp。这几个我一般用它们存些杂七杂八的东西。当然,这几个小仓库里还有小间隔,可以分开存放,哦,不对,si,di,bp没有,我忘了,呵呵。还有几个专用的仓库:DS,ES,SS,CS

PSW.他们几个能力比较强些,所以用他们存些比较重要的专用的东西。这样秩序井然,不会乱了。一般不会改了。为了更好的的挥他们的作用。还给他们配备了几个小仓库。比如,我给DS配备了SI,给ES配备了BP,这二个不是一成不变的,有需要可以临时调度嘛。给SS配备了sp,给CS配备了IP等等。这里要特别说明一下CS和IP.他们可是我的得意干将,我能工作全靠他俩的配合。为什么这么说呢?这么给你说吧:“我们最重要的事是正在做的事。”这句话就反应了我的工作态度。我工作是先做好目前的这个再去做其它的。决不会吃着碗里的看着锅里的。(当然,有两个以上脑袋我可能会三心二意了)CS,IP给我的工作指引了方向。他们指向哪去了?地址嘛。比如:他们说:“你先去东边锄地”,于是我就去东边(地址)把地锄完(内容)。“然后你再去西边拔草”,于是我又去西边把草拔完。

CS里存放的是什么呢?:大地址(段地址),IP里面存放的是小地址(偏移地址)他们俩相互配合然后给我指定了任务。具体工作流程是这样的:我读取了CS,IP指向的指令,送入指令缓冲器,CS,IP确认我领到任务后,再指向下一个指令。然后我再处理领回家的任务。依次类推。当然,也有管理他们的指令,不然他们会一直傻不拉即的顺序向后指引。什么呢。跳转指令呗。至于是如何修改CS,IP的。我也不知道。反正我知道,JMP XXXX:XXXX 是同时修改他们俩。JMP  XXXX 只修改IP JMP AX 把我的小仓库中的内容送到IP 。然后执行AX地址处的任务。

你可以在DEBUG 中。调试。比如:R 查看我的各个小仓库中的内容以及我的状态。R IP ,R  CS ,R AX 等等,更换我的仓库里的东西。D 查看存储器里的内容。(例:D xxxx:xxxx,D XXXX:X   X)等形式。E 修改存储器里的内容。U 以汇编形式查看存储器里的指令。  A 以汇编形式修改存储器里的指令。为什么说 D E 是查看和修改内容,而U  A 是查看和修改指令呢。其实,他们是一个意思。CS ,IP指向的就是指令,不指向的就是数据。只不过U A 这种形式看起来比较直观,就像指令一些。呵呵。

好了,23:20了。今天说聊到这吧。后面我会慢慢告诉你操作我的方法和技巧。身体是革命的本钱,更好的休息是为了更好的工作,睡觉!

原创粉丝点击