1、高高 等等 学学 校校 教教 材材第第1 1章章 微型计算机的基础知识微型计算机的基础知识3本章主要介绍:本章主要介绍:微型计算机的组成和微型计算机的工作过程微型计算机的组成和微型计算机的工作过程;计算机的运算基础计算机的运算基础。重点是微型计算机的组成和计算机的运算基础。重点是微型计算机的组成和计算机的运算基础。1.1 1.1 微型计算机的发展及概述微型计算机的发展及概述 5第第1章章 微型计算机的基础知识微型计算机的基础知识 自1946年世界上第一台电子计算机问世以来,计算机科学和技术得到了高速发展。电子计算机的产生和发展是20世纪最重要的科技成果之一。到今天为止,电子计算机的发展已经历了
2、由电子管计算机、晶体管计算机、集成电路计算机到大规模集成电路、超大规模集成电路计算机的四代更替。6第第1章章 微型计算机的基础知识微型计算机的基础知识1.1.1 1.1.1 微型计算机的发展微型计算机的发展 所谓“微型计算机”是指:以大规模、超大规模为主要部件的微处理器作为核心,配以存储器、输入输出接口电路及系统总线的计算机系统。1946年第一台计算机(ENIAC)诞生,(电子数值集成计算机),就是采用冯.诺依曼结构框架。投资150万美元,占地150平米,重30吨,用了18800个电子管,耗电150KW,2KBytes内存,5000次/s,几小时出一次故障。7第第1章章 微型计算机的基础知识微
3、型计算机的基础知识1.1.1 1.1.1 微型计算机的发展微型计算机的发展 1971年,美国Intel公司研制出了4位4004微处理器芯片。该芯片能同时处理4位二进制数,集成了2300个晶体管,每秒可进行6万次运算,成本约为200美元。它是世界上第一个微处理器芯片,以它为核心组成的MCS-4计算机,标志着世界上第一台微型计算机的诞生。从那时起,短短20多年的时间,微型计算机的发展经历了五代。我们一般以字长(计算机能同时处理的二进制的位数)和典型的微处理器芯片作为各阶段的标志。8第第1章章 微型计算机的基础知识微型计算机的基础知识1.1.1 1.1.1 微型计算机的发展微型计算机的发展第一代(1
4、9711973)是4位和低档8位微机。代表产品是美国Intel公司4004微处理器及由它组成的MCS微型计算机。第二代(19741978)是中高档8位微机,以Intel80808085和Z80等为CPU的微型机为典型代表。第三代(19791981)是16位微机,如以8086、80286、Z8000和MC68000为CPU的微型机。为与原8位机相衔接,Intel公司还推出了8088CPU,其指令系统完全与8086兼容,内部为16位的功能结构,外部数据总线是8位。9第第1章章 微型计算机的基础知识微型计算机的基础知识1.1.1 1.1.1 微型计算机的发展微型计算机的发展第四代(19821992)
5、是32位微机,典型的CPU产品有80386和MC68020。之后Intel公司又推出了80486微处理器。第五代(1993年以后)是64位微机。1993年3月Intel公司推出了当前最先进的微处理器芯片-64位的Pentium,该芯片采用了新的体系结构,其性能大大高于Intel系列的其他微处理器,给微处理器体系结构和PC机的性能引入了全新的概念。10第第1章章 微型计算机的基础知识微型计算机的基础知识1.1.2 1.1.2 微型计算机的应用微型计算机的应用各行各业,无所不用科技、生产、学习、日常生活等各个方面主要用于以下两个方向:1.数值计算、数据处理及信息管理2.过程控制及智能化仪表11第第
6、1章章 微型计算机的基础知识微型计算机的基础知识1.1.3 1.1.3 微型计算机的组成微型计算机的组成 微机的基本硬件由下列几部分组成:微机的基本硬件由下列几部分组成:运算器(运算器(ALU)控制器(控制器(CTRL)存储器(存储器(MEM)输入设备(输入设备(INE)输出设备(输出设备(OUTE)总线总线(BUS)微处理器微处理器12第第1章章 微型计算机的基础知识微型计算机的基础知识1.1.3 1.1.3 微型计算机的组成微型计算机的组成图1-1 微型计算机的基本结构13 运算器运算器(ALU-Arithmetic Logic Unit)进行算术运算(加、减、乘、除与移位);进行算术运算
7、(加、减、乘、除与移位);进行逻辑运算(与、或、非、异或等);进行逻辑运算(与、或、非、异或等);为了提高存取数据的速度,与为了提高存取数据的速度,与ALU有关的部件还有寄存器有关的部件还有寄存器阵列阵列第第1章章 微型计算机的基础知识微型计算机的基础知识14 控制器(控制器(CTRL-Controller)它是计算机的控制中心,发布与控制计算机工作的各它是计算机的控制中心,发布与控制计算机工作的各种命令,协调计算机内部以及主机与外设工作的各种关系。种命令,协调计算机内部以及主机与外设工作的各种关系。它有两个主要功能:它有两个主要功能:一个是控制程序的运行;一个是控制程序的运行;另一个是对不同
8、的外部事件做出相应响应的能力。另一个是对不同的外部事件做出相应响应的能力。(这些外部事件是指:复位、停机、中断请求、总线请求、(这些外部事件是指:复位、停机、中断请求、总线请求、总线周期延长等)总线周期延长等)上述上述ALU+CTRL+REG阵列阵列=CPU(中央处理器)中央处理器)第第1章章 微型计算机的基础知识微型计算机的基础知识15 存储器(存储器(MEM-Memory)记忆部件。它存储计算机操作的控制信息及各种命令信记忆部件。它存储计算机操作的控制信息及各种命令信息(指令)和被处理加工的信息(数据),包括存储加工的息(指令)和被处理加工的信息(数据),包括存储加工的中间与最终结果。中间
9、与最终结果。存储器内有两类信息:存储器内有两类信息:一类是命令信息(即指令),经译码并执行,放在代码区;一类是命令信息(即指令),经译码并执行,放在代码区;另一类是数据,放在数据区。另一类是数据,放在数据区。它们都以二进制形式存放。它们都以二进制形式存放。应注意:内存中的代码区和数据区中的信息具有不同的应注意:内存中的代码区和数据区中的信息具有不同的性质与功能,两个区域中的某些单元具有相同的信息,却具性质与功能,两个区域中的某些单元具有相同的信息,却具有完全不同的含义。有完全不同的含义。第第1章章 微型计算机的基础知识微型计算机的基础知识16 输入设备与输出设备输入设备与输出设备 称为外设,其
10、作用是进行信息形式的转换,即外界的称为外设,其作用是进行信息形式的转换,即外界的语言、文字、图像、机械动作等信息转换成计算机能识别的语言、文字、图像、机械动作等信息转换成计算机能识别的电信号表示的二进制数形式,或进行相反方向的转换。电信号表示的二进制数形式,或进行相反方向的转换。输入设备输入设备 如:键盘、鼠标、磁盘、光盘、游戏杆、扫描仪、数码相如:键盘、鼠标、磁盘、光盘、游戏杆、扫描仪、数码相机、机、A/D转换器等转换器等 输出设备输出设备 如:显示器、打印机、音响、绘图机、磁盘、光盘、如:显示器、打印机、音响、绘图机、磁盘、光盘、D/A转换器等转换器等第第1章章 微型计算机的基础知识微型计
11、算机的基础知识17 总线(总线(BUS)总线是计算机各部件间传送信息的公共通路,总线是计算机各部件间传送信息的公共通路,它把计算机的各个部件连接成为一个整体。它把计算机的各个部件连接成为一个整体。分为内部总线,外部总线。分为内部总线,外部总线。计算机内部的基本总线分为数据总线(计算机内部的基本总线分为数据总线(DBUS),),地址总线(地址总线(ABUS),),控制总线(控制总线(CBUS)。)。通常又通常又称为三总线。称为三总线。第第1章章 微型计算机的基础知识微型计算机的基础知识18第第1章章 微型计算机的基础知识微型计算机的基础知识1.1.3 1.1.3 微型计算机的组成微型计算机的组成
12、 从系统的组成观点来看,一个微型计算机系统应包括硬件系统和软件系统。所谓“硬件系统”,是指在上述微型计算机的基础上配以必要的外部设备、外部存储器和电源设备等组成的设备集合;所谓“软件系统”,一般指在计算机上运行的程序,如操作系统和应用软件等,广义软件还包括由计算机管理的数据和有关的文档资料。19第第1章章 微型计算机的基础知识微型计算机的基础知识1.1.4 1.1.4 微型计算机的工作过程微型计算机的工作过程在启动计算机进行计算之前,必须作如下工作:用助记符号指令编写程序;用汇编软件将汇编程序翻译(汇编)成计算机能识别的机器语言指令;将数据和程序通过输入设备送入存储器中存放。20第第1章章 微
13、型计算机的基础知识微型计算机的基础知识1.1.4 1.1.4 微型计算机的工作过程微型计算机的工作过程如何计算如何计算5+6?表表1-1 1-1 汇编语言和机器语言程序对照汇编语言和机器语言程序对照操操 作作助记符号助记符号机器码机器码(二进制)(十六进制)(二进制)(十六进制)功功 能能立即数送立即数送累加器累加器MOV AXMOV AX,05H05H10110000 B0H10110000 B0H把把05H05H送入累加器送入累加器AXAX00000101 05H00000101 05H加立即数加立即数ADD AXADD AX,06H06H00000100 04H00000100 04H0
14、6H06H与与AXAX中的内容相加中的内容相加,并将结果存入累加器并将结果存入累加器AXAX00000110 06H00000110 06H 整个程序一共2条指令,4个字节,假设它们存放在00H开始的4个单元中 21第第1章章 微型计算机的基础知识微型计算机的基础知识1.1.4 1.1.4 微型计算机的工作过程微型计算机的工作过程 计算机执行程序是一条指令一条指令执行的。执行一条指令分两个阶段,即取指令阶段和执行指令阶段。开始执行程序时,必须先给程序计数器IP赋以第一条指令的地址00H,然后进入第一条指令的取指阶段。22第第1章章 微型计算机的基础知识微型计算机的基础知识1.1.4 1.1.4
15、 微型计算机的工作过程微型计算机的工作过程 图1-2 取指令阶段的执行过程23第第1章章 微型计算机的基础知识微型计算机的基础知识1.1.4 1.1.4 微型计算机的工作过程微型计算机的工作过程图1-3 执行指令阶段的执行过程 24第第1章章 微型计算机的基础知识微型计算机的基础知识1.1.4 1.1.4 微型计算机的工作过程微型计算机的工作过程 微型计算机的工作过程是执行程序的过程。首先CPU进入取指阶段,从存储单元中取出指令代码,通过数据总线,送到CPU中的指令寄存器中寄存,然后对该指令译码,译码器经译码后发出相应的控制信号,通过控制总线,CPU把控制信息传送到存储器或输入输出系统,它们会
16、按照CPU的命令进行相应的动作,也即CPU执行指令指定的操作。取指阶段由一系列相同的操作组成,因此取指的时间总是相同的。而执行指令的阶段是由不同的事件组成的,它取决于执行指令的类型。1.2 1.2 微型计算机中信息的微型计算机中信息的表示及运算基础表示及运算基础26第第1章章 微型计算机的基础知识微型计算机的基础知识 目前使用的计算机是一种电设备,它只认识电的信号:如电平的高与低、电路的通与断、晶体管的导通与截止、电子开关的开与关等。将这两种状态用0和l两个符号表示,0或l就是二进制数的一位,称为bit。因此在计算机中,任何信息都必须用0和1的数字组合形式。也就是说,计算机存储和处理的仅仅是二
17、进制信息。27第第1章章 微型计算机的基础知识微型计算机的基础知识 1个二进制位称为1个bit;8个二进制位称为1个Byte,也称1个字节(8位);2个字节称为1个字(Word,16位);2个字称为双字(Dword或Double Word,32位);4个连续的字称为四字(Qword或Quad Word,64位);连续的10个字节称为十字节,它是一个80位二进制的值。28第第1章章 微型计算机的基础知识微型计算机的基础知识1.2.1 1.2.1 二进制数的表示与运算二进制数的表示与运算1.二进制数的表示 二进制数仅有两个计数符号:0、1。一个8位的二进制数由8个0或1组成,如11010010计数
18、符号在不同位置有不同的位权:11010010127+126+025+124+023+022+121+020 我们习惯于在二进制数的后面加上字母B(Binary),如1100110lB,10011B。29第第1章章 微型计算机的基础知识微型计算机的基础知识1.2.1 1.2.1 二进制数的表示与运算二进制数的表示与运算2.二进制数的运算 (1)算术运算加法运算:逢2进1减法规则:借1当2乘法规则:1与1乘得1,其它为030第第1章章 微型计算机的基础知识微型计算机的基础知识1.2.1 1.2.1 二进制数的表示与运算二进制数的表示与运算2.二进制数的运算 (2)逻辑运算 逻辑运算都是比特运算。与
19、算术运算区别在于,前者只在对应的比特之间进行,各位之间没有进/借位,本位运算结果不影响其它位。常用的逻辑运算有:逻辑与、逻辑非、逻辑或、逻辑异或。31第第1章章 微型计算机的基础知识微型计算机的基础知识1.2.1 1.2.1 二进制数的表示与运算二进制数的表示与运算2.二进制数的运算 (2)逻辑运算 与运算通常用于屏蔽掉某些位(清0),保留某些位不变。例:(A5H)AND(F0H)=A0H;屏蔽低4位(清0),保留高4位。逻辑与运算(AND)0 0000 01100110 01 11 10 00 01 132第第1章章 微型计算机的基础知识微型计算机的基础知识1.2.1 1.2.1 二进制数的
20、表示与运算二进制数的表示与运算2.二进制数的运算 (2)逻辑运算 逻辑或运算通常把某些位置1,某些位不变。例:(A5H)OR(0FH)=AFH;高4位不变,低4位置全1。逻辑或运算(OR)0 0 0 0 0 01 11 10 01 11 11 11 11 10 033第第1章章 微型计算机的基础知识微型计算机的基础知识1.2.1 1.2.1 二进制数的表示与运算二进制数的表示与运算2.二进制数的运算 (2)逻辑运算 把逻辑变量变成反码。例:NOT(A5H)=5AH 逻辑非运算(NOT)34第第1章章 微型计算机的基础知识微型计算机的基础知识1.2.1 1.2.1 二进制数的表示与运算二进制数的
21、表示与运算2.二进制数的运算 (2)逻辑运算 异或运算可以使某些位清0,某些位变反。通常用于寄存器或内存单元清0。例:(A5H)XOR(0FH)=AAH;高4位不变,低4位变反。例:(A5H)XOR(A5H)=00H;一个数自身异或,相当于清0。逻辑异或运算(XORExclusive OR)0 0 0 00 00 01 11 11 1 0 0 1 1 1 11 10 035微机的硬件构成框图微机的硬件构成框图 例例1.11.1:00011010B00011010B+01+01101101B101101B10000111B10000111B0001101000011010+01101101011
22、0110110000111B10000111B36微机的硬件构成框图微机的硬件构成框图 例例1.21.2:10011011B-00110101B10011011B-00110101B01100110B01100110B1001101110011011-0011010100110101011001100110011037微机的硬件构成框图微机的硬件构成框图 例例1.31.3:01110101B01110101B00110110B00110110B0001100010101110B0001100010101110B01110101011101010011011000110110 01110101
23、01110101 01110101 01110101 01110101 01110101 +01110101+01110101 0001100010101110000110001010111038微机的硬件构成框图微机的硬件构成框图 例例1.41.4:10111001B10111001B1011B1011B00010000B00010000B,余,余00001001B 00001001B 000100001011 1011100110110000100139微机的硬件构成框图微机的硬件构成框图 例例1.51.5:10011101B01101110B10011101B01101110B00001
24、100B00001100B 100111011001110101101110011011100000110000001100 40微机的硬件构成框图微机的硬件构成框图 例例1.61.6:10011101B01101110B10011101B01101110B11111111B11111111B 1001110110011101 0110111001101110111111111111111141微机的硬件构成框图微机的硬件构成框图 例例1.71.7:10011101B01101110B10011101B01101110B11110011B 11110011B 10011101100111010
25、1101110011011101111001111110011 42第第1章章 微型计算机的基础知识微型计算机的基础知识1.2.2 1.2.2 二二-十进制(十进制(BCDBCD)数的表示与运算)数的表示与运算1.二-十进制数的表示十进制数有10个计数符号:09,而计算机仅认识2个符号:0、1,因而十进制数的10个计数符号需要改用0和1两个符号的编码表示。10个符号必须用4位二进制编码表示。0 00005 0101 1 0001 6 0110 2 0010 7 0111 3 0011 8 1000 4 01009 100143第第1章章 微型计算机的基础知识微型计算机的基础知识1.2.2 1.
26、2.2 二二-十进制(十进制(BCDBCD)数的表示与运算)数的表示与运算1.二-十进制数的表示 这种用二进制编码的十进制数称为BCD(Binary Coded Decimal)数压缩的(组合的)BCD码:一个字节表示两位BCD码。非压缩(非组合)的BCD码:一个字节表示一位BCD码,高 4位为0。44第第1章章 微型计算机的基础知识微型计算机的基础知识1.2.2 1.2.2 二二-十进制(十进制(BCDBCD)数的表示与运算)数的表示与运算2.二-十进制数的加、减运算例例1.81.8:BCDBCD数数 十进制数十进制数 1000 1000+01+0101018 8+5+51313两个两个BC
27、DBCD数相数相加后,其加后,其结果已不结果已不是是BCDBCD数数 1101 1101 45第第1章章 微型计算机的基础知识微型计算机的基础知识1.2.2 1.2.2 二二-十进制(十进制(BCDBCD)数的表示与运算)数的表示与运算2.二-十进制数的加、减运算例例1.91.9:BCDBCD数数 十进制数十进制数 10011001 +0111+0111 9 9+7+71616 运算结果运算结果不对不对 10000 10000 46第第1章章 微型计算机的基础知识微型计算机的基础知识1.2.2 1.2.2 二二-十进制(十进制(BCDBCD)数的表示与运算)数的表示与运算2.二进制数的运算 究
28、其原因是:在计算机中,用BCD可以表示十进制数,但其运算规则还是按二进制数进行的。因而4位二进制数相加要到16才会进位,而不是逢十进位。为什么会出现不正确的结果为什么会出现不正确的结果?采取调整运算结果的措施。调整规则为:当BCD数加法运算结果的4位二进制超过1001(9),出现非法编码10101111或个位向十位有进位时,则加0l10(6)进行调整;当十位向百位有进位时,加01100000(60)调整。这是人为地干预进位。微机的CPU中都有专门的十进制运算调整部件DAA,还设有专门的十进制加减运算调整指令DAA与DAS等。如何解决如何解决BCDBCD数的运算问题数的运算问题?47第第1章章
29、微型计算机的基础知识微型计算机的基础知识1.2.2 1.2.2 二二-十进制(十进制(BCDBCD)数的表示与运算)数的表示与运算2.二进制数的运算 在CPU中,称为Flag寄存器,由于这些标志决定了程序分支的条件,也称为条件码(CC:Condition Code)。CPU常设的标志有:C(Carry)进位标志,运算结果的最高位产生进位或借位。S或N(Sign或Negative)符号标志,反映运算结果的符号位。O或V(OVerflow)溢出标志,反映符号数运算结果是否产生溢出。Z(Zero)零标志,反映运算结果是否为0。48 例例:若若X、Y为十进制数,为十进制数,X=38,Y=57,计算计算
30、X+Y=?3 8 (BCD码中没有字母,结果中的码中没有字母,结果中的 F(1111)为非法码,为非法码,+57 应在该位加应在该位加6修正,以强迫其进位。)修正,以强迫其进位。)8 F +0.6 9 5 例例:若若X=28,Y=79,计算计算X+Y=?2 8 +7.9 A 1 因为低因为低4位有进位(位有进位(AF=1)+6 6 高高4位位A9,所以所以+66 10 7 第第1章章 微型计算机的基础知识微型计算机的基础知识1.2.2 1.2.2 二二-十进制(十进制(BCDBCD)数的表示与运算)数的表示与运算49 例例:若若X、Y为十进制数,为十进制数,X=75,Y=26,计算计算X-Y=
31、?75 (BCD码中没有字母,结果中的码中没有字母,结果中的 F(1111)为非法码,为非法码,-2 6 应在该位应在该位-6修正,使借高位的数得到修正。)修正,使借高位的数得到修正。)例例:X=30,Y=42,计算计算X-Y=?30 -4 2 E E 因为低因为低4位有借位(位有借位(AF=1)-6 6 高高4位也有借位(位也有借位(CF=1)8 8 所以所以 66修正修正 4 F -0 6 4 9第第1章章 微型计算机的基础知识微型计算机的基础知识1.2.2 1.2.2 二二-十进制(十进制(BCDBCD)数的表示与运算)数的表示与运算50 BCDBCD码加法修正原则是:码加法修正原则是:
32、若运算结果低位大于若运算结果低位大于9 9或或AFAF(半进位)半进位)=1=1,则结果,则结果+06+06;若运算结果高位大于若运算结果高位大于9 9或或CFCF(进位)进位)=1=1,则结果,则结果+60;+60;若若 都满足时,则结果都满足时,则结果+66+66。BCDBCD码减法修正原则是:码减法修正原则是:若运算结果低位大于若运算结果低位大于9 9或或AFAF(半借位)半借位)=1=1,则结果,则结果-06-06;若运算结果高位大于若运算结果高位大于9 9或或CFCF(借位)借位)=1=1,则结果,则结果-60;-60;若若 都满足时,则结果都满足时,则结果-66-66。第第1章章
33、微型计算机的基础知识微型计算机的基础知识1.2.2 1.2.2 二二-十进制(十进制(BCDBCD)数的表示与运算)数的表示与运算51第第1章章 微型计算机的基础知识微型计算机的基础知识1.2.3 1.2.3 十六进制数的表示与运算十六进制数的表示与运算 十六进制数有16个计数符号:09,AF。4个二进制位共有16种组合状态,这样每个十六进制数的计数符号可对应4位二进制数的一种组合状态;反之,1个十六进制符号可以替代一种4位二进制数的组合状态。在阅读和编写汇编语言程序时,经常用十六进制数表示数据、存储单元地址或代码等。在书写数据时,为了区分不同进制的数据,在十进制数后加字母D或省略;在二进制数
34、后加字母B;在十六进制数后加字母H,对于字母开头的十六进制数,还须在数据前加个0,以表明它是十六进制数而不是其他,如25H,43,57D,0A5H,0CD3BH。52第第1章章 微型计算机的基础知识微型计算机的基础知识1.2.4 1.2.4 带符号二进制数的表示和运算带符号二进制数的表示和运算 正号“+”和负号“-”在计算机中只能用0和1表示,我们用0表示“”号,用1表示“-”号,并且符号放在最高有效位。一个8位的二进制数表示一个带符号数,最高有效位D7位为符号位。因为计算机的数据位长度是固定的,如4位、8位、16位、32位、64位等。当最高有效位作为符号后,其数值的大小就减小一半。而且计算机
35、在进行运算操作时,符号也作为数据参与运算。53第第1章章 微型计算机的基础知识微型计算机的基础知识1.2.4 1.2.4 带符号二进制数的表示和运算带符号二进制数的表示和运算1.2的补码表示法 带符号数采用上面的编码方法不可取。考虑到计算机的数据位长度一定,因而可用补数的编码形式表示带符号数。在进行运算时,丢弃进位,就可得到正确结果。对一个正的二进制数的每位求反再加1,即可得在机器中表示的该数的负数,即2的补码表示法。在这种编码方式中,正数的补码就是该正数。54第第1章章 微型计算机的基础知识微型计算机的基础知识1.2.4 1.2.4 带符号二进制数的表示和运算带符号二进制数的表示和运算2.带
36、符号数的移码表示 前面介绍的数据是整型的,那么,实型数的数据在机器中又是如何表示的呢?实型数在存储器内不是以2的补码形式存放的,而是以IEEE标准格式存放的。一般,一个任意二进制数N可以表示为:N2e*M 其中,M为有效数字,称为尾数,E为数N的阶码。当E变化时,尾数M中的有效小数点位置也随之向左或向右浮动,故称为浮点表示法。55第第1章章 微型计算机的基础知识微型计算机的基础知识1.2.4 1.2.4 带符号二进制数的表示和运算带符号二进制数的表示和运算3.带符号数的运算若运算结果超出了结果单元所能表达的范围就产生溢出。加减运算产生的溢出无法从结果中看出,必须用专门的信息位来表示。值得指出的
37、是:计算机在进行运算时,对参与运算的数并不知道是无符号数或带符号数,所以它在运算后对4个标志都会置位,只有程序员知道参与运算的数是符号数或无符号数。在计算机中,OF置位是根据次高位和最高位的进位的异或判别的。即OF=C7 C656例例:X=FEH,Y=FFH,求求X+Y=?并判断标志位。并判断标志位。FEH CF=1 (有进位)有进位)+.F.FH SF=1 (为负数)为负数)OF=0 (没溢出)(有进位不一定有溢出)没溢出)(有进位不一定有溢出)FDH ZF=0 (结果不为结果不为0)例例:X=70H,Y=50H,求求X+Y=?并判断标志位。并判断标志位。70H CF=0 (无进位)无进位)
38、+50H SF=1 (为负数)为负数)OF=1 (有溢出)(有溢出不一定有进位)有溢出)(有溢出不一定有进位)C0H ZF=0 (结果不为结果不为0)第第1章章 微型计算机的基础知识微型计算机的基础知识1.2.4 1.2.4 带符号二进制数的表示和运算带符号二进制数的表示和运算3.带符号数的运算57 例例:X=30H,Y=40H,求求X+Y=?并判断标志位。并判断标志位。30H CF=0 (无进位)无进位)+40H SF=0 (为正数)为正数)OF=0 (没溢出)(即无进位又无溢出)没溢出)(即无进位又无溢出)70H ZF=0 (结果不为结果不为0)例例:X=80H,Y=80H,求求X+Y=?
39、并判断标志位。并判断标志位。80H CF=1 (有进位)有进位)+.80H SF=0 (为正数)为正数)OF=1 (有溢出)(即有溢出又有进位)有溢出)(即有溢出又有进位)00H ZF=1 (结果为结果为0)第第1章章 微型计算机的基础知识微型计算机的基础知识1.2.4 1.2.4 带符号二进制数的表示和运算带符号二进制数的表示和运算3.带符号数的运算58 在计算机系统中,由于CPU的数据宽度有8位、16位、32位,甚至64位之分,而存储器的数据总是以8位(字节)宽度组织,所以在进行某些运算时需要将8位数据扩展成16位,或者将16位数据扩展成32位等。无符号数扩展,仅在其数据之前加上若干位0即
40、可;而带符号数的扩展实际是扩展其符号,即正数前补8个(或16个)0,负数前补8个(或16个)l。例如:+5的16位表示为000000000000010lB -5的16位表示为1111111111000010B +3EH的16位表示为0000000000111110B -3EH的16位表示为1111111111000010B第第1章章 微型计算机的基础知识微型计算机的基础知识1.2.4 1.2.4 带符号二进制数的表示和运算带符号二进制数的表示和运算4.带符号数的符号扩展表示1.3 1.3 几种进制之间的相互转换几种进制之间的相互转换60第第1章章 微型计算机的基础知识微型计算机的基础知识1.十
41、进制转换成二进制例1.18:将205转换成二进制整数。2 20521022 512122 62 32101 1最低有效位最低有效位0 01 11 10 00 01 11 1最高有效位最高有效位故:20511001101B1.3.1 1.3.1 十进制整数到任意进制整数的转换十进制整数到任意进制整数的转换十进制整数转换成任意进制整数,可按进位制的基数十进制整数转换成任意进制整数,可按进位制的基数照下面的照下面的“辗转相除法辗转相除法”进行。进行。61第第1章章 微型计算机的基础知识微型计算机的基础知识1.十进制转换成二进制例:将0.125转换成二进制整数。故:0.1250.001B0.12520
42、.25 整数为0(最高有效位)0.2520.5 整数为00.521.0 整数为1(最低有效位)1.3.1 1.3.1 十进制整数到任意进制整数的转换十进制整数到任意进制整数的转换62第第1章章 微型计算机的基础知识微型计算机的基础知识2.十进制转换成十六进制例1.19:将327转换成十六进制数2 20521022 512122 62 32101 1最低有效位最低有效位0 01 11 10 00 01 11 1最高有效位最高有效位故:20511001101B1.3.1 1.3.1 十进制整数到任意进制整数的转换十进制整数到任意进制整数的转换63第第1章章 微型计算机的基础知识微型计算机的基础知识
43、1.二进制转换成十进制例1.21:将二进制数1110110B转换成十进制数 。1.3.2 1.3.2 任意进制整数间的相互转换任意进制整数间的相互转换任意进制整数到十进制整数的转换,按基数位权展开任意进制整数到十进制整数的转换,按基数位权展开可以实现。可以实现。1110110B126+125+124+023+122+121+02011664第第1章章 微型计算机的基础知识微型计算机的基础知识2.带符号二进制整数到十进制整数之间的转换 二进制数用基数2,按位权展开即可转换成十进制数。而带符号数的最高位为符号,而且带符号数在计算机中是用其补码表示的,如果符号位为0,则该数为正数,它可按位权展开;如
44、果符号位为1,它不能按正常位权那样展开。所以,对带符号二进制负数除符号位外,对二进制数每位求反再加1后,再按位权展开并添上符号,才能将负的二进制数转换成十进制数。1.3.2 1.3.2 任意进制整数间的相互转换任意进制整数间的相互转换65第第1章章 微型计算机的基础知识微型计算机的基础知识2.带符号二进制整数到十进制整数之间的转换 例1.25:将计算机中带符号二进制数01011011B转换成二进制整数。+1011011B+(26+24+23+21+1)+91例1.26:将计算机中带符号二进制数10101101B转换成 二进制整数将10101101B除符号位外每位求反再加1-1010011B-(
45、26+24+21+1)-128+45-831.3.2 1.3.2 任意进制整数间的相互转换任意进制整数间的相互转换66第第1章章 微型计算机的基础知识微型计算机的基础知识3.十六进制转换成十进制例1.22:将十六进制数A2EH转换成十进制数。A2EH10162+2161+1416026061.3.2 1.3.2 任意进制整数间的相互转换任意进制整数间的相互转换67第第1章章 微型计算机的基础知识微型计算机的基础知识4.二进制数和十六进制数之间的相互转换 例1.23:将二进制数10111B和l10001110B转换成十六进制数。1.3.2 1.3.2 任意进制整数间的相互转换任意进制整数间的相互转换l0l011B00l0,l011B2BH110001110B0001,1000,1110B18EH例1.24:将十六进制数8BDH和0C5AFH转换成二进制数。8BDH1000,1011,1101B 0C5AFH1100,0101,1010,1111B