微型计算机原理课后习题答案-王忠民主编

合集下载

微型计算机原理3__王忠民著

微型计算机原理3__王忠民著

2) 执行部件EU(Execution Unit) 执行部件EU由通用寄存器、标志寄存器、运 算器(ALU)和EU控制系统等组成。 功能: EU负责全部指令的执行。 任务: ① 向BIU提供数据和所需要访问的内存或I /O端口的地址, ② 对通用寄存器、标志寄存器和指令操作 数进行管理。
AB(20位) 通用寄存器 数 据 寄存器 AH BH CH DH SP BP SI DI ALU 数据总线(16位) AL BL CL DL AX BX CX DX 地址 加法器 ∑
VCC
8284A 时钟发生器 RDY
CLK READY RESET A19 /S 6
ALE BHE
STB 地址锁存器 8282 (3片) OE 数据收发器 8286 (2片) 地址总线AB
~
A16 /S 3
AD 15 等待状态 产生器
~ AD 0
DEN DT / R
M / IO INTR INTA
1. 主频从8086的4.77MHz到80586的166MHz, PentiumⅡⅣ更高,可达3GHz。主频是指芯片 所使用的主时钟频率,它直接影响计算机的运 行速度。
2. 数据总线从8086的16位到80586的64位。 数据总线是计算机中组成各部件间进行数据传 送时的公共通道。其位数(宽度)表示CPU的字 长,数据总线位数越多,数据交换的速度越快。
教材及参考书
《微型计算机原理》王忠民 王钰 王晓婕 编著
《微型计算机原理》学习与实验指导 王钰 王劲松 刑高峰 编著
西安邮电学院计算机系 系统结构教研室 2009.8
第3章 80x86微处理器
主要内容:
80x86微处理器简介
8086/8088微处理器

微机原理王忠民版课后答案

微机原理王忠民版课后答案

部分习题答案(3) 0.1101 1B= 0.84375 = 0.D8H (4) 11110.01 B= 30.25 =1E.4H3、完成下列二进制数的加减法运算(1)1001.11 + 100.01 = 1110.0001110101.0110(4) 01011101.0110 — 101101.1011 = 101111.10114、 完成下列十六进制数的加减法运算(1) 745CH + 56DFH= D14B H (2)ABF.8H — EF6.AH = 9C28.E H(3)12AB.F7 + 3CD.05= 1678 .FC H (4) 6F01H — EFD8H= 7F29 H5、 计算下列表达式的值 103.CEH(3) 18.9 + 1010.1101B + 12.6H — 1011.1001 = 36.525 6、选取字长n 为8位和16位两种情况,求下列十进制数的补码。

(1) X=— 33的补码: ⑵ Y=+ 33的补码: 0010 0001 ,0000 0000 0010 0001⑶Z=— 128 的补码:1000 0000 , 1111 1111 1000 0000⑷ N=+ 127的补码:0111 1111 , 0000 0000 0111 1111A=— 65的补码:1011 1111 , 1111 1111 1011 1111 ⑹ B=+ 65的补码: 0100 0001 , 0000 0000 0100 0001 ⑺ C=— 96的补码:1010 0000 , 1111 1111 1010 0000(8) D=+ 96的补码:0110 0000 , 0000 0000 0110 0000 7、写出下列用补码表示的二进制数的真值(1) [X 补=1000 0000 0000 0000 H X = — 1000 0000 0000 0000 H =— 32768(2)[Y 补=0000 0001 0000 0001 HY = + 0000000100000001 H =+ 257(3) [Z 补=1111 1110 1010 0101 HZ= — 0000 0001 0101 1011 H =—347(4)[A 补=0000 0010 0101 0111 HA= + 0000 0010 0101 0111 H =+ 5998、设机器字长为8位,最高位为符号位,试对下列格式进行二进制补码运算,并判断结果是否溢出。

微机原理王忠民版 课后答案

微机原理王忠民版 课后答案

部分习题答案第二章计算机中的数值与编码1、将十进制数转换为二进制与十六进制(1) 129、75=1000 0001、11B=81、CH(2) 218、8125=1101 1010、1101B=DA、DH(3) 15、625=1111、101B=F、AH(4) 47、15625=10 1111、0010 1B=2F、28 H2、将下列二进制数转换为十进制与十六进制(1) 111010 B=58 =3A H(2) 1011 1100、111B= 188、875= BC、E H(3) 0、1101 1B=0、84375 =0、D8H(4) 11110、01 B=30、25 =1E、4H3、完成下列二进制数的加减法运算(1) 1001、11+100、01=1110、00(2) 1101010110、1001-01100001、0011=01110101、0110(3) 00111101+10111011= (4) 01011101、0110-101101、1011=101111、10114、完成下列十六进制数的加减法运算(1) 745CH+56DFH=D14B H (2) ABF、8H-EF6、AH=9C28、E H(3) 12AB、F7+3CD、05=1678 、FC H(4) 6F01H-EFD8H=7F29 H5、计算下列表达式的值(1) 128、8125+10110101、1011B+1F、2H=101010101、1010B(2) 287、68-10101010、11H+8E、EH=103、CEH(3) 18、9+1010、1101B+12、6H-1011、1001=36、5256、选取字长n为8位与16位两种情况,求下列十进制数的补码。

(1) X=-33的补码: 1101 1111, 1111111111011111(2) Y=+33的补码: 0010 0001, 0000 0000 0010 0001(3) Z=-128的补码:1000 0000, 1111 1111 1000 0000(4) N=+127的补码:0111 1111, 0000 0000 0111 1111(5) A=-65的补码: 1011 1111, 1111 1111 1011 1111(6) B=+65的补码: 0100 0001, 0000 0000 0100 0001(7) C=-96的补码: 1010 0000, 1111 1111 1010 0000(8) D=+96的补码: 0110 0000, 0000 0000 0110 00007、写出下列用补码表示的二进制数的真值(1) [X]补=1000 0000 0000 0000 H X=-1000 0000 0000 0000 H=-32768(2) [Y]补=0000 0001 0000 0001 H Y=+0000 0001 0000 0001 H=+257(3) [Z]补=1111 1110 1010 0101 H Z=-0000 0001 0101 1011 H=-347(4) [A]补=0000 0010 0101 0111 H A=+0000 0010 0101 0111 H=+5998、设机器字长为8位,最高位为符号位,试对下列格式进行二进制补码运算,并判断结果就是否溢出。

微型计算机原理课后习题答案,王忠民主编,DOC

微型计算机原理课后习题答案,王忠民主编,DOC

王忠民主编西安电子科技大学出版部分习题答案第二章计算机中的数值和编码1、将十进制数转换为二进制和十六进制(1)129.75=10000001.11B=81.CH(2)218.8125=11011010.1101B=2、3451F.2H=103.CEH(3) 18.9+1010.1101B+12.6H-1011.1001=36.5256、选取字长n为8位和16位两种情况,求下列十进制数的补码。

(1) X=-33的补码:1101(2) Y=+33的补码:00100001,0000000000100001(3) Z=-128的补码:10000000,1111111110000000(4) N=+127的补码:01111111,0000000001111111(5) A=-65的补码:10111111,11111111101111117=-=+=-=+8并判断结果是否溢出。

(1)43+8∵ [43]补=00101011B,[8]补=00001000B∴ [43]补+[8]补=00101011B+00001000B=00110011B=33H00101011B+00001000B00110011B∵C S=0,C D=0,OF=C S⊕C D=0⊕0=0∴无溢出(无(溢9z=?,10111000B①若为无符号数②若为带符号补码数∵CF=1 ∴不正确∵CF=1,DF=1 OF=0∴不溢出x+y=0B8H x+z=61H y+z=3BH z+v=0CCH①不正确不正确不正确正确②不溢出不溢出不溢出溢出第三章80X86微处理器1.简述8086/8088CPU中BIU和EU的作用,并说明其并行工作过程。

答:(1)BIU的作用:计算20位的物理地址,并负责完成CPU与存储器将从内2.4BX(Base)称为基址寄存器。

用来存放操作数在内存中数据段内的偏移地址,CX(Counter)称为计数器。

在设计循环程序时使用该寄存器存放循环次数,可使程序指令简化,有利于提高程序的运行速度。

微型计算机原理习题解答

微型计算机原理习题解答
5
EU 部件由 1 个 16 位 ALU、寄存器组(4 个通用寄存器 AX、BX、CX 和 DX,2 个指针寄存器 BP 和 SP,2 个变址寄存器 DI 和 SI)、1 个标志寄存器 FLAGS 和执行控制电路(指令译码和时序 产生电路等)等组成。其功能一是从指令队列缓冲器中依次取出指令代码、译码并执行;二是 执行含存储器或 I/O 口的指令时,形成存储器操作数的段内偏移地址或 I/O 口地址送 BIU;三是 执行转移、调用、中断指令时通知 BIU 复位指令队列缓冲器,立即从新地址开始取指令代码。
物理地址=B100H×10H+A300H=BB300H
8
而一个物理地址可以对应多个逻辑地址,例如本题中物理地址 BB300H,可以对应逻辑地址: B100H:A300H B000H:B300H BB00H:0300H BB30H:0000H …
这种对应关系有利于存储器单元的共享,但要防止冲突。 7、试判断下列运算执行之后,OF、CF、ZF、SF、PF 和 AF 的状态: ⑴ A400H+7100H 解: 1010 0100 0000 0000
2
若有,是正溢出还是负溢出? (1)43+8=51
解:[43]补=2BH [8]补=08H 0010 1011 + 0000 1000 00ቤተ መጻሕፍቲ ባይዱ1 0011B
因为 D7CY○+ D6CY=0○+ 0=0,所以运算结果没有溢出。 (2)-52+7=-45
解:[-52]补=CCH [7]补=07H 1100 1100 + 0000 0111 1101 0011B
因为 D7CY○+ D6CY=0○+ 0=0,所以运算结果没有溢出。 (3)50+84=

微型计算机原理_课后习题答案

微型计算机原理_课后习题答案
4个模块的地址连续 , 起始地址为10000H , 则每个模块的首末地址是什么?
解: 末地址- 首地址+1=容量
末地址= 首地址+容量- 1 = 10000H+217- 1
0001 ,0000 ,0000 ,0000 ,0000B +0010 ,0000 ,0000 ,0000 ,0000B
0011 ,0000 ,0000 ,0000 ,0000B -0000 ,0000 ,0000 ,0000 ,0001B
CMP AL, ’3 ’ JE THREE
JMP KEY ONE :…
TWO :… THREE :…
第五章
1 、 已知8086 CPU中当前段寄存器的基址 (DS) = 021FH , (ES) = 0A32H, (CS) = 234EH , 则上述各段在存储器空间中物理地址的首地址号及末地 址号是什么?
1… 1
第六章
8 、设有4K ×4位SRAM芯片及8K ×8位EPROM芯片 ,欲与8088 CPU组成16K ×8 位的存储空间 , 请问需用此SRAM或EPROM多少片? 它们的片内地址线及片选 地址线分别是哪几根? 假设该16K ×8位存储空间连续 , 且末地址为FFFFFH, 请画出SRAM 、EPROM与8088 CPU的连线 , 并写出各芯片组的地址域 。
BCD码为0111, 1001B 十进制数为79
二进制数为0100, 1111B
第二章
5 、若已知一个字串的起始逻辑地址为2000H :1000H ,试求该
字串中第16个字的逻辑地址及物理地址。 2000H :1000H
解:
2000H :1001H
物理地址=段地址×10H+偏移地址

微型计算机原理1王忠民著

微型计算机原理1王忠民著

•人求家口解用统数电计学器难(题洗衣机,电冰 •箱破天)译文密物码理上天体性质计算 •弹自道控计车算床 •天化气工预厂报、钢铁厂过程控制
科学计算特点:
① 采用高级语言编程; ② 时间不会影响结果的有效性; ③ 不需要专门的输入输出设备。 信息处理和过程控制特点:
① 采用高级语言和汇编语言编程,并 要求有较高的程序设计能力;
1.1 引言
1. 什么是计算机? 计算机是一种 设备(机器)
由各种电子器件组成的设备 (故也称为电子计算机)
能够自动、高速、精确地进 行算术运算、逻辑控制和信 息处理的设备
现代化的高科技设备
2. 计算机的应用范围
概括起来说,计算机主要用于科学计算、信 息(数据)处理和过程控制等领域。
科学计算 数据处理 过程控制
作用:存放用户程序,数据,部分系统程序。 特点:可随机读写,但断电后,内容丢失。
② 只读存储器ROM(Read Only Memory) 作用:存放永久性的程序和数据,系统引导 程序,监控程序及操作系统中的I/O管理程序等。 特点:只能读不能写,但断电后内容不丢。
1.3.4 I/O接口与输入输出设备
寄存器阵列(RA)
内存储器
RAM、ROM、EPROM E2PROM、Cache等
输入/输出(I/O)接口电路
外围设备
输入设备(键盘、鼠标等) 输出设备(显示器、打印机等)
外存储器(软驱、硬盘、光盘等)
软件
系统软件 用户软件 (应用软件)
图1.1 微型计算机系统的组成
1.3.1 基于总线的微型计算机硬件系统
② 对系统的实时性要求很高; ③ 需要专门的输入和输出设备。
1.2 计算机的发展概况
1. 计算机的发展 计算机的发展依赖于电子技术,特别是微电 子技术的发展。

微型计算机原理-第4章(5)微机原理与接口技术(第三版)(王忠民)

微型计算机原理-第4章(5)微机原理与接口技术(第三版)(王忠民)
格式:SBB DST,SRC 操作:DST <= DST-SRC-CF
▪DEC(Decrement) 减1
格式:DEC DST 操作: DST <= DST -1
第四章 80x86 指令系统—算术运算指令
▪NEG(Negate)求补
格式:NEG DST 操作: DST <= 0-DST
利用NEG指令可以得到负数的绝对值
60H

ACH

74H

3BH

DATA2 C1H
36H

9EH

D5H
20H

图4.19 例4.3中被加数和加数在内存中的存放情况
第四章 80x86 指令系统—算术运算指令
程序如下: LOOPER:MOV
MOV CX,5
;设置循环次数
MOV SI,0
;置位移量初值
CLC
AL,DATA2[SI]
;取一个
第四章 80x86 指令系统—算术运算指令
说明: 1、DST:REG/MEM,SRC:8/16data/REG/MEM。 2、DST、SRC不能同时为MEM。 3、加法指令影响标志寄存器的状态标志。 4、INC指令不影响CF标志。
第四章 80x86 指令系统—算术运算指令 例 4.3 计 算 两 个 多 字 节 十 六 进 制 数 之 和 : 3B74AC60F8H+20D59E36C1H=?
第四章 80x86 指令系统—算术运算指令
(3)乘法指令
▪MUL(Unsigned Multiple) 无符号数乘法
格式:MUL SRC 操作:AX<=AL*SRC(字节)/ DX,AX<=AX*SRC(字)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

微型计算机原理课后习题答案-王忠民主编王忠民主编西安电子科技大学出版部分习题答案第二章计算机中的数值和编码1、将十进制数转换为二进制和十六进制(1) 129.75=1000 0001.11B=81.CH(2)218.8125=1101 1010.1101B=DA.DH(3) 15.625=1111.101B=F.AH (4)47.15625=10 1111.0010 1B=2F.28 H2、将下列二进制数转换为十进制和十六进制(1) 111010 B=58 =3A H (2) 1011 1100.111B= 188.875= BC.E H(3) 0.1101 1B=0.84375 =0.D8H(4) 11110.01 B=30.25 =1E.4H3、完成下列二进制数的加减法运算(1) 1001.11+100.01=1110.00(2) 1101010110.1001-01100001.0011=01110101.0110 (3) 00111101+10111011=11111000 (4) 01011101.0110-101101.1011=101111.10114、完成下列十六进制数的加减法运算(1) 745CH+56DFH=D14B H(2) ABF.8H-EF6.AH=9C28.E H(3) 12AB.F7+3CD.05=1678 .FC H(4) 6F01H-EFD8H=7F29 H5、计算下列表达式的值(1) 128.8125+10110101.1011B+1F.2H=101010101.1010B(2) 287.68-10101010.11H+8E.EH=103.CEH(3) 18.9+1010.1101B+12.6H-1011.1001=36.5256、选取字长n为8位和16位两种情况,求下列十进制数的补码。

(1) X=-33的补码:1101 1111,1111111111011111(2) Y=+33的补码:0010 0001,0000 0000 0010 0001(3) Z=-128的补码:1000 0000,1111 1111 1000 0000(4) N=+127的补码:0111 1111, 0000 0000 0111 1111(5) A=-65的补码:1011 1111, 1111 1111 1011 1111(6) B=+65的补码:0100 0001,0000 0000 0100 0001(7) C=-96的补码:1010 0000,1111 1111 1010 0000(8) D=+96的补码:0110 0000,0000 0000 0110 00007、写出下列用补码表示的二进制数的真值(1) [X]补=1000 0000 0000 0000 H X=-1000 0000 0000 0000 H=-32768(2) [Y]补=0000 0001 0000 0001 H Y=+0000 0001 0000 0001 H=+257(3) [Z]补=1111 1110 1010 0101 H Z=-0000 0001 0101 1011 H=-347(4) [A]补=0000 0010 0101 0111 H A=+0000 0010 0101 0111 H=+5998、设机器字长为8位,最高位为符号位,试对下列格式进行二进制补码运算,并判断结果是否溢出。

(1) 43+8∵ [43]补=00101011B,[8]补=00001000B∴[43]补+[8]补=00101011B+00001000B=00110011B=33H00101011B+00001000B00110011B∵ C S=0,C D=0,OF=C S⊕C D=0⊕0=0∴无溢出(1) 43+8 33H (无溢出)(2) -52+7D3 H(无溢出)(3) 60+9096 H (溢出)(4) 72-840 H (无溢出)(5) -33+(-37) 0BA H (无溢出) (6)-90+(-70) 60 H (溢出)(7) ―9―(―7) FE H (无溢出)(8)60-90 E2 H (无溢出)9、设有变量x=11101111B,y=11001001B,z=01110010B,v=01011010B,试计算x+y=?,x+z =?,y+z=?,z+v=?,请问:①若为无符号数,计算结果是否正确?②若为带符号补码数,计算结果是否溢出?x+y = 11101111B+11001001B=10111000B=1B8 H 1110 1111 B+1100 1001B1011 1000B①若为无符号数②若为带符号补码数∵ CF=1 ∴不正确∵ CF=1,DF=1 OF =0 ∴不溢出x+y = 0B8 H x+z = 61 H y+z = 3B Hz+v = 0CC H①不正确不正确不正确正确②不溢出不溢出不溢出溢出第三章80X86微处理器1.简述8086/8088CPU中BIU和EU的作用,并说明其并行工作过程。

答:(1) BIU的作用:计算20位的物理地址,并负责完成CPU与存储器或I/O端口之间的数据传送。

(2) EU的作用:执行指令,并为BIU提供所需的有效地址。

(3) 并行工作过程:当EU从指令队列中取出指令执行时,BIU将从内存中取出指令补充到指令队列中。

这样就实现了取指和执行指令的并行工作。

2.8086/8088CPU内部有哪些寄存器?其主要作用是什么?答:8086/8088CPU内部共有14个寄存器,可分为4类:数据寄存器4个,地址寄存器4个,段寄存器4个和控制寄存器2个。

其主要作用是:(1) 数据寄存器:一般用来存放数据,但它们各自都有自己的特定用途。

A X(Accumulator)称为累加器。

用该寄存器存放运算结果可使指令简化,提高指令的执行速度。

此外,所有的I/O指令都使用该寄存器与外设端口交换信息。

B X(Base)称为基址寄存器。

用来存放操作数在内存中数据段内的偏移地址,C X(Counter)称为计数器。

在设计循环程序时使用该寄存器存放循环次数,可使程序指令简化,有利于提高程序的运行速度。

D X(Data)称为数据寄存器。

在寄存器间接寻址的I/O指令中存放I/O端口地址;在做双字长乘除法运算时,DX与AX一起存放一个双字长操作数,其中DX存放高16位数。

(2) 地址寄存器:一般用来存放段内的偏移地址。

SP(Stack Pointer)称为堆栈指针寄存器。

在使用堆栈操作指令(PUSH或POP)对堆栈进行操作时,每执行一次进栈或出栈操作,系统会自动将SP的内容减2或加2,以使其始终指向栈顶。

B P(Base Pointer)称为基址寄存器。

作为通用寄存器,它可以用来存放数据,但更经常更重要的用途是存放操作数在堆栈段内的偏移地址。

S I(Source Index)称为源变址寄存器。

SI存放源串在数据段内的偏移地址。

DI(Destination Index)称为目的变址寄存器。

DI 存放目的串在附加数据段内的偏移地址。

(3) 段寄存器:用于存放段地址C S(Code Segment)称为代码段寄存器,用来存储程序当前使用的代码段的段地址。

CS的内容左移4位再加上指令指针寄存器IP的内容就是下一条要读取的指令在存储器中的物理地址。

D S(Data Segment)称为数据段寄存器,用来存放程序当前使用的数据段的段地址。

DS的内容左移4位再加上按指令中存储器寻址方式给出的偏移地址即得到对数据段指定单元进行读写的物理地址。

S S(Stack Segment)称为堆栈段寄存器,用来存放程序当前所使用的堆栈段的段地址。

堆栈是存储器中开辟的按“先进后出”原则组织的一个特殊存储区,主要用于调用子程序或执行中断服务程序时保护断点和现场。

E S(Extra Segment)称为附加数据段寄存器,用来存放程序当前使用的附加数据段的段地址。

附加数据段用来存放字符串操作时的目的字符串。

(4) 控制寄存器I P(Instmcdon Pointer)称为指令指针寄存器,用来存放下一条要读取的指令在代码段内的偏移地址。

用户程序不能直接访问IP。

F LAGS称为标志寄存器,它是一个16位的寄存器,但只用了其中9位,这9位包括(个状态标志位和3个控制标志位。

它用来反映算术运算和逻辑运算结果的一些特征,或用来控制CPU的某种操作。

3.8086/8088CPU中有哪些寄存器可用来指示操作数在存储器中某段内的偏移地址?答:可用来指示段内偏移地址的寄存器共有6个:IP、SP、BP、BX、SI、DI4.8086/8088CPU中标志寄存器FLAGS有哪些标志位?它们的含义和作用如何?答:标志寄存器中的标志共有9个,分为两类:状态标志6个和控制标志3个。

其作用是:(1) 状态标志:用来反映算术和逻辑运算结果的一些特征。

C F(Carry Flag)—进位标志位。

当进行加减运算时,若最高位发生进位或借位,则CF为1,否则为0。

该标志位通常用于判断无符号数运算结果是否超出了计算机所能表示的无符号数的范围。

P F(Parity Flag)—奇偶标志位。

当指令执行结果的低8位中含有偶数个1时,PF为1,否则为0。

A F(Auxiliary Flag)—辅助进位标志位。

当执行一条加法或减法运算指令时,若结果的低字节的低4位向高4位有进位或借位,则AF为1,否则为0。

Z F(Zero Flag)—零标志位。

若当前的运算结果为0,则ZF为1,否则为00S F(Sign Flag)—符号标志位。

当运算结果的最高位为1时,SF=1,否则为00O F(Overflow Flag)—溢出标志位。

当运算结果超出了带符号数所能表示的数值范围,即溢出时,OF=1,否则为0。

该标志位通常用来判断带符号数运算结果是否溢出o(2) 控制标志位:用来控制CPU的操作,由程序设置或清除。

它们是:TF(TrapFlag)—跟踪(陷阱)标志位。

它是为测试程序的方便而设置的。

若将TF置1,8086/8088CPU处于单步工作方式,否则,将正常执行程序。

I P(Interrupt Flag)—中断允许标志位。

它是用来控制可屏蔽中断的控制标志位。

若用STI指令将IF 置1,表示允许CPU接受外部从INTR引脚上发来的可屏蔽中断请求信号;若用CLI指令将IP清0,则禁止CPU接受可屏蔽中断请求信号。

IF的状态对非屏蔽中断及内部中断没有影响。

D F(DirectionFlag)—方向标志位。

若用STD将DF置1,串操作按减地址方式进行,也就是说,从高地址开始,每操作一次地址自动递减;若用CLD 将DF清0,则串操作按增地址方式进行,即每操作一次地址自动递增。

相关文档
最新文档