trance110 发表于 2011-10-10 21:38:45

老DJ学汇编-第二章-第一课-寄存器(作业)

本帖最后由 trance110 于 2011-10-10 21:41 编辑

首先在这里感谢小甲鱼老师的免费课程。能让我们这些过早离开学校进入社会的人,能够以轻松,快乐,和系统化的学习汇编本人穷人一个,也没有太多的钱拿来支持小甲鱼老师。所以,以后每学一节课,我都会把自己所学的知识,以干干净净的作业方式递交到这里。以此感谢小甲鱼老师,和贵站所有成员。
CPU的概述一个典型的CPU由运算器,逻辑控制器,寄存器等器件组成,这些器件靠内部总线项链。区别:内部总线实现CPU内部各个器件之间的联系。外部总线实现CPU和主板上其他器件的联系。
寄存器概述8086CPU有14个寄存器,他们的名称分别为:AXBXCXDXSIDISPBPIPCSSSDSESPSW.8086CPU所有的寄存器都是16位的,可以放两个字节。2.1通用寄存器AXBXCXDX通常用来存放一般性数据,被称为通用寄存器。下面以 AX 为例,让我们看下寄存器的逻辑结构。如图一所示(图一)http://bbs.fishc.com/data/attachment/album/201110/10/212707a7azorvshdddhzus.jpg
16位数据在寄存器中的存放情况数据:18二进制表示:10010在寄存器AX中的储存:如图二所示(图二)http://bbs.fishc.com/data/attachment/album/201110/10/212708obbbdt1tiuuput4x.jpg
数据:20000二进制表示:100111000100000正寄存器AX中的储存:如图三所示(图三)http://bbs.fishc.com/data/attachment/album/201110/10/212709jjdpfl29sc9zqdwp.jpg
一个16位寄存器可以储存一个16位的数据。一个16位寄存器所能存放的数据的最大值是多少?答案:2的16次方减1。8086上一代CPU中的寄存器都是8位的。为保证兼容性,这四个寄存器都可以分为两个独立的8位寄存器使用。 AX可以分为AH和AL,AH是高位的意思,AL是地位的意思。BXCXDX一次类推。8086CPU的8位寄存器储存逻辑以AX为例,8086CPU的16位存储器分为两个8位寄存器的情况:如图四所示(图四)
http://bbs.fishc.com/data/attachment/album/201110/10/212709i9vdvgb445buzfxu.jpg

AX的底8位(0位~7位)构成了AL寄存器AX的高8为(0位~8位)构成了AH寄存器AH和AL寄存器时可以独立使用的8位寄存器。
8086CPU的8位寄存器数据储存情况:如图五所示(图五)http://bbs.fishc.com/data/attachment/album/201110/10/212711l61b137b3le1exzl.jpg

一个8位寄存器所能储存的数据的最大值是多少?答案:2的8次方减1


幕府幽魂 发表于 2011-10-10 21:46:17

作业完美,请问你为什么学汇编?

trance110 发表于 2011-10-10 22:01:23

为了一口气,我哥哥(二姑的孩子)是学C的,他也稍微懂点汇编知识,而我在用E易语言编程的时候也经常要用到汇编语言,所以我就老是去问他,他总是打击我的自信心。所以,我如果不把汇编学好,我就永远在他面前抬不起头。我就不信,同样一个脑袋,别人学的会的知识,我就学不会。我不是IT人士,但对编程很感兴趣。以前因为工作的原因,大江南北到处乱跑,没能系统化的学习。现在下岗了,所以有的是时间去学习。呵呵~!希望可以在这里学到真正的知识!

幕府幽魂 发表于 2011-10-10 22:12:32

本帖最后由 幕府幽魂 于 2011-10-10 22:13 编辑

我看你如此认真才有如此一问的:hug:你一定可以学好,呵呵~

trance110 发表于 2011-10-10 22:17:20

谢谢楼上同学的鼓励,我会努力的!
以后就把这里当家了。以后在学习上肯定少不了麻烦你们!

gj8438 发表于 2011-10-10 22:55:40

同样学习中。

tsembrace 发表于 2011-10-10 23:23:43

再送楼主一个词:坚持!
加油吧~
页: [1]
查看完整版本: 老DJ学汇编-第二章-第一课-寄存器(作业)