- 博客(33)
- 收藏
- 关注
原创 检测点2.2
(1)给定段地址为0001H,仅通过变化偏移地址寻址,CPU的寻址范围为多少到多少? 答:物理地址=SA*16+EA EA的变化范围为0H~FFFFH 物理地址范围为(SA*16+0H)~(SA*16+FFFFH) 现在SA=0001H,那么寻址范围为 (0001H*16+0H)~(0001H*16+FFFFH) =00010H~1000FH (
2017-04-08 07:25:28
8459
原创 2.9段寄存器
我们前面讲到,8086CPU在访问内存时,要由相关部件提供内存单元的段地址和偏移地址,送入地址加法器合成物理地址。 这里需要看一下,是什么部件提供段地址。段地址在8086CPU的段寄存器中存放。8086CPU有4个段寄存器:CS、DS、SS、ES。当8086CPU要访问内存时,由这4个段寄存器提供内存单元的段地址。本章只看一下CS。 问:段寄存器是什么?
2017-04-06 11:41:20
4287
原创 2.8段的概念
我们注意到,“段地址”这个名称中包含着“段”的概念。这种说法可能对一些学习者产生了误导,使人误以为内存被划分成一个一个的段,每一个段都有一个地址。如果我们在一开始形成了这种认知,将影响以后对汇编语言的深入理解和灵活应用。 其实,内存并没有分段,段的划分来自于CPU。由于8086CPU用“基础地址(段地址×16)+偏移地址=物理地址”的方式给出内存单元的物理地址,使得我们可以用分段的
2017-04-05 08:00:00
6761
原创 2.7“段地址×16+偏移地址=物理地址”的本质含义
注意,这里讨论的是8086CPU段地址和偏移地址的本质含义,而不是为了解决具体的问题,而在本质含义之上引申出来的更高级的逻辑意义。 不管以多少种不同的逻辑意义去看待“段地址×16+偏移地址=物理地址”的寻址模式,一定要清楚地知道它的本质含义,这样才能更灵活地利用它来分析解决问题。 如果,只拘泥于某一种引申出来的逻辑含义,而模糊本质含义的话,将从意识上限制对这种寻址功能的灵活应用
2017-04-05 06:56:13
10397
8
原创 2.6 8086CPU给出物理地址的方法
8086CPU有20位地址总线,可以传送20位地址,达到1MB的寻址能力。8086CPU又是16位结构,在内部一次性处理、传输、暂时存储的地址为16位。 从8086CPU的内部结构来看,如果将地址从内部简单地发出,那么它只能送出16位的地址,表现出的寻址能力只有64KB。 8086CPU采用一种在内部用两个16位地址合成方法,来形成一个20位的物理地址。
2017-04-05 06:51:00
4755
2
原创 2.5 16位结构的CPU
我们说8086CPU的上一代CPU(8080、8085)等是8位机,而8086是16位机,也可以说8086是16位结构的CPU。那么什么是16位结构的CPU呢? 概括地讲,16位结构(16位机、字长为16位等常见说法,与16位结构的含义相同)描述了一个CPU具有下面几方面的结构特性: (1)运算器一次最多可以处理16位的数据; (2)寄存器的最大宽度为16位;
2017-04-05 06:49:38
2759
原创 2.4物理地址
我们知道,CPU访问内存单元时,要给出内存单元的地址。所有的内存单元构成的存储空间,是一个一维的线性空间。每一个内存单元在这个空间中都有唯一的地址,我们将这个唯一的地址称为物理地址。 CPU通过地址总线送入寄存器,必须是一个内存单元的物理地址。在CPU向地址总线上发出物理地址之前,必须要在内部先形成这个物理地址。不同的CPU可以有不同的形成物理地址的方式。我们现在讨论8086CPU
2017-04-05 06:48:03
1471
原创 2.3几条汇编指令
通过汇编指令控制CPU进行工作,看一下表中的几条指令: 汇编指令举例 汇编指令控制CPU完成的操作用高级语言的语法描述mov ax,18将18送入寄存器AXAX=18mov ah,78将78送入寄存器AHAH=78add ax,8
2017-04-05 06:44:17
2010
原创 2.2字在寄存器中的存储
出于对兼容性的考虑,8086CPU可以一次性处理以下两种尺寸的数据: (1)字节:记为byte,一个字节由8个bit组成,可以存在8位寄存器中。 (2)字:记为word,一个字由两个字节组成,这两个字节分别称为这个字的高位字节和低位字节,如下图所示: 一个字由两个字节组成 一个字可以存在一个16位寄存器中,这个字的的高位字节和低位字节,自然也就存在这个寄
2017-04-05 06:40:14
2914
原创 检测点2.1
(1)写出每条汇编指令执行后相关寄存器的值。 mov ax,62627 AX=F4A3H mov ah,31H AX=31A3H mov al,23H AX=3123H add ax,ax AX=6246H mov bx,826CH BX=826CH mov cx,ax CX=624
2017-04-05 06:38:02
1877
原创 2.1通用寄存器
8086CPU的所有寄存器都是16位的,可以存放两个字节。AX、BX、CX、DX这4个寄存器通常用来存放一般性的数据,被称为通用寄存器。 以AX为例,寄存器的逻辑结构如下图: 16位寄存器的逻辑结构 一个16位寄存器可以存储一个16位的数据,数据在寄存器中的情况如下图所示: 16位数据在寄存器中存放的情况 想一想,一个16位的寄存器所
2017-04-04 19:33:59
1633
1
原创 2.0第二章寄存器
一个典型的CPU(此处讨论的不是某一具体的CPU)由运算器、控制器、寄存器(CPU工作原理)等器件构成,这些器件靠内部总线相连。 前一章所说的总线,相当于CPU内部来说是外部总线。内部总线实现CPU内部各个器件之间的联系,外部总线实现CPU和主板上其他器件的联系。简单地说,在CPU中: (1)运算器进行信息处理; (2)寄存器进行信息存储; (3)控制
2017-04-04 19:28:07
996
原创 1.15内存地址空间
上述的那些存储器,在物理上是独立的器件,但是在以下两点上相同: (1)都和CPU的总线相连。 (2)CPU对它们进行读或写的时候,都通过控制线发出内存读写命令。 这也就是说,CPU在操控它们的时候,把它们都当做内存来对待,把它们总的看做一个由若干存储单元组成的逻辑存储器,这个逻辑存储器就是我们所说的内存地址空间。在汇编这门课程中,我们所面对的是内存地址空间。
2017-04-04 19:25:20
5429
原创 1.14各类存储器芯片
在一台PC机中,装有多个存储器芯片。这些存储芯片从物理连接上看是独立的,不同的部件。从读写属性上看又分为两类:随机存储器(RAM)和只读存储器(ROM)。 随机存储器可读可写,但必须带电存储,关机后存储的内容丢失;只读存储器只能读取不能写入,关机后其中的内容不丢失。这些存储器从功能上又可以分为以下几类: (1)随机存储器用于存放供CPU使用的绝大部分程序和数据,
2017-04-04 19:19:55
2136
原创 1.13接口卡
在计算机系统中,所有可用程序控制其工作的设备,必须受到CPU的控制。CPU对外部设备都不能直接控制,如显示器、音响、打印机等,直接控制这些设备进行工作的是插在扩展插槽上的接口卡。 扩展插槽通过总线和CPU相连,所以接口卡也通过总线同CPU相连。CPU可以直接控制这些接口卡,从而实现CPU对外设的间接控制。简单地讲,就是CPU通过总线向接口卡发送命令,接口卡根据CPU的命令控制外设进行工作
2017-04-04 19:18:22
3445
原创 1.12主板
在每一台PC机中,都有一个主板。主板上有核心器件和一些主要器件,这些器件通过总线(地址总线、数据总线、控制总线)相连。这些器件有CPU、存储器、外围芯片组、扩展插槽等。扩展插槽上一般插有RAM内存条和各类接口卡。 问:主板相当于什么?用现实生活来举例。 答:相当于人类的骨骼。 问:CPU、存储器、外围芯片组、扩展插槽相当于什么? 答:CPU好比大脑,存储器相
2017-04-04 19:17:26
16394
原创 1.11内存地址空间(概述)
什么是内存地址空间呢?举例来讲,一个CPU的地址总线宽度为10,那么可以寻址1024个内存单元。这1024个可寻到的内存单元就构成这个CPU的内存地址空间。下面进行深入讨论。首先需要介绍两部分基本知识,主板和接口卡。 问:什么是内存地址空间? 答:一栋大楼,寻找到的房间,就构成了内存地址空间。
2017-04-04 19:15:51
21148
原创 易经里的64个人生感悟
易经的智慧《易经》里的64个人生智慧和感悟 《易经》没有那么神秘,它就在我们的身边,我们每天的生活起居,工作事业,健康幸福,都受这64个哲理的左右。我们用科学的志度对待易经这64个哲理,就形成64个感悟,回答了人生64个怎么办。 第一感悟:养精蓄锐把握机会---学会定位 《易经》告诉人们,人在不同的年龄阶段的定位是不同的,而又是承前启后相互衔接密不可分的,因而又是不能超
2017-04-04 15:43:12
4183
2
原创 易经里的十句话
《易经》也称《周易》或《易》,是中国传统思想文化中自然哲学与伦理实践的根源,是中国最古老的占卜术原著,对中国文化产生了巨大的影响。下面就为大家介绍《易经》的十大警示名句,希望对大家有所帮助! 一、大喜易失言 言多必失,特别是在高兴的时候,其实那时的心态是善而良性的,因为希望倾诉,所以不吐不快;因为希望分享,所以广而告之。但是,心可以亢奋,话仍要沉稳。因为,说出去的话,再也不能收回。
2017-04-04 14:59:49
13986
转载 程序员是个大江湖之我来自编译门
每一行代码,都自具威力,每一个程序员,都是侠客。 编程为武,是这个江湖的终极法则。 我离开故乡的时候,村头的樱花刚开,在樱花下阿黄望了我很久。我又回望,远方的青山隐藏在云雾里,从中走出的一条细水缠绕着小村,水边散落着樱瓣,美的心醉。 我先转了身,再听到阿黄呜呜的离去。 必须要离开了。在这个村子里,竟然没有一个人会写C++,即使最牛叉的村长,也只会写两句C语言
2017-04-04 10:28:52
279458
3
原创 检测点1.1
(1)1一个CPU的寻址能力为8KB,那么它的地址总线宽度是多少? 答:2^n=8*1024 (2)1KB的存储器有多少个存储单元?存储单元的编号从多少到多少? 答:1KB存储器有1024个存储单元,存储单元编号从0到1023。 (3)1KB可以存储多少个bit?多少个Byte? 答:1KB可以存储8192个bit,1024个字节。 (4)1GB、1MB、
2017-04-04 07:46:52
11363
原创 1.10控制总线
CPU对外部器件的控制是通过控制总线来进行的。在这里控制总线是个总称,控制总线是一些不同控制线的集合。有多少根控制总线,就意味着CPU提供了对外部器件的多少种控制。所以,控制总线的宽度决定了CPU对外部器件的控制能力。 前面所讲的内存读或写命令是由几根控制线综合发出的,其中有一根称为“读信号输出”的控制线负责由CPU向外传送读信号,CPU向该控制线上输出低电平表示将要读取数据;有一
2017-04-04 07:45:26
17843
原创 1.9数据总线
CPU与内存或其他器件之间的数据传送,是通过数据总线来进行的。数据总线的宽度,决定了CPU和外界的数据传送速度。8根数据总线一次可传送一个8位二进制数据(即一个字节)。16根数据总线一次可以传送两个字节。 8088CPU的数据总线宽度为8,8086CPU的数据总线宽度为16.我们分别来看一下它们向内存写入数据89D8H时,是如何通过数据总线传送数据的。下图展示了8088CPU数据总
2017-04-04 07:42:37
25908
原创 1.8地址总线
现在我们知道,CPU是通过地址总线来指定存储器单元的。可见地址总线上能传送多少个不同的信息,CPU就可以对多少个存储单元进行寻址。 现假设,一个CPU有10根地址总线,让我们来看一下它的寻址情况。我们知道,在电子计算机中,一根导线可以传送的稳定状态只有两种,高电平或者是低电平。 用二进制表示就是0或者1,10根导线可以传送10位二进制数据。而10位二进制可以表示多少个不同的数据
2017-04-04 07:40:01
25357
原创 1.7CPU对存储器的读写
在上节的课程中讲到,存储器被划分成多个存储单元,存储单元从零开始顺序编号。这些编号,可以看做是在存储器中的地址。就像一条街,每个房子都有门牌号。 CPU要从内存中读取数据,首先要指定存储单元的地址。也就是说,它要先确定它要读取哪一个存储单元中的数据。就像在一条街上找人,先要确定他住在哪个房子里。 另外,在一台微机中,不只是有存储器这一种器件。CPU在读写数据时,还要指明它
2017-04-04 07:33:10
27049
原创 1.6存储单元
存储器被划分成若干个存储单元,每个存储单元从0开始顺序编号。列如一个存储器有128个存储单元,编号从0~127,如下图所示: 那么一个存储单元能存储多少信息呢?我们知道电子计算机的最小信息单位是bit(音译为比特),也就是一个二进制位。 8个bit组成一个Byte,也就是通常所讲的一个字节。微型机存储器的存储单元可以存储一个Byte,即8个二进制位。一个存储器
2017-04-04 07:26:54
25101
原创 1.5指令和数据
指令和数据是应用上的概念。在内存或磁盘上,指令和数据是没有任何区别的,都是二进制信息。CPU在工作的时候,把有的信息看做是指令,有的信息看做是数据,为同样的信息赋予了不同的意义。 就像围棋的棋子,在棋盒里的时候,是没有任何区别的。在对弈的时候,就有了不同的意义。 列如:内存中的二进制信息1000100111011000,计算机可以把它看做大小为89D8H的数据来处理,也可
2017-04-04 07:25:30
13416
原创 1.4存储器
CPU是计算机的核心部件,它控制整个计算机的运作并进行运算。要想让一个CPU进行工作,就必须向它提供指令和数据。指令和数据在存储器中存放,也就是我们平时所说的内存。在一台PC机中,内存的作用仅次于CPU。离开了内存,性能再好的CPU也无法进行工作。 这就像再聪明的大脑,没有了记忆也无法进行思考。磁盘不同于内存,磁盘上的数据或程序如果不读到内存中,就无法被CPU使用。要灵活地利用汇编语言编
2017-04-04 07:24:07
13238
原创 1.3汇编语言的组成
汇编语言发展至今,有以下3类指令组成。 (1)汇编指令:机器码的助记符,有对应的机器码。 (2)伪指令:没有对应的机器码,由编译器执行,计算机并不执行。 (3)其他符合:如+、-、*、/等,由编译器识别,没有对应的机器码。 汇编语言的核心是汇编指令,它决定了汇编语言的特性。 问:汇编指令,还可以怎么描述? 答:中文的“你好”与
2017-04-04 07:22:17
13432
原创 1.2汇编语言的产生
早期的程序员们,很快就发现了使用机器语言带来的麻烦。它是如此难于辨别和记忆,给整个产业的发展带来了障碍,于是汇编语言就产生了。 汇编语言的主体是汇编指令。汇编指令和机器指令的差别在于指令的表示方法上。汇编指令是机器指令便于记忆的书写格式。 列如:机器指令1000100111011000表示把寄存器BX的内容送到AX中。汇编指令则写成mov ax,bx。这样的写法与人类语言
2017-04-04 07:19:08
13431
原创 1.1机器语言
说到汇编语言的产生,首先要讲一下机器语言。机器语言是机器指令的集合,机器指令展开来讲就是一台机器可以正确执行的命令。 电子计算机的机器指令是一列二进制数字。计算机将之转变为一列高低电平,以使计算机的电子器件受到驱动,从而进行运算。 上面所说的计算机,指的是可以执行机器指令,进行运算的机器。这是早期计算机的概念。现在,在我们日常用的PC机中,有一个芯片来完成上面所说的计算机
2017-04-04 07:14:41
35486
1
原创 1.0第1章【基础知识】
汇编语言是直接在硬件之上工作的编程语言,我们首先要了解硬件系统的结构,才能有效地应用汇编语言对其编程。在本章中,我们对硬件系统结构的问题进行一部分的探讨,以使后续的课程可在一个好的基础上进行。 当课程进行到需要补充新的基础知识(关于编程结构或其他的)的时候。再对相关的基础知识进行介绍和探讨。我们的原则是,以后用到的知识,以后再说。 在汇编课程中我们不对硬件系统进行全面和深
2017-04-04 07:13:33
18550
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人