自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 收藏
  • 关注

原创 2.10 CS和IP

2017-04-09 21:33:53 13514

原创 检测点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 8363

原创 2.9段寄存器

我们前面讲到,8086CPU在访问内存时,要由相关部件提供内存单元的段地址和偏移地址,送入地址加法器合成物理地址。     这里需要看一下,是什么部件提供段地址。段地址在8086CPU的段寄存器中存放。8086CPU有4个段寄存器:CS、DS、SS、ES。当8086CPU要访问内存时,由这4个段寄存器提供内存单元的段地址。本章只看一下CS。     问:段寄存器是什么?   

2017-04-06 11:41:20 4259

原创 2.8段的概念

我们注意到,“段地址”这个名称中包含着“段”的概念。这种说法可能对一些学习者产生了误导,使人误以为内存被划分成一个一个的段,每一个段都有一个地址。如果我们在一开始形成了这种认知,将影响以后对汇编语言的深入理解和灵活应用。     其实,内存并没有分段,段的划分来自于CPU。由于8086CPU用“基础地址(段地址×16)+偏移地址=物理地址”的方式给出内存单元的物理地址,使得我们可以用分段的

2017-04-05 08:00:00 6727

原创 2.7“段地址×16+偏移地址=物理地址”的本质含义

注意,这里讨论的是8086CPU段地址和偏移地址的本质含义,而不是为了解决具体的问题,而在本质含义之上引申出来的更高级的逻辑意义。  不管以多少种不同的逻辑意义去看待“段地址×16+偏移地址=物理地址”的寻址模式,一定要清楚地知道它的本质含义,这样才能更灵活地利用它来分析解决问题。  如果,只拘泥于某一种引申出来的逻辑含义,而模糊本质含义的话,将从意识上限制对这种寻址功能的灵活应用

2017-04-05 06:56:13 10272 9

原创 2.6 8086CPU给出物理地址的方法

8086CPU有20位地址总线,可以传送20位地址,达到1MB的寻址能力。8086CPU又是16位结构,在内部一次性处理、传输、暂时存储的地址为16位。  从8086CPU的内部结构来看,如果将地址从内部简单地发出,那么它只能送出16位的地址,表现出的寻址能力只有64KB。     8086CPU采用一种在内部用两个16位地址合成方法,来形成一个20位的物理地址。    

2017-04-05 06:51:00 4712 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 2707

原创 2.4物理地址

我们知道,CPU访问内存单元时,要给出内存单元的地址。所有的内存单元构成的存储空间,是一个一维的线性空间。每一个内存单元在这个空间中都有唯一的地址,我们将这个唯一的地址称为物理地址。     CPU通过地址总线送入寄存器,必须是一个内存单元的物理地址。在CPU向地址总线上发出物理地址之前,必须要在内部先形成这个物理地址。不同的CPU可以有不同的形成物理地址的方式。我们现在讨论8086CPU

2017-04-05 06:48:03 1445

原创 2.3几条汇编指令

通过汇编指令控制CPU进行工作,看一下表中的几条指令: 汇编指令举例 汇编指令控制CPU完成的操作用高级语言的语法描述mov ax,18将18送入寄存器AXAX=18mov ah,78将78送入寄存器AHAH=78add ax,8

2017-04-05 06:44:17 1981

原创 2.2字在寄存器中的存储

出于对兼容性的考虑,8086CPU可以一次性处理以下两种尺寸的数据:    (1)字节:记为byte,一个字节由8个bit组成,可以存在8位寄存器中。    (2)字:记为word,一个字由两个字节组成,这两个字节分别称为这个字的高位字节和低位字节,如下图所示: 一个字由两个字节组成     一个字可以存在一个16位寄存器中,这个字的的高位字节和低位字节,自然也就存在这个寄

2017-04-05 06:40:14 2882

原创 检测点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 1819

原创 2.1通用寄存器

8086CPU的所有寄存器都是16位的,可以存放两个字节。AX、BX、CX、DX这4个寄存器通常用来存放一般性的数据,被称为通用寄存器。  以AX为例,寄存器的逻辑结构如下图:    16位寄存器的逻辑结构     一个16位寄存器可以存储一个16位的数据,数据在寄存器中的情况如下图所示:    16位数据在寄存器中存放的情况  想一想,一个16位的寄存器所

2017-04-04 19:33:59 1594 1

原创 2.0第二章寄存器

一个典型的CPU(此处讨论的不是某一具体的CPU)由运算器、控制器、寄存器(CPU工作原理)等器件构成,这些器件靠内部总线相连。  前一章所说的总线,相当于CPU内部来说是外部总线。内部总线实现CPU内部各个器件之间的联系,外部总线实现CPU和主板上其他器件的联系。简单地说,在CPU中:     (1)运算器进行信息处理;    (2)寄存器进行信息存储;    (3)控制

2017-04-04 19:28:07 978

原创 1.15内存地址空间

上述的那些存储器,在物理上是独立的器件,但是在以下两点上相同:    (1)都和CPU的总线相连。    (2)CPU对它们进行读或写的时候,都通过控制线发出内存读写命令。  这也就是说,CPU在操控它们的时候,把它们都当做内存来对待,把它们总的看做一个由若干存储单元组成的逻辑存储器,这个逻辑存储器就是我们所说的内存地址空间。在汇编这门课程中,我们所面对的是内存地址空间。 

2017-04-04 19:25:20 5403

原创 1.14各类存储器芯片

在一台PC机中,装有多个存储器芯片。这些存储芯片从物理连接上看是独立的,不同的部件。从读写属性上看又分为两类:随机存储器(RAM)和只读存储器(ROM)。     随机存储器可读可写,但必须带电存储,关机后存储的内容丢失;只读存储器只能读取不能写入,关机后其中的内容不丢失。这些存储器从功能上又可以分为以下几类:     (1)随机存储器用于存放供CPU使用的绝大部分程序和数据,

2017-04-04 19:19:55 2101

原创 1.13接口卡

在计算机系统中,所有可用程序控制其工作的设备,必须受到CPU的控制。CPU对外部设备都不能直接控制,如显示器、音响、打印机等,直接控制这些设备进行工作的是插在扩展插槽上的接口卡。  扩展插槽通过总线和CPU相连,所以接口卡也通过总线同CPU相连。CPU可以直接控制这些接口卡,从而实现CPU对外设的间接控制。简单地讲,就是CPU通过总线向接口卡发送命令,接口卡根据CPU的命令控制外设进行工作

2017-04-04 19:18:22 3425

原创 1.12主板

在每一台PC机中,都有一个主板。主板上有核心器件和一些主要器件,这些器件通过总线(地址总线、数据总线、控制总线)相连。这些器件有CPU、存储器、外围芯片组、扩展插槽等。扩展插槽上一般插有RAM内存条和各类接口卡。     问:主板相当于什么?用现实生活来举例。    答:相当于人类的骨骼。  问:CPU、存储器、外围芯片组、扩展插槽相当于什么? 答:CPU好比大脑,存储器相

2017-04-04 19:17:26 16380

原创 1.11内存地址空间(概述)

什么是内存地址空间呢?举例来讲,一个CPU的地址总线宽度为10,那么可以寻址1024个内存单元。这1024个可寻到的内存单元就构成这个CPU的内存地址空间。下面进行深入讨论。首先需要介绍两部分基本知识,主板和接口卡。  问:什么是内存地址空间?    答:一栋大楼,寻找到的房间,就构成了内存地址空间。

2017-04-04 19:15:51 21120

原创 易经里的64个人生感悟

易经的智慧《易经》里的64个人生智慧和感悟  《易经》没有那么神秘,它就在我们的身边,我们每天的生活起居,工作事业,健康幸福,都受这64个哲理的左右。我们用科学的志度对待易经这64个哲理,就形成64个感悟,回答了人生64个怎么办。  第一感悟:养精蓄锐把握机会---学会定位 《易经》告诉人们,人在不同的年龄阶段的定位是不同的,而又是承前启后相互衔接密不可分的,因而又是不能超

2017-04-04 15:43:12 4142 2

原创 易经里的十句话

《易经》也称《周易》或《易》,是中国传统思想文化中自然哲学与伦理实践的根源,是中国最古老的占卜术原著,对中国文化产生了巨大的影响。下面就为大家介绍《易经》的十大警示名句,希望对大家有所帮助!  一、大喜易失言 言多必失,特别是在高兴的时候,其实那时的心态是善而良性的,因为希望倾诉,所以不吐不快;因为希望分享,所以广而告之。但是,心可以亢奋,话仍要沉稳。因为,说出去的话,再也不能收回。

2017-04-04 14:59:49 13907

转载 程序员是个大江湖之我来自编译门

每一行代码,都自具威力,每一个程序员,都是侠客。  编程为武,是这个江湖的终极法则。  我离开故乡的时候,村头的樱花刚开,在樱花下阿黄望了我很久。我又回望,远方的青山隐藏在云雾里,从中走出的一条细水缠绕着小村,水边散落着樱瓣,美的心醉。  我先转了身,再听到阿黄呜呜的离去。  必须要离开了。在这个村子里,竟然没有一个人会写C++,即使最牛叉的村长,也只会写两句C语言

2017-04-04 10:28:52 279423 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 11333

原创 1.10控制总线

CPU对外部器件的控制是通过控制总线来进行的。在这里控制总线是个总称,控制总线是一些不同控制线的集合。有多少根控制总线,就意味着CPU提供了对外部器件的多少种控制。所以,控制总线的宽度决定了CPU对外部器件的控制能力。     前面所讲的内存读或写命令是由几根控制线综合发出的,其中有一根称为“读信号输出”的控制线负责由CPU向外传送读信号,CPU向该控制线上输出低电平表示将要读取数据;有一

2017-04-04 07:45:26 17810

原创 1.9数据总线

CPU与内存或其他器件之间的数据传送,是通过数据总线来进行的。数据总线的宽度,决定了CPU和外界的数据传送速度。8根数据总线一次可传送一个8位二进制数据(即一个字节)。16根数据总线一次可以传送两个字节。     8088CPU的数据总线宽度为8,8086CPU的数据总线宽度为16.我们分别来看一下它们向内存写入数据89D8H时,是如何通过数据总线传送数据的。下图展示了8088CPU数据总

2017-04-04 07:42:37 25823

原创 1.8地址总线

现在我们知道,CPU是通过地址总线来指定存储器单元的。可见地址总线上能传送多少个不同的信息,CPU就可以对多少个存储单元进行寻址。  现假设,一个CPU有10根地址总线,让我们来看一下它的寻址情况。我们知道,在电子计算机中,一根导线可以传送的稳定状态只有两种,高电平或者是低电平。  用二进制表示就是0或者1,10根导线可以传送10位二进制数据。而10位二进制可以表示多少个不同的数据

2017-04-04 07:40:01 25314

原创 1.7CPU对存储器的读写

在上节的课程中讲到,存储器被划分成多个存储单元,存储单元从零开始顺序编号。这些编号,可以看做是在存储器中的地址。就像一条街,每个房子都有门牌号。     CPU要从内存中读取数据,首先要指定存储单元的地址。也就是说,它要先确定它要读取哪一个存储单元中的数据。就像在一条街上找人,先要确定他住在哪个房子里。  另外,在一台微机中,不只是有存储器这一种器件。CPU在读写数据时,还要指明它

2017-04-04 07:33:10 26925

原创 1.6存储单元

存储器被划分成若干个存储单元,每个存储单元从0开始顺序编号。列如一个存储器有128个存储单元,编号从0~127,如下图所示:        那么一个存储单元能存储多少信息呢?我们知道电子计算机的最小信息单位是bit(音译为比特),也就是一个二进制位。     8个bit组成一个Byte,也就是通常所讲的一个字节。微型机存储器的存储单元可以存储一个Byte,即8个二进制位。一个存储器

2017-04-04 07:26:54 25062

原创 1.5指令和数据

指令和数据是应用上的概念。在内存或磁盘上,指令和数据是没有任何区别的,都是二进制信息。CPU在工作的时候,把有的信息看做是指令,有的信息看做是数据,为同样的信息赋予了不同的意义。     就像围棋的棋子,在棋盒里的时候,是没有任何区别的。在对弈的时候,就有了不同的意义。  列如:内存中的二进制信息1000100111011000,计算机可以把它看做大小为89D8H的数据来处理,也可

2017-04-04 07:25:30 13388

原创 1.4存储器

CPU是计算机的核心部件,它控制整个计算机的运作并进行运算。要想让一个CPU进行工作,就必须向它提供指令和数据。指令和数据在存储器中存放,也就是我们平时所说的内存。在一台PC机中,内存的作用仅次于CPU。离开了内存,性能再好的CPU也无法进行工作。  这就像再聪明的大脑,没有了记忆也无法进行思考。磁盘不同于内存,磁盘上的数据或程序如果不读到内存中,就无法被CPU使用。要灵活地利用汇编语言编

2017-04-04 07:24:07 13225

原创 1.3汇编语言的组成

汇编语言发展至今,有以下3类指令组成。     (1)汇编指令:机器码的助记符,有对应的机器码。    (2)伪指令:没有对应的机器码,由编译器执行,计算机并不执行。    (3)其他符合:如+、-、*、/等,由编译器识别,没有对应的机器码。     汇编语言的核心是汇编指令,它决定了汇编语言的特性。     问:汇编指令,还可以怎么描述? 答:中文的“你好”与

2017-04-04 07:22:17 13406

原创 1.2汇编语言的产生

早期的程序员们,很快就发现了使用机器语言带来的麻烦。它是如此难于辨别和记忆,给整个产业的发展带来了障碍,于是汇编语言就产生了。     汇编语言的主体是汇编指令。汇编指令和机器指令的差别在于指令的表示方法上。汇编指令是机器指令便于记忆的书写格式。  列如:机器指令1000100111011000表示把寄存器BX的内容送到AX中。汇编指令则写成mov ax,bx。这样的写法与人类语言

2017-04-04 07:19:08 13400

原创 1.1机器语言

说到汇编语言的产生,首先要讲一下机器语言。机器语言是机器指令的集合,机器指令展开来讲就是一台机器可以正确执行的命令。     电子计算机的机器指令是一列二进制数字。计算机将之转变为一列高低电平,以使计算机的电子器件受到驱动,从而进行运算。  上面所说的计算机,指的是可以执行机器指令,进行运算的机器。这是早期计算机的概念。现在,在我们日常用的PC机中,有一个芯片来完成上面所说的计算机

2017-04-04 07:14:41 35252 1

原创 1.0第1章【基础知识】

汇编语言是直接在硬件之上工作的编程语言,我们首先要了解硬件系统的结构,才能有效地应用汇编语言对其编程。在本章中,我们对硬件系统结构的问题进行一部分的探讨,以使后续的课程可在一个好的基础上进行。     当课程进行到需要补充新的基础知识(关于编程结构或其他的)的时候。再对相关的基础知识进行介绍和探讨。我们的原则是,以后用到的知识,以后再说。  在汇编课程中我们不对硬件系统进行全面和深

2017-04-04 07:13:33 18533

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除