第2章 微机原理溢出判断
微机原理第二章复习题(附答案)期末考试题

微机原理第二章复习题(附答案)1. 8086 CPU有__________位数据总线和__________位地址总线。
直接可寻址空间为1MB。
2. 如果微机处理器的地址总线为20位,它的最大直接可寻址空间为___________。
3. 8086/8088 CPU内部设置了两个独立的部分,即___________和___________。
4. 8086/8088 CPU内部设置了两个独立的部分,即__________和指令执行部件(EU)。
其中指令执行部件(EU)由四个部分组成,分别是算术逻辑单元ALU、__________、__________和EU 执行控制部分。
5. 微型计算机的ALU部件是包含在()之中。
A. 存储器B. I/O接口C. CPU的BIU中D. CPU的EU中6. 下列哪项不属于指令执行部件EU的组成部分()。
A. 算术逻辑单元ALUB. 标志寄存器(FR)C. 4个16位段地址寄存器D. EU 执行控制部分7. 在8086/8088 CPU系统中,CPU被启动后,CPU内部的各寄存器和标志寄存器的内容自动设置,CS=__________、IP=__________引导程序的入口地址为__________。
8. 8086/8088系统中,CPU被启动后,将从地址__________开始执行指令。
9. 8086/8088系统中,CPU被启动后,处理器内部的CS寄存器自动设置为___________,8086/8088引导程序的入口地址在___________。
()A. 0000H 00000HB. 0000H FFFF0HC. FFFFH 00000HD. FFFFH FFFF0H10. 8086/8088系统中,CPU被启动后,处理器内部的CS寄存器自动设置为___________,IP自动设置为___________。
()A. 0000H 0000HB. 0000H FFFFHC. FFFFH 0000HD. FFFFH FFFFH11. 8086/8088中,关于总线周期叙述不正确的是()。
微机原理与接口_第二章(8086微处理器)

即一个段的最大为0000H~FFFFH=64K
4007FH
…… FFFFH
……
内存节、内存节与段地址的关系
任何一个段的段地址左移4位后,其最低4位都是0,例如 00000H、00010H、00020H、00030H…000F0H、00100H、 00110H、00120H、……F43D0H等都可假设为是一个段地址左 移4位后的结果。 大家观察,上面所列举的每相邻的两个地址编码之间的间 隔是多少个字节?
地址加法器,用于 产生20位物理地址。 假设CS=8200H, IP=1234H,则当 前指令所在内存的 物理地址为 83234H 内存
外设
从指令队列缓冲器取 出指令,进行译码, 产生各种控制信号, 控制各部件的工作
指令队列缓冲器用 于解决以往CPU取 指令期间,运算器 的等待问题
1、执行部件EU
2.1.2 8086的工作模式及引脚功能
1、8086的工作模式 8086CPU提供了两种工作模式:最小工作模式和最 大工作模式。工作在何种模式,将根据需要由硬件连接 决定。 •最小工作模式:系统中只有8086一个微处理器。在这种 系统中,所有的总线控制信号都直接由8086产生。系统 中总线控制逻辑电路最少。 •最大工作模式:系统中包括两个以上处理器,其中一个 8086做主处理器,其他处理器称为协处理器。与8086协 同工作的协处理器有用于数值运算的协处理器8087,输 入/输出协处理器8089。配置协处理器的系统,主处理器 不用处理费时的复杂运算和I/O设备服务,提高了主处理 器的运行效率。
(3)算术逻辑单元(ALU)
完成16位或者8位的算术逻辑运算。
(4)标志寄存器(Flag Register)
(完整版)微机原理与接口技术知识点总结

第一章概述一、计算机中地数制1、无符号数地表示方法:<1)十进制计数地表示法特点:以十为底,逢十进一;共有0-9十个数字符号.<2)二进制计数表示方法:特点:以2为底,逢2进位;只有0和1两个符号.<3)十六进制数地表示法:特点:以16为底,逢16进位;有0--9及A—F<表示10~15)共16个数字符号. 2、各种数制之间地转换<1)非十进制数到十进制数地转换按相应进位计数制地权表达式展开,再按十进制求和.<见书本1.2.3,1.2.4)<2)十进制数制转换为二进制数制●十进制→二进制地转换:整数部分:除2取余;小数部分:乘2取整.●十进制→十六进制地转换:整数部分:除16取余;小数部分:乘16取整.以小数点为起点求得整数和小数地各个位.<3)二进制与十六进制数之间地转换用4位二进制数表示1位十六进制数3、无符号数二进制地运算<见教材P5)4、二进制数地逻辑运算特点:按位运算,无进借位<1)与运算只有A、B变量皆为1时,与运算地结果就是1<2)或运算A、B变量中,只要有一个为1,或运算地结果就是1<3)非运算<4)异或运算A、B两个变量只要不同,异或运算地结果就是1二、计算机中地码制1、对于符号数,机器数常用地表示方法有原码、反码和补码三种.数X地原码记作[X]原,反码记作[X]反,补码记作[X]补.b5E2RGbCAP注意:对正数,三种表示法均相同.它们地差别在于对负数地表示.<1)原码定义:符号位:0表示正,1表示负;数值位:真值地绝对值.注意:数0地原码不唯一<2)反码定义:若X>0 ,则 [X]反=[X]原若X<0,则 [X]反= 对应原码地符号位不变,数值部分按位求反注意:数0地反码也不唯一<3)补码定义:若X>0,则[X]补= [X]反= [X]原若X<0,则[X]补= [X]反+1注意:机器字长为8时,数0地补码唯一,同为000000002、8位二进制地表示范围:原码:-127~+127反码:-127~+127补码:-128~+1273、特殊数10000000●该数在原码中定义为: -0●在反码中定义为: -127●在补码中定义为: -128●对无符号数:(10000000>2= 128三、信息地编码1、十进制数地二进制数编码用4位二进制数表示一位十进制数.有两种表示法:压缩BCD码和非压缩BCD 码.<1)压缩BCD码地每一位用4位二进制表示,0000~1001表示0~9,一个字节表示两位十进制数.<2)非压缩BCD码用一个字节表示一位十进制数,高4位总是0000,低4位地0000~1001表示0~9p1EanqFDPw字符地编码计算机采用7位二进制代码对字符进行编码<1)数字0~9地编码是0110000~0111001,它们地高3位均是011,后4位正好与其对应地二进制代码<BCD码)相符.DXDiTa9E3d<2)英文字母A~Z地ASCII码从1000001<41H)开始顺序递增,字母a~z地ASCII 码从1100001<61H)开始顺序递增,这样地排列对信息检索十分有利.RTCrpUDGiT第二章微机组成原理第一节、微机地结构1、计算机地经典结构——冯.诺依曼结构<1)计算机由运算器、控制器、输入设备和输出设备五大部分组成<运算器和控制器又称为CPU)<2)数据和程序以二进制代码形式不加区分地存放在存储器总,存放位置由地址指定,数制为二进制.<3)控制器是根据存放在存储器中地指令序列来操作地,并由一个程序计数器控制指令地执行.3、系统总线地分类<1)数据总线<Data Bus),它决定了处理器地字长.<2)地址总线<Address Bus),它决定系统所能直接访问地存储器空间地容量.<3)控制总线<Control Bus)第二节、8086微处理器1、8086是一种单片微处理芯片,其内部数据总线地宽度是16位,外部数据总线宽度也是16位,片内包含有控制计算机所有功能地各种电路.5PCzVD7HxA8086地址总线地宽度为20位,有1MB<220)寻址空间.1、8086CPU由总线接口部件BIU和执行部件EU组成.BIU和EU地操作是异步地,为8086取指令和执行指令地并行操作体统硬件支持.2、8086处理器地启动4、寄存器结构8086微处理器包含有13个16位地寄存器和9位标志位.4个通用寄存器<AX,BX,CX,DX)4个段寄存器<CS,DS,SS,ES)4个指针和变址寄存器<SP,BP,SI,DI)指令指针<IP)1)、通用寄存器<1)8086含4个16位数据寄存器,它们又可分为8个8位寄存器,即:●AX →AH,AL●BX→BH,BL●CX→CH,CL●DX→DH,DL常用来存放参与运算地操作数或运算结果<2)数据寄存器特有地习惯用法●AX:累加器.多用于存放中间运算结果.所有I/O指令必须都通过AX与接口传送信息;●BX:基址寄存器.在间接寻址中用于存放基地址;●CX:计数寄存器.用于在循环或串操作指令中存放循环次数或重复次数;●DX:数据寄存器.在32位乘除法运算时,存放高16位数;在间接寻址地I/O指令中存放I/O端口地址.jLBHrnAILg2)、指针和变址寄存器●SP:堆栈指针寄存器,其内容为栈顶地偏移地址;●BP:基址指针寄存器,常用于在访问内存时存放内存单元地偏移地址.●SI:源变址寄存器●DI:目标变址寄存器变址寄存器常用于指令地间接寻址或变址寻址.3)、段寄存器CS:代码段寄存器,代码段用于存放指令代码DS:数据段寄存器ES:附加段寄存器,数据段和附加段用来存放操作数SS:堆栈段寄存器,堆栈段用于存放返回地址,保存寄存器内容,传递参数4)、指令指针<IP)16位指令指针寄存器,其内容为下一条要执行地指令地偏移地址.5)、标志寄存器<1)状态标志:●进位标志位<CF):运算结果地最高位有进位或有借位,则CF=1●辅助进位标志位<AF):运算结果地低四位有进位或借位,则AF=1●溢出标志位<OF):运算结果有溢出,则OF=1●零标志位<ZF):反映指令地执行是否产生一个为零地结果●符号标志位<SF):指出该指令地执行是否产生一个负地结果●奇偶标志位<PF):表示指令运算结果地低8位“1”个数是否为偶数<2)控制标志位●中断允许标志位<IF):表示CPU是否能够响应外部可屏蔽中断请求●跟踪标志<TF):CPU单步执行5、8086地引脚及其功能<重点掌握以下引脚)●AD15~AD0:双向三态地地址总线,输入/输出信号●INTR:可屏蔽中断请求输入信号,高电平有效.可通过设置IF地值来控制.●NMI:非屏蔽中断输入信号.不能用软件进行屏蔽.●RESET:复位输入信号,高电平有效.复位地初始状态见P21●MN/MX:最小最大模式输入控制信号.第三章 8086指令系统第一节8086寻址方式一、数据寻址方式1、立即寻址操作数(为一常数>直接由指令给出(此操作数称为立即数>立即寻址只能用于源操作数例:MOV AX, 1C8FHMOV BYTE PTR[2A00H], 8FH错误例:× MOV 2A00H,AX 。
微机原理与接口技术(第2版张颖超)第2章答案

练习题12.2-18086CPU在结构上由两个独立的处理单元和构成。
【解答】总线接口单元(BIU)执行单元(EU)2.2-2将62A0H和4321H相加,则AF=,SF=,ZF=,CF=,OF=,PF=。
【解答】AF=0;SF=1;ZF=0;CF=0;OF=0⊕1=1,PF=02.2-3设某台微处理器有20根地址总线,16根数据总线,若存储器寻址空间和I/O地址的寻址空间是分开的,则存储器空间大小为,经数据线一次可传送的带符号数的范围是。
【解答】1MB,-215~+215-12.2-4已知CS=1800H,IP=1500H,则指令所处的物理地址为,给定一个数据的有效地址是2359H,且DS=49B0H,该数据在内存中的实际物理地址为H。
【解答】19500H,19500H2.2-58086/8088段寄存器的功能是()。
A.用于计算有效地址B.执行各种数据传送操作C.用于存放段起始地址及计算物理地址【解答】C2.2-6微机的地址总线功能是()。
A.只用于选择存储器单元B.只用于选择进行信息传输的设备C.用于传送要访问的存储器单元或I/O端口的地址D.只用于选择I/O端口【解答】C2.2-7在堆栈段中,存放栈顶地址的寄存器是()。
A.IPB.SPC.BXD.BP【解答】B练习题22.3-18086中地址/数据线分时复用,为保证总线周期内地址稳定,应配置___________,为提高总线驱动能力,应配置__________。
【解答】地址锁存器(如74LS373)、数据收发器(如74LS245)2.3-28086最小组态下的总线控制信号由产生,最大组态下由产生。
【解答】CPU,总线控制器82882.3-38086有两种工作方式,当8086处于最小方式时,MN/MX接()。
A.+12VB.-12VC.+5VD.地【解答】C2.3-48086/8088CPU上INTR信号为()有效。
A.上升沿 B.下降沿 C.高电平 D.低电平【解答】C2.3-5下列说法中属于8086CPU最小工作模式特点的是()。
微机原理第2章课后答案

第2章8086微处理器及其系统教材习题解答1. 8086 CPU 由哪两部分构成,它们的主要功能是什么?在执行指令期间,EU 能直接访问存储器吗,为什么?【解】8086CPU由执行部件(EU)和总线接口部件(BIU)两部分组成。
执行部件由内部寄存器组、算术逻辑运算单元(ALU)与标志寄存器(FR)及内部控制逻辑等三部分组成。
寄存器用于存储操作数和中间结果;算术逻辑单元完成16位或8位算术逻辑运算,运算结果送上ALU内部数据总线,同时在标志寄存器中建立相应的标志;内部控制逻辑电路的主要功能是从指令队列缓冲器中取出指令,对指令进行译码,并产生各种控制信号,控制各部件的协同工作以完成指令的执行过程。
总线接口部件(BIU)负责CPU与存储器、I/O设备之间传送数据、地址、状态及控制信息。
每当EU部件要执行一条指令时,它就从指令队列头部取出指令,后续指令自动向前推进。
EU要花几个时钟周期执行指令,指令执行中若需要访问内存或I/O设备,EU就向BIU 申请总线周期,若BIU总线空闲,则立即响应,若BIU正在取一条指令,则待取指令操作完成后再响应EU的总线请求。
2. 8086CPU与传统的计算机相比在执行指令方面有什么不同?这样的设计思想有什么优点?【解】8086 CPU与传统的计算机相比增加了指令队列缓冲器,从而实现了执行部件(EU)与总线接口(BIU)部件的并行工作,因而提高了8086系统的效率。
3. 8086 CPU 中有哪些寄存器,各有什么用途?【解】8086共有8个16位的内部寄存器,分为两组:①通用数据寄存器。
四个通用数据寄存器AX、BX、CX、DX均可用作16位寄存器也可用作8位寄存器。
用作8位寄存器时分别记为AH、AL、BH、BL、CH、CL、DH、DL。
AX(AH、AL)累加器。
有些指令约定以AX(或AL)为源或目的寄存器。
实际上大多数情况下,8086的所有通用寄存器均可充当累加器。
BX(BH、BL)基址寄存器。
微型计算机原理与接口技术第二章课后答案

第二章 1. 8086CPU内部由哪两部分组成?它们的主要功能是什么?答:8086CPU 内部由执行单元 EU 和总线接口单元 BIU 组成。
主要功能为:执行单元 EU 负责执行指令。
它由算术逻辑单元(ALU)、通用寄存器组、16 位标志寄存器(FLAGS)、EU 控制电路等组成。
EU 在工作时直接从指令流队列中取指令代码,对其译码后产生完成指令所需要的控制信息。
数据在 ALU 中进行运算,运算结果的特征保留在标志寄存器 FLAGS 中。
总线接口单元 BIU 负责 CPU 与存储器和 I /O 接口之间的信息传送。
它由段寄存器、指令指针寄存器、指令队列、地址加法器以及总线控制逻辑组成。
2. 8086CPU 中有哪些寄存器?各有什么用途?答:8086CPU 内部包含4组16位寄存器,分别是通用寄存器组、指针和变址寄存器、段寄存器、指令指针和标志位寄存器。
(1)通用寄存器组 包含4个16位通用寄存器 AX 、BX 、CX 、DX ,用以存放普通数据或地址,也有其特殊用途。
如AX (AL )用于输入输出指令、乘除法指令,BX 在间接寻址中作基址寄存器,CX 在串操作和循环指令中作计数器,DX 用于乘除法指令等。
(2)指针和变址寄存器 BP 、SP 、SI 和DI ,在间接寻址中用于存放基址和偏移地址。
(3)段寄存器 CS 、DS 、SS 、ES 存放代码段、数据段、堆栈段和附加段的段地址。
(4)指令指针寄存器IP 用来存放将要执行的下一条指令在现行代码段中的偏移地址。
(5)标志寄存器Flags 用来存放运算结果的特征。
3. 8086CPU 和8088CPU 的主要区别是什么?答:8088CPU 的内部结构及外部引脚功能与8086CPU 大部分相同,二者的主要不同之处如下:(1)8088指令队列长度是4个字节,8086是6个字节。
(2)8088的BIU 内数据总线宽度是8位,而EU 内数据总线宽度是16位,这样对16位数的存储器读/写操作需要两个读/写周期才能完成。
微机原理第2章答案

第2章习题参考解答1.8086处理器内部一般包括哪些主要部分?8086处理器与其他处理器一样,其内部有算术逻辑部件、控制与定时部件、总线与总线接口部件、寄存器阵列等。
按功能结构可分为两部分,即总线接口单元(BIU)与执行单元(EU)。
BIU主要包括段寄存器、内部通信寄存器、指令指针、6字节指令队列、20位地址加法器和总线控制逻辑电路。
EU主要包括通用寄存器阵列、算术逻辑单元、控制与定时部件等。
2.什么是总线? —般微机中有哪些总线?所谓总线是指电脑中传送信息的一组通信导线,它将各个部件连接成—个整体。
在微处理器内部各单元之间传送信息的总线称为片内总线;在微处理器多个外部部件之间传送信息的总线称为片外总线或外部总线。
外部总线又分为地址总线、数据总线和控制总线。
随着电脑技术的发展,总线的概念越来越重要。
微机中常用的系统总线有PC总线、ISA总线、PCI总线等。
3.什么是堆栈?它有什么用途?堆栈指针的作用是什么?堆栈是一个按照后进先出的原则存取数据的部件,它是由栈区和栈指针组成的。
堆栈的作用是:当主程序调用子程序、子程序调用子程序或中断时转入中断服务程序时,能把断点地址及有关的寄存器、标志位及时正确地保存下来,并能保证逐次正确地返回。
堆栈除了有保存数据的栈区外,还有一个堆栈指针SP,它用来指示栈顶的位置。
假设是“向下生成”的堆栈,随着压入堆栈数据的增加,栈指针SP的值减少。
但SP始终指向栈顶。
4.在8086 CPU中,FR寄存器有哪些标志位?分别说明各位的功能。
8086 CPU中设置了一个16位的标志寄存器FR,其中用了9位,还有7位保留。
9位中有3位作为控制标志,6位作为状态标志。
IF:中断控制标志。
当IF=1时,允许可屏蔽中断请求;当IF=0时,禁止可屏蔽中断请求。
TF:单步运行标志。
当TF=1,单步运行;TF=0,连续运行程序。
DF:方向标志。
当DF=0,串操作时地址按增量修改;DF=1,地址按减量修改。
微机原理

阶符 阶码 数符 尾数
对非负数也可用无号阶码、尾数。
2)规格化处理
由于浮点数表示不是唯一的,为便于运算、比较,规定计算机内浮点数的尾数部分必须用纯小数形式给出。
一个ASCII字符用一个字节的内存单元存放,最高位是奇偶校验位,通常看作0。
二进制编码的十进制数
BCD码:BCD码指每位十进制数用4位二进制数编码表示的方法。4567的BCD码是:0100010101100111
机器数及其真值
在计算机中,一个数连同它的符号都用二进制的编码形式来表示,这种数称为机器数。
用7位二进制数表示一个符号的编码
包括:数字0~9,英文字母A~Z、a~z,标点符号,控制符号等128个符号
扩展ASCII码用8位二进制数,可表示256种符号
请记住:
ASCII字符 ASCII码 ASCII字符 ASCII码
’0’ 30H ’1’ 31H
’9’ 39H ’A’ 41H
’F’ 46H ’a’ 61H
1、二进制数:
基数为2,即每一位只能取用0或1两个数字.
位权(这个数位能表示的最大的十进制值)为2i
例如:10110B=1*24+0*23+1*22+1*21+0*20
=22
2、十六进制数:
基数为16:即每一位可取用0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F十六个数字
解释类:执行方式类似于我们日常生活中的“同声翻译”,应用程序源代码一边由相应语言的解释器“翻译”成目标代码(机器语言),一边执行,因此效率比较低,而且不能生成可独立执行的可执行文件,应用程序不能脱离其解释器,但这种方式比较灵活,可以动态地调整、修改应用程序。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(2.2.5)
第2章 计算机中的数制和编码 例2.11 已知 [+51]补=0011 0011B,[+66]补=0100 0010B, [-51]补=1100 1101B, [-66]补=1011 1110B
求 [+66]补+[+51]补=?[+66]补+[-51]补=?[-66]补+[-51]补=?
① 可以将减法运算变为加法运算,因此可使用同一个运算器 实现加法和减法运算,简化了电路。
第2章 计算机中的数制和编码
② 无符号数和带符号数的加法运算可以用同一个加法器实
现,结果都是正确的。例如:
无符号数 带符号数
11100001 +) 00001101 +)
225 13
[-31]补 +) [+13]补
第2章 计算机中的数制和编码 2.2.4 补码的加减运算 1. 补码加法 在计算机中,带符号数一般用补码表示,运算结果自然也 是补码。其运算特点是:符号位和数值位一起参加运算,并且
自动获得结果(包括符号位与数值位)。
补码加法的运算规则为:
[ x]补 [ y]补 [ x y]补
即:两数补码的和等于两数和的补码。
第2章 计算机中的数制和编码
二进制(补码)加法 十进制加法
0100 0010 [+ 66]补 +) 1100 1101 [-51]补
自动丢失 1 0000 1111
对比结果 是否正确
+66 -) +51 +15
[+15]补
二进制(补码)加法
十进制加法
对比结果 是否正确
1011 1110 [- 66]补
断无符号数运算结果是否超出了计算机所能表示的最大无符号
数的范围。
溢出是指带符号数的补码运算溢出,用来判断带符号数补
码运算结果是否超出了补码所能表示的范围。例如,字长为n位
的带符号数,它能表示的补码范围为-2n-1+2n-1-1,如果运算结 果超出此范围,就叫补码溢出,简称溢出。
第2章 计算机中的数制和编码 2. 溢出的判断方法 判断溢出的方法很多,常见的有:① 通过参加运算的两个数 的符号及运算结果的符号进行判断。② 单符号位法。该方法通 过符号位和数值部分最高位的进位状态来判断结果是否溢出。
• CODE ENDS
• END START
第2章 计算机中的数制和编码 2. 补码减法 补码减法的运算规则为:
[ x]补 [ y]补 [ x]补 [ y]补 [ x y]补
(2.2.6)
第2章 计算机中的数制和编码 例2.12 已知 [+51]补=0011 0011B,[+66]补=0100 0010B [−51]补=1100 1101B,[−66]补=1011 1110B 求 [+66]补−[+51]补=? [-66]补-- [-51]补=? 解 [+66]补- [+51]补=[+66]补+[-51]补 [-66]补- [-51]补=[-66]补+[+51]补
第2章 计算机中的数制和编码
表2.2 8421 BCD 码部分编码表
十进制数
压缩型BCD码
非压缩型BCD码
1 2 3
00000001 00000010 00000011
9 10 11
00001001 00010000 00010001
00000001 00000010 00000011
见211.asm演示
第2章 计算机中的数制和编码
211.asm
• CODE SEGMENT
ASSUME CS:CODE
• START:
MOV AL,66 ADD AL,51 ;(AL)=?
MOV AL,66 ADD AL,-51; (AL)=?
MOV AL,-66 ADD AL,-51 ;(AL)=?
二进制(补码)加法 十进制加法
0100 0010 [+ 66]补
+) 1100 1101 [-51]补
自动丢失 1 0000 1111
对比结果 是否正确
+66
+) -51 +15
[+15]补
第2章 计算机中的数制和编码
由于
[+66]补+[−51]补=[(+66)+(−55)]补=0000111B 结果为正,因此 [(+66)+(−55)]原=[(+66)+(−55)]补=00001111
第2章 计算机中的数制和编码 例2.15 十进制数与BCD数相互转换。 ① 将十进制数69.81转换为压缩型BCD数: 69.81=(0110 1001.1000 0001)BCD ② 将BCD数1000 1001.0110 1001转换为十进制数: (1000 1001.0110 1001)BCD=89.69
2.3 信 息 的 编 码
2.3.1 二进制编码的十进制数(BCD编码) 虽然二进制数对计算机来说是最佳的数制,但是人们却不习 惯使用它。为了解决这一矛盾,人们提出了一个比较适合于十进 制系统的二进制编码的特殊形式,即将1位十进制的09这10个数 字分别用4位二进制码的组合来表示,在此基础上可按位对任意 十进制数进行编码。这就是二进制编码的十进制数,简称BCD码 (Binary-Coded Decimal)。
解:
计算机用二进制补码算
二进制(补码)加法
日常生活我们用十进制算
十进制加法
0100 0010 [+ 66]补
+) 0011 0011 [+ 51]补 0111 0101 [+117]补
对比结果 是否正确
+ 66
+) + 51 +117
第2章 计算机中的数制和编码 由于 [+66]补+[+51]补=[(+66)+(+55)]补=01110101B 结果为正,因此 [(+66)+(+55)]原=[(+66)+(+55)]补=01110101B 其真值为+117,计算结果正确。
两数补码之和应为+140的补码,而8位带符号数补码所能表达的
数值范围为−128+127,结果超出该范围,因此结果是错误的。
第2章 计算机中的数制和编码 例2.14 设有两个操作数x=11101110B,y=11001000B,将这 两个操作数送运算器做加法运算,试问:① 若为无符号数,计 算结果是否正确?② 若为带符号补码数,计算结果是否溢出?
[+68]补 +) [+72]补 [+140]补
第2章 计算机中的数制和编码 ① 若为无符号数,由于CF=0,说明结果未超出8位无符号数 所能表达的数值范围(0255),计算结果10001100B为无符号数,
其真值为140,计算结果正确。
② 若为带符号数补码,由于=1,结果溢出;这里也可通过 参加运算的两个数的符号及运算结果的符号进行判断,由于两 操作数均为正数,而结果却为负数,因而结果溢出;+68和+72
解
11101110 +)11001000 1 10110110
DF=1 CF=1
无符号数
带符号数
自动丢失
238 +)200 438
[-18]补 +) [-56]补 [-74]补
第2章 计算机中的数制和编码 ① 若为无符号数,由于CF=1,说明结果超出8位无符号数所能 表达的数值范围(0255)。两操作数11101110B和11001000B对应
00001001 00000001 00000000 00000001 00000001
19 20 21
00011001 00100000 00100001
00000001 00001001 00000010 00000000 00000010 00000001
第2章 计算机中的数制和编码 需要说明的是,虽然BCD码可以简化人机联系,但它比纯二 进制编码效率低,对同一个给定的十进制数,用BCD码表示时需
③ 双符号位法,又称为变形补码法。它是通过运算结果的两个
符号位的状态来判断结果是否溢出。 上述三种方法中,第一种方法仅适用于手工运算时对结果 是否溢出的判断,其他两种方法在计算机中都有使用。限于篇 幅,本节仅通过具体例子对第②种方法做简要介绍。
第2章 计算机中的数制和编码 若符号位进位状态用CF来表示,当符号位向前有进位时, CF=1,否则,CF=0;数值部分最高位的进位状态用DF来表示,
11101110
238
[-18]补
若两操作数为无符号数时,计算结果为无符号数11101110B, 其真值为238,结果正确;若两操作数为补码形式,计算结果也 为补码形式,11101110B为–18的补码,结果也是正确的。
第2章 计算机中的数制和编码 2.2.5 溢出及其判断方法 1. 进位与溢出
所谓进位,是指运算结果的最高位向更高位的进位,用来判
第2章 计算机中的数制和编码 例2.16 设有变量x等于10010110B,当该变量分别为无符号数、 原码、补码、压缩型BCD码时,试分别计算变量x所代表的数值 大小。 解 无符号数: x=10010110B=127+026+025+124+023+122+121+020=150
-66
+) 0011 0011 [+51]补
1111 0001 [-15]补