微机原理习题答案2
微机原理答案(第二版)

习题答案1-1解释和区别下列名词术语。
(1). 微处理器μP,微计算机μC,微处理器系统μPS。
(5). 位、字节、字和双字。
(7). RAM和ROM(8). I/O接口和I/O设备。
(9). 芯片总线、片总线、内总线和外总线。
答:(1). 把CPU的复杂电路,包括运算器和控制器作在一片或几片大规模集成电路的半导体芯片上,这种集成电路叫微处理器μP。
微处理器为核心,配上RAM、ROM,I/O接口及有关辅助电路组成的微型化的主计算机装置称为微计算机μC。
微处理器为核心构成的专用系统称为微处理器系统μPS。
(5)一个二进制的位称作位、8个相邻二进制位称作字节、2个字节称作字,2个字(4个字节)称作双字。
(7)能进行随即读写操作的存储器称作RAM。
只读存储器叫ROM。
(8)输入/输出接口电路称作I/O接口,通过I/O接口接入的外部设备如监视器,键盘、鼠标称作I/O设备。
(9)位于CPU芯片内部,用来实现CPU内部各功能单元电路之间的相互连接和信号的传递的总线叫芯片总线。
片总线是微计算机主板或单板微计算机上以CPU芯片为核心,芯片与芯片间连接的总线。
内总线指微计算机系统中实现插件板之间的连接的总线。
如IBM PC 的PC总线,PC-XT总线,PCI、ISA总线等等。
外总线用于系统之间的连接,完成系统与系统之间通信的总线。
如RS-232,IEE488、USB等等。
1-6 将下列十进制数转换为二进制数、十六进制数和BCD数(1)124.625(6)268.875解:(1)124=01111100B=7CH,0.625×16=10,所以0.625=0.AH=0.1010B∴124.625=7C.AH=01111100.1010B=000100100100.011000100101BCD(2)268=256+12=100001100B=10CH,0.875×16=14,∴0.875=0.EH=0.1110B.∴268.875=10C.EH=100001100.111B=001001101000.100001110101BCD1-7 用16位二进制数表示出下列十进制数的原码、反码和补码。
微机原理第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.(2字节)a.指由8个二进制位组成的通用基本单元(6时钟周期)b.是cpu指令执行时间的刻度(10软件配置管理空间)c.cpu所要出访的存储单元数,与cpu地址总线条数有关(11实际地址)d.唯一能代表存储空间每个字节单元的地址,用5位16进制数表示(7总线周期)e.cpu执行访问存储器或i/o操作所花时间(12逻辑地址)f.由段基址和段偏转地址共同组成,均用4十一位16十进制则表示(4基本指令继续执行时间)g.指寄存器乘法指令继续执行所花掉时间(3指令)h.顺利完成操作方式的命令(1字长)i.指cpu在交换、加工、存放信息时信息位的基本长度(5指令执行时间)j.各条指令执行所花时间,不同指令值不一(8cache)k.为减轻cpu与主存储器间互换数据的速度瓶颈而建立的高速缓冲存储器(9虚拟存储器)l.cpu执行程序时看见的一个速度吻合内存却具有外存容量的假想存储器2.(1)mhz频率单位,可以用来表示cpu的主频1mhz=1000000hz(2)ghz频率单位,可以用来表示cpu的主频1ghz=1000000000hz(3)μs时间单位,可以用来表示基本指令执行时间1μs=10s(4)mips每秒百万条指令,用来表示基本指令执行速度(5)kb用以则表示存储器容量、软件配置管理空间或者存储空间的一种单位1kb=2bytes(6)mb用以则表示存储器容量、软件配置管理空间或者存储空间的一种单位1mb=2bytes(7)gb用以则表示存储器容量、软件配置管理空间或者存储空间的一种单位1gb=2bytes(8)tb用以则表示存储器容量、软件配置管理空间或者存储空间的一种单位1tb=2bytes3.eu的共同组成部件:(3)alu(7)状态标志寄存器(9)掌控单元(12)通用寄存器组与biu的共同组成部件:(1)地址部件au(2)段界检查器(4)20十一位地址产生器(5)20十一位物理地址加法器(6)指令队列(8)总线掌控逻辑(10)段寄存器组(11)指令指针4.标志sf(b符号标志)cf(d位次标志)af(h辅助位次标志)df(i方向标志)tf(a陷阱标志)of(c外溢标志)pf(f奇偶标志)if(g中断容许标志)zf(e零标志)类型sssccsscs为0时则表示的状态两个带符号数运算结果就是正数两个并无符号数经alu运算后并无位次或者借位产生两个数运算时,两个高4十一位运算并无位次或者借位产生数据串成操作方式的增量地址为自动递减正常调试两个带符号数运算后没产生外溢运算结果数据高8位中二进制存有奇数个1中断屏蔽数据运算时结果不为零403020?6107.首地址pa=62d87h末地址pa=62d87h+28h(则表示40字节)-1h=62daeh8.实际地址:99a40h9.实际地址:3ba00h10填写下列个状态下的有效信号状态总线操作类型t1t2t3t4最小模式下总线存储器读操作最小模式下总线存储器写操作11.特点方式最小模式最大模式12.00130h:00131h:00135h:00136h:13.0dah31h7fh5ehmn/mx引脚高电平低电平处理器个数12个以上总线控制信号的产生8086828834h00230h:2dh00231h:0abh00232h:00233h:67h14.55h00330h:20h00331h:00332h:45h00333h:20h00334h:53h00335h:20h00336h:54h00337h:20h00338h:43h15.(1)ds:11a7es:11a7ss:21becs:31b8ds,es段顶:11a70hss段顶上:21be0hss段底:22ca8hcs段顶上:31b80hds,es段底:21a6fhcs段底:41b7fh(2)of=0df=0if=1sf=0zf=0zf=0pf=0cf=016.5ch20a28h:00h20a29h:7ah20a2ah:20a2bh:20a2ch:20a2dh:20a2eh:20a2fh:20a30h:20a31h:53h42h0ffh12h00h5bh0ah入栈完毕时,(ss)=20a0h(ip)=0028h17.8086系统中:(1)8284a时钟产生器的作用是:为8086cpu提供时钟,产生cpu所需的系统时钟信号(2)8282/8283地址锁存器的作用是:锁存8086地址总线中的信息(3)8286/8287总线收发器的作用是:传送8086数据总线中的信息(4)8288总线控制器的促进作用就是:在最小工作模式下产生8086系统所需的掌控信号18.8086寻址i/o端口时,使用16条地址线,可寻址32k个字端口,或64k个字节端口。
微机原理作业2--答案

作业二的答案1.8086存储器为什么要采用分段结构,每段的容量有什么要求,为什么?答:8086CPU拥有20位的地址总线,可访问的最大存储容量为1MB,其物理地址的范围为:00000H~FFFFFH;而8086CPU的内部的寄存器只有16位,能访问最大存储空间为64KB,物理地址范围为:0000H~FFFFH。
采用分段管理的办法可扩大对存储器的寻址范围,以适应超过16位的存储器物理结构。
于是将1MB存储器空间分成许多逻辑段,并规定逻辑段不超过64KB,只能从低4位为0000B的地址开始。
这样每个存储单元就可以用“段地址:偏移地址”的逻辑地址来表示其准确的物理位置,而且段地址和偏移地址就都可以用16位寄存器表达。
2.8086系统中,段寄存器CS=1200H,指令指针寄存器IP=FF00H,试写出指令的逻辑地址和物理地址,指向这物理地址的CS值和IP值是唯一的吗?答:逻辑地址1200H:FF00H物理地址1200H×16 + FF00H =12000H + FF00H =21F00H指向这个物理地址的CS值和IP值不是唯一的。
例如:CS=2100H,IP=0F00H。
3.8086的1MB分成两个512KB存储体的好处是什么?8088的1MB为什么不分?答:8086的1MB分成两个512KB存储体的好处就是CPU既可以单独对其中的一个存储体读/写8位数据,也可以对两个存储体中相邻的单元读/写16位数据。
也就是说8086CPU 既能进行字节操作也能进行字操作。
8088CPU的1MB存储器没有必要划分成两个512KB的存储体,是因为它的数据总线宽度为8位,在一个总线周期里不能进行16位的数据读写。
4.若当前SS=3500H,SP=0800H,请写出堆栈段在存储器中的物理地址范围。
若此时入栈10个字节,SP的内容是什么?若再出栈6个字节,SP为什么值?答:堆栈在存储器里的起始物理地址为3500H×10H+0000H=35000H,堆栈段的容量为64KB,所以栈底的物理地址为3500H×10H + FFFFH=35000H + FFFFH = 44FFFH,所以堆栈段在存储器里的物理地址范围为35000H~44FFFH。
《微机原理与接口技术》习题解答2(最新整理)

习题22.1 8086CPU具有20 条地址线,可直接寻址1MB 容量的内存空间,在访问I/O 端口时,使用地址线16条,最多可寻址64K 个I/O端口。
2.2 8086CPU的内部结构有何特点?由哪两部分组成?它们的主要功能是什么?【解答】8086微处理器是典型的16位微处理器,HMOS工艺制造,集成了2.9万只晶体管,使用单一的+5V电源,有16根数据线和20根地址线;通过其16位的内部数据通路与设置指令预取队列的流水线结构结合起来而获得较高的性能。
8086微处理器内部安排了两个逻辑单元,即执行部件EU和总线接口部件BIU。
EU主要负责指令译码、执行和数据运算,包括计算有效地址;BIU主要完成计算物理地址、从内存中取指令、实现指令规定的读/写存储器或外部设备等信息传输类操作。
2.3 8086CPU中的指令队列的作用是预取指令,其长度是6 字节。
2.4 8086CPU内部寄存器有哪几种?各自的特点和作用是什么?【解答】CPU有14个内部寄存器,可分为3大类:通用寄存器、控制寄存器和段寄存器。
通用寄存器是一种面向寄存器的体系结构,操作数可以直接存放在这些寄存器中,既可减少访问存储器的次数,又可缩短程序的长度,提高了数据处理速度,占用内存空间少。
控制寄存器包括指令指针寄存器IP和标志寄存器FLAG:IP用来指示当前指令在代码段的偏移位置;FLAG用于反映指令执行结果或控制指令执行的形式。
为了实现寻址1MB存储器空间,8086CPU将1MB的存储空间分成若干个逻辑段进行管理,4个16位的段寄存器来存放每一个逻辑段的段起始地址。
2.5 8086的标志寄存器分为6 个状态标志位和3 个控制标志位,它们各自的含义和作用是什么?【解答】标志寄存器各标志位的含义和作用如下表:表2-1 标志寄存器FLAG中标志位的含义和作用标志位含义作用CF进位标志CF=1,指令执行结果在最高位上产生一个进位或借位;CF=0,则无进位或借位产生PF奇偶标志PF=1,结果低8位含偶数个1;PF=0,表示结果低8位含奇数个1AF辅助进位标志AF=1,运算结果的低4位产生了一个进位或借位;AF=0,则无此进位或借位ZF零标志ZF=1,运算结果为零;ZF=0,则运算结果不为零SF符号标志SF=1,运算结果为负数;SF=0,则结果为正数OF溢出标志OF=1,带符号数在进行运算时产生了溢出;OF=0,则无溢出TF陷阱标志TF=1,8086CPU处于单步工作方式;TF=0,8086CPU正常执行程序IF中断允许标志IF=1,允许CPU接受外部从INTR引脚上发来的可屏蔽中断请求信号;IF=0,则禁止接受可屏蔽中断请求DF方向标志DF=1,字符串操作指令按递减的顺序对字符串进行处理;DF=0,字符串操作指令按递增的顺序进行处理2.6 已知堆栈段寄存器(SS)=2400H,堆栈指针(SP)=1200H,计算该堆栈栈顶的实际地址,并画出堆栈示意图。
微机原理与接口技术习题答案2

第2章 8086 CPU 结构与功能1. 微处理器内部结构由哪几部分组成阐述各部分的主要功能。
解:微处理器内部结构由四部分组成:(1)算术逻辑运算单元ALU :完成所有的运算操作;(2)工作寄存器:暂存寻址信息和计算过程中的中间结果;(3)控制器:完成指令的读入、寄存和译码,并产生控制信号序列使ALU 完成指定操作;(4)I/O 控制逻辑:处理I/O 操作。
2. 微处理器级总线有哪几类各类总线有什么作用解:微处理器级总线有三类:(1)数据总线:传送信息;(2)地址总线:传送地址码;(3)控制总线 传送控制信号。
3. 为什么地址总线是单向的,而数据总线是双向的解:地址码只能由CPU 生成。
而数据需要在CPU 和存储器之间传输。
4. 8086/8088微处理器内部有哪些寄存器其主要作用是什么解:8086CPU 内部有14个16位寄存器,其中8个通用寄存器(4数据寄存器AX 、BX 、CX 、DX ,4地址指针/变址寄存器SI 、DI 、SP 、BP ),4个段寄存器(CS 、DS 、ES 、SS ),2个控制寄存器(指令指针IP ,微处理器状态字PSW )。
应该注意的是:可以在指令中用作为地址指针的寄存器有:SI 、DI 、BP 和BX ;在微处理器状态字PSW 中,一共设定了9个标志位,其中6个标志位用于反映ALU 前一次操作的结果状态(CF ,PF ,AF ,ZF ,SF ,OF ),另3个标志位用于控制CPU 操作(DF ,IF ,TF )。
5. 如果某微处理器有20条地址总线和16条数据总线:(1)假定存储器地址空间与I/O 地址空间是分开的,则存储器地址空间有多大(2)数据总线上传送的有符号整数的范围有多大解:(1)存储器地址空间为:2021MB =(2)有符号数范围为: 15152~21--, 即 -32768~327676. 将十六进制数62A0H 与下列各数相加,求出其结果及标志位CF 、AF 、SF 、ZF 、OF 和PF的值:(1)1234H;(2)4321H;(3)CFA0H;(4)9D60H解:(1)74D4H CF=0 AF=0 SF=0 ZF=0 OF=0 PF=1(2)A5C1H CF=0 AF=0 SF=1 ZF=0 OF=1 PF=0(3)3240H CF=1 AF=0 SF=0 ZF=0 OF=0 PF=0(4)0000H CF=1 AF=0 SF=0 ZF=1 OF=0 PF=17.从下列各数中减去4AE0H,求出其结果及标志位CF、AF、SF、ZF、OF和PF的值:(1)1234H;(2)5D90H;(3)9090H;(4)EA04H解:(1)C754H CF=1 AF=0 SF=1 ZF=0 OF=0 PF=0(2)12B0H CF=0 AF=0 SF=0 ZF=0 OF=0 PF=0(3)45B0H CF=0 AF=0 SF=0 ZF=0 OF=1 PF=0(4)9F24H CF=0 AF=0 SF=1 ZF=0 OF=0 PF=19.写出下列存储器地址的段地址、偏移地址和物理地址:(1)2134:10A0;(2)1FA0:0A1F;(3)267A:B876解:物理地址=段地址*10H+偏移地址(1)段地址:2134H,偏移地址:10A0H,物理地址:223E0H(2)段地址:1FA0H,偏移地址:0A1FH,物理地址:2041FH(3)段地址:267AH,偏移地址:B876H,物理地址:32016H10.给定一个数据的有效地址为2359H,并且(DS)=490BH,求该数据的物理地址。
(完整版)微机原理课后单元习题-单元2-8086cpu

习题二 8086微处理器答案主要内容:主要介绍8086/8088CPU内部结构。
了解80X86CPU的特点。
2.1 8086 CPU在内部结构上由哪几部分组成?其功能是什么?【答】8086的内部结构分成两部分。
总线接口部件BIU,负责控制存储器与I/O端口的信息读写,包括指令获取与排队、操作数存取等。
执行部件EU负责从指令队列中取出指令,完成指令译码与指令的执行行。
2.2 8086的总线接口部件有那几部分组成? 其功能是什么?【答】8086的总线接口部件主要由下面几部分组成:4个段寄存器CS/DS/ES/SS,用于保存各段地址;一个16位的指令指针寄存器IP,用于保存当前指令的偏移地址;一个20位地址加法器,用于形成20位物理地址;指令流字节队列,用于保存指令;存储器接口,用于内总线与外总线的连接。
2.3 8086的执行单元(部件)由那几部分组成?有什么功能?【答】8086的执行单元部件主要由下面几部分组成:控制器、算数逻辑单元、标志寄存器、通用寄存器组。
(1)控制器,从指令流顺序取指令、进行指令译码,完成指令的执行等。
(2)算数逻辑单元ALU,根据控制器完成8/16位二进制算数与逻辑运算。
(3)标志寄存器,使用9位,标志分两类。
其中状态标志6位,存放算数逻辑单元ALU 运算结果特征;控制标志3位,控制8086的3种特定操作。
(4)通用寄存器组,用于暂存数据或指针的寄存器阵列。
2.4 8086内部有哪些通用寄存器?【答】四个16位数据寄存器AX、BX、CX、DX,二个指针寄存器SP、BP, 二个变址寄存器SI、DI。
这些寄存器使用上一般没有限制,但对某些特定指令操作,必须使用指定寄存器,可参考后面指令系统章节。
2.5 8086内部有哪些段寄存器?各有什么用途?【答】四个16位段寄存器:CS、DS、SS、ES,分别保存代码段、数据段、堆栈段与扩展段的段地址。
2.6 8086CPU状态标志和控制标志又何不同?程序中是怎样利用这两类标志的? 8086的状态标志和控制标志分别有哪些?【答】(1)标志分两类:状态标志(6位),反映刚刚完成的操作结果情况。
微机原理第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,地址按减量修改。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《微机原理》习题2 (P40)参考答案为什么说计算机只能“识别”二进制数,并且计算机内部数的存储及运算也都采用二进制解:因为二进制是计算机刚出现时就奠定的计算机内的进位记数制,之所以选用它来表示计算机内的信息,是因为两个状态的物理器件容易制造和实现,将这两个状态抽象为数字就可用0、1来表示;此外,采用二进制的运算规则较为简单,容易实现。
在进位记数制中,“基数”和“位权(或权)”的含义是什么一个以b为基数的任意进制数N,它按位权展开式求值的一般通式是如何描述的解:在进位记数制中,常常要用“基数”(或称底数)来区别不同的数制,而进位制的基数就是该进位制所用的字符或数码的个数。
在一个进位记数制中,每一位都有特定的权,称为位权或简称权。
每个位权由基数的n次幂来确定。
数N的按位权展开式的一般通式为:N=±(k i×b i)式中,k i为第i位的数码;b为基数;b i为第位的位权;n为整数的总位数;m 为小数的总位数。
将下列十进制数分别转化为二进制数。
(1)147 (2)4095 (3)(4)解:(1) 147 D= B(2) 4095 D= B(3) D= B(4) D= B将下列二进制数分别转换为BCD码。
(1)1011 (2) (3) (4)解:(1) 1011 B=1×23+0×22+1×21+ 1×20=11 D=(0001 0001)BCD(2) B=1×2-2= D= 0101)BCD(3) B =1×24+1×22+1×20+1×2-1+1×2-3 = D=(0010 0010 0101)BCD(4) =1×24+1×23+1×21+1×20+1×2-3==(0010 0010 0101)BCD将下列二进制数分别转换为八进制数和十六进制数。
(1)B (2)11B (3)(4) .0011B解:(1) 1010 1011B=253Q=ABH(2) 10 1111 0011B=1363Q=2F3H(3) 1011B==(4) 1110 ==选取字长n为8位和16位两种情况,求下列十进制数的原码。
(1)X=+63 (2)Y=-63 (3)Z=+118 (4)W=-118解:(1) [X]原= [+63]原=0011 1111=0000 0000 0011 1111(2) [Y]原= [-63]原=1011 1111=1000 0000 0011 1111(3) [Z]原= [+118]原=0111 0110=0000 0000 0111 0110(4) [W]原= [-118]原=1111 0110=1000 0000 0111 0110选取字长n为8位和16位两种情况,求下列十进制数的补码。
(1)X=+65 (2)Y=-65 (3)Z=+127 (4)W=-128解:(1) [X]补=[+65]补=0100 0001=0000 0000 0100 0001(2) [Y]补=[-65]补=1011 1111=1111 1111 1011 1111(3) [Z]补=[+127]补=0111 1111=0000 0000 0111 1111(4) [W]补=[-128]补=1000 0000=1111 1111 1000 0000已知数的补码表现形式如下,分别求出数的真值与原码。
(1)[X]补=78H (2)[Y]补=87H (3)[Z]补=FFFH (4)[W]补=800H解:(1) ∵[X]补=78H=0111 1000 B ∴ [X]原=0111 1000 B=78H 真值X=120 D(2) ∵[Y]补=87H=1000 0111 B ∴ [Y]原=1111 1001 B=0F9H 真值Y=-121 D(3) ∵[Z]补=FFFH=1111 1111 1111 B (假设为12位补码)∴[Z]原=1000 0000 0001 B=801H 真值Z=-1 D(4) ∵[W]补=800H=1000 0000 0000 B (假设为12位补码)∴[W]原=不存在W的真值= -211 = -2048 D设字长为16位,求下列各二进制数的反码。
(1)X=00100001B (2)Y=-00100001B (3)Z=0B (4)W=-0B解:(1) ∵X= 0010 0001B=0000 0000 0010 0001B ∴[X]反=0000 0000 0010 0001B(2)∵Y=-0010 0001B=1000 0000 0010 0001B ∴[Y]反=1111 1111 1101 1110B(3)∵Z=0101 1101 1011B=0000 0101 1101 1011B ∴[Z]反=0000 0101 1101 1011B(4)∵W=-0101 1101 1011B=1000 0101 1101 1011B ∴[W]反=1111 1010 0010 0100B下列各数均为十进制数,试用8位二进制补码计算下列各题,并用十六进制数表示机器运算结果,同时判断是否有溢出。
(1)(-89)+67 (2)89-(-67)(3)(-89)-67 (4)(-89)-(-67)解:(1) [-89]补= 1010 0111 (2) [89]补= 0101 1001 + [ 67 ]补= 0100 0011 -[-67]补= 1011 1101 [-89]补+[ 67 ]补= 1110 1010=[-16H]补[89]补-[-67]补= 1001 1100=[-64H]补∴(-89)+67=-22=-16H ∴ 89-(-67)=156无溢出有溢出(3) [-89]补= 1010 0111 (4) [-89]补= 1010 0111-[ 67 ]补= 0100 0011 -[-67]补= 1011 1101 [-89]补-[ 67 ]补= 0110 0100=[64H]补[-89]补-[-67]补= 1110 1010=[-16H]补∴(-89)-67=-156 ∴(-89)-(-67)= -16H=22有溢出无溢出分别写出下列字符串的ASCII码。
(1)17abc (2)EF98 (3)AB$D (4)This is a number 258解:(1) 17abc的ASCII码为00110001 00110111 01100001 01100010 01100011B或31H 37H 61H 62H 63H(2) EF98的ASCII码为01000101 01100110 00111001 00111000B或45H 66H 39H 38H(3) AB$D的ASCII码为01000001 01000010 00100100 01000100B或41H 42H 24H 44H(4) This is a number 258的ASCII码为:54H 68H 69H 73H 20H 69H 73H 20H 61H 20H 6EH 75H 6DH 62H 65H 72H 20H 32H 35H 38H设X=87H,Y=78H,试在下述两种情况下比较两数的大小。
(1)均为无符号数(2)均为带符号数(设均为补码)解:(1) ∵X=87H=1000 0111B=135D Y=78H=0111 1000B=128D∴ X>Y(2) ∵ X=87H=1000 0111B 为负数,Y=78H=0111 1000B 为正数∴ X<Y选取字长n为8位,已知数的原码表示如下,求出其补码。
(1)[X]原=01010101 (2)[Y]原= (3)[Z]原= (4)[W]原=解:(1) [X]补=0101 0101 (2) [Y]补=1101 0110(3) [Z]补=1000 0001 (4) [W]补=1111 1111设给定两个正的浮点数如下N1=2P1×S1 N2=2P2×S2(1)若P1>P2是否有N1>N2(2)若S1和S2均为规格化的数,且P1>P2,是否有N1>N2解:(1) ∵S1和S2可以是纯小数,也可以是纯整数∴不一定有N1>N2(2) 有N1>N2设二进制浮点数的阶码有3位、阶符1位、尾数6位、尾数1位,分别将下列各数表示成规格化的浮点数(补码表示)。
(1)X= B (2)Y= B (3)Z=-65/128 (4)W=+129/64解:(1) X==2+100×0.=20100×0.010********(2) Y==2+100×=20100×010********(3) Z=-65/128===2+000×=20000×00001011111(4) W=+129/64=+==2+010×0.00100100000阐述微型计算机在进行算术运算时,所产生的“进位”与“溢出”二者之间的区别。
解:“进位”与“溢出”的区别可以从两个方面讨论:(1)从定性的方面:任一个计数装置(如算盘、电子计算器,二进制的计数器等)都有固定的字长,其所记数据都有一定的表示范围。
在算术运算中,每一个相邻位之间都存在进位/借位现象,但是进位标志CF是特指运算中运算器中数据最高位向上的“进位/借位”现象。
当参加运算的数看作无符号数且运算结果超出无符号数表示范围时,就会产生“进位”或“借位”。
以8为二进制数无符号数为例,当加法运算结果超出255时产生进位;当减法运算的被减数小于减数时产生借位。
同理,当参加运算的数看作带符号数且运算结果超出带符号数表示范围时,就会产生“溢出”。
同样以8为二进制数带符号数为例,当运算结果超出-128~127的范围时就产生溢出。
因此,“进位”标志是针对无符号数的,“溢出”标志是针对带符号数的。
无论是无符号数还是出带符号数只要运算结果发生“进/借位”或“溢出”,运算器中都不能正确表示结果,即超出正常表示范围。
(2)从二进制运算的操作过程讨论:“进位”是指运算结果的最高位向更高位的进位。
如有进位,则C y=1;无进位,则C y=0。
当C y=1,即D7c=1时,若D6c=1,则V= D7c⊕D6c=1⊕1=0,表示无溢出;若D6c=0,则V=1⊕0=1,表示有溢出。
当C y=0,则D7c=0时,若D6c=1,则V=0⊕1=1,表示有溢出;若D6c=0,则V=0⊕0=0,表示无溢出。
选字长n为8位,用补码列出竖式计算下列各式,并且回答是否有溢出若有溢出,回答是正溢出还是负溢出(1)01111001+01110000(2)-01111001-01110001(3)01111100-01111111(4)-01010001+01110001解:(1) 0111 1001 (2) 1000 0111+ 0111 0000 + 1000 11111110 1001 1 0001 0110有溢出,且为正溢出有溢出,且为负溢出(3) 0111 1100 (4) 1010 1111+ 1000 0001 + 0111 00011111 1101 1 0010 0000无溢出无溢出若字长为32位的二进制数用补码表示时,试写出其范围的一般表示式及其负数的最小值与正数的最大值。