《微机原理与接口技术》(第四版)周何琴课后习题答案.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《《微机原理与接口技术》(第四版)周何琴课后习题答案.docx》由会员分享,可在线阅读,更多相关《《微机原理与接口技术》(第四版)周何琴课后习题答案.docx(50页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第 1 章 绪论作业1. 将下列二进制数转换成十进制数。(1)11001010B=202(2)00111101B=61(3)01001101B=77(4)10100100B=1643. 将下列十进制数分别转换为二进制数和十六进制数。(2)76= 100 1100B =4CH(4)134= 1000 0110B =86H4. 求下列十进制数的 BCD 码(1)327=11 0010 0111(BCD 码)(2)1256=1 0010 0101 0110(BCD 码)6. 求出下列 10 进制数的原码、反码和补码(2)+85 (4)-85 解:85=0101 0101B原码:+85= 0101 0
2、101B-85= 1101 0101B反码:+85= 0101 0101B-85= 1010 1010B补码:+85= 0101 0101B-85= 1010 1011B10. 画出微型计算机的基本结构框图,说明各部分的主要功能是什么? 解:微处理器地址总线CPU存储器I/O接口I/O总线I/O设备数据总线控制总线微型计算机的基本结构框图如下:微处理器 CPU:控制微处理器与存储器或 I/O 设备间的数据交换;进行算术和逻辑运算等操作;判定和控制程序流向。微处理器主要完成:(1) 指令控制:从存储器中取指令,指令译码;(2) 数据加工:简单的算术逻辑运算;(3) 操作控制:在微处理器和存储器或
3、者 I/O 之间传送数据;(4) 时间控制:程序流向控制。存储器:用来存放数据和指令。I/O 接口:主机和外设间的桥梁,提供数据缓冲驱动、信号电平转换、信息转换、地址译码、定时控制等-可编辑修改-各种功能。I/O 设备:输入原始数据和程序,转换成计算机能识别的信息,送入存储器去等待处理。输出运算结果。总线:连接计算机系统中各功能部件的信息通道。第 2 章 8086CPU 作业2. 8086CPU 内部由哪两部分组成?它们的大致是如何工作的? 答:(1)8086CPU 由指令执行部件EU 和总线接口部件BIU 两部分组成。(2) BIU 先执行读存储器操作,从给定地址单元中取出指令,送到先进先出
4、的指令队列中等待执行。存储器的物理地址=CS16+IP,在地址加法器S 中形成。 EU 从指令队列中取走指令,经EU 控制器译码分析后,向各部件发控制命令,以完成执行指令的操作。BIU 与 EU 是并行工作方式。 当指令队列已满,EU 在执行指令,未向总线接口单元BIU 申请读/写内存或I/O 操作时,BIU 处于空闲状态。 指令执行过程中,若需对存储器或 I/O 端口存取数据,EU 就要求 BIU 去完成相应的总线周期。5. 两个带符号数 1011 0100B 和 1100 0111B 相加,运算后各标志位的值等于多少?哪些标志位是有意义的?如果把这两个数当成无符号数,相加后哪些标志位是有意
5、义的?解:(1) 两个带符号数:不考虑 CF 标志1011 0100+ 1100 01111 0111 1011运算后各标志位状态如下: CF=1,有进位,对于带符号数,无意义。PF=1, 结 果 有 偶 数 个 1 AF=0,无半进位,非BCD 码运算,无意义。ZF=0,结果非 0SF =0, 结 果 为 正 数OF=1,溢出(两个负数相加,结果变成了正数)(2) 两个无符号数:不考虑 SF 和 OF 标志1011 0100+ 1100 01111 0111 1011运算后各标志位状态如下: CF=1, 有 进 位 PF=1,结果有偶数个 1ZF=0,结果非 0AF、SF、 OF 无意义。2
6、0. 简要解释下列名词的意义。CPU:中央处理单元CPU (Control Processing Unit)也称微处理器,是微型计算机的核心部件,由运算器 ALU、控制器、寄存器组以及总线接口等部件组成。主要完成各种运算,负责对整机的控制。存储器:用于存储程序和数据的硬件设备。堆栈:堆栈是一种数据结构,是内部RAM 的一段区域。设置堆栈的目的是用于数据的暂存,中断、子程序调用时断点和现场的保护与恢复。IP:指令指针寄存器,用于控制CPU 的指令执行顺序(只存放偏移量),只能和代码段寄存器 CS 配合使用,可以确定当前所要取的指令的内存地址,且始终指向代码段中下一条将要读取到 CPU 指令队列的
7、那条指令。顺序执行程序时,CPU 每取一个指令字节,IP 自动加 1,指向下一个要读取的字节。SP:堆栈指针寄存器,用于指示堆栈的栈顶地址偏移量的寄存器,它决定了堆栈在内部RAM 中的物理位置。只能和 SS 段寄存器配合使用,且始终指向堆栈的栈顶,在堆栈指令中隐含的使用它来定位栈顶数据。BP:基址指针寄存器。用于存放偏移量,通常和SS 段寄存器配合使用,在间接寻址中用于定位堆栈段中的内存单元。段寄存器:由于CPU 内部的寄存器都是 16 位的,为了能够提供 20 位的物理地址,8086 系统中采用了存储器分段的方法。规定存储器的一个段为 64KB,由段寄存器来确定存储单元的段基址,由指令提供该
8、单元相对于相应段起始地址的 16 位偏移量。状态标志:表示前一步操作(如加、减等)执行以后,ALU 所处的状态,后续操作可以根据这些状态标志进行判断,实现转移。控制标志:可以通过指令人为设置,用以对某一种特定的功能起控制作用(如中断屏蔽等),反映了人们对微机系统工作方式的可控制性。物理地址:存储器的实际地址,它是指 CPU 和存储器进行数据交换时所使用的地址。物理地址是由段地址与偏移地址共同决定的,计算物理地址的表达式为:物理地址 = 段地址 16 + 偏移地址逻辑地址:是在程序中使用的地址,它由段地址和偏移地 址两部分组成。逻辑地址的表示形式为“段地址:偏移地址”。机器语言:直接用二进制编码
9、表述的指令系统语言,通常称为机器语言,机器语言指令是计算机惟一能直接识别和执行的指令。汇编语言:便于记忆和使用,通常使用汇编语言(符号指令或指令助记符)来描述计算机的指令系统。指令:让计算机完成某种操作的命令称为指令。指令系统:一台计算机所能识别、执行的指令的集合就是它的指令系统。总线:连接计算机系统中其他主要功能部件的桥梁,是计算机系统中信息输送的枢纽,只有通过总线, 计算机系统的各部件才能实现相互通信。内部总线:微处理器内部各个器件之间传送信息的通路。系统总线:微处理机机箱内的底板总线。可分为:ISA、EISA、VESA 局部总线、PCI 局部总线等。时钟周期:CPU 时钟频率的倒数称为时
10、钟周期,也称T 状态。总线周期:BIU 完成一次访问存储器或 I/O 端口操作所需要的时间称为总线周期。一个基本的总线周期是由 4 个(或 4 个以上)时钟周期组成的。指令周期:执行一条指令所需要的时间称为指令周期,不同指令的指令周期的长短是不同的。一个指令周期是由几个总线周期组成的。21. 要完成下列运算和控制,用什么标志判别?其值是什么?(1) 比较两数是否相等?(2) 两数运算后结果是正数还是负数?(3) 两数相加后是否溢出?(4) 奇偶校验判断。(5) 两数相减后比较大小。(6) 中断信号能否允许? 答:(1) 比较两数是否相等:两数相减后用零标志 ZF 判断,ZF=1,则相等。(2)
11、 两数运算后结果是正数还是负数:用符号标志 SF 判断, SF=1,则结果为负数。(3) 两数相加后是否溢出:用溢出标志 OF 判断,OF=1,则有溢出。(4) 奇偶校验判断:采用偶校验方式,判定是否要补“1”?用奇偶标志 PF 判断,若数据结果低8 位中含有偶数个“1”,则 PF=1;不用补“1”。(5) 两数相减后比较大小:ZF=1,两数相等。对于无符号数,CF=1,则被减数小于减数;CF=0,则被减数大于减数;ZF=1,则两数相等。对于带符号数,SFOF=1,则被减数小于减数;SFOF=0,则被减数大于减数。(6) 中断信号能否允许:用中断允许标志 IF 判断,IF=1,则能允许可屏蔽中
12、断。22. 说明 8086 系统中“最小模式”和“最大模式”两种工作方式的主要区别。最小模式(最小工作方式 ):单微处理器系统(系统中只有一个 8086 微处理器),所有的总线控制信号,都是直接由 8086CPU 产生的,适用于规模较小的微机应用系统。当把 8086 的 33 脚MN/MX 接+5V 时,8086 CPU 就处于最小工作方式。最大模式(最大工作方式 ):多微处理器系统(包含有两个或多个微处理器,一个主处理器 8086CPU,其他的处理器称为协处理器它们是协助主处理器工作的。 ),主要用在中等或大规模的 8086 系统中。当把 8086 的 33 脚MN/MX 接地时, 8086
13、 CPU 就处于最大模式。源目的(1)MOV AX, 2048H立即寻址寄存器寻址(2) MOV CL, 0FFH立即寻址寄存器寻址(3) MOV BX, SI寄存器间接寻址寄存器寻址(4) MOV 5BX, BL寄存器寻址寄存器相对寻址第 3 章 作 业1分别说明下列指令的源操作数和目的操作数各采用什么寻址方式。(5) MOV BP+100H, AX寄存器寻址寄存器相对寻址(6) MOV BX+DI, $立即寻址基址变址寻址(7) MOV DX, ES:BX+SI基址变址寻址寄存器寻址(8) MOV VALBP+DI, DX寄存器寻址相对基址加变址寻址(9) IN AL, 05HI/O 端口
14、寻址(或直接寻址)寄存器寻址(10) MOV DS, AX寄存器寻址寄存器寻址2已知:DS=1000H, BX=0200H, SI=02H, 内存 10200H10205H 单元的内容分别为 10H, 2AH, 3CH, 46H, 59H,6BH。下列每条指令执行完后 AX 寄存器的内容各是什么?AX 内容(1)MOV AX, 0200H;(AX)=0200H(2) MOV AX, 200H;(AX)=2A10H(3) MOV AX, BX ;(AX)=0200H(4) MOV AX, 3BX ;(AX)=5946H(5) MOV AX, BX+SI;(AX)=463CH(6) MOV AX,
15、 2BX+SI ;(AX)=6B59H 6指出下列指令中哪些是错误的,错在什么地方(1) MOV DL, AX错误,源和目的操作数类型不匹配,DL 是 8 位寄存器,AX 是 16 位寄存器。(2) MOV 8650H, AX错误,立即数不能作为目的操作数。(3) MOV DS, 0200H错误,不能用立即数直接给段寄存器赋值。(4) MOV BX, 1200H错误,不能在两个存储单元之间直接传送数据(5) MOV IP, 0FFH错误,IP 不能作目的操作数或不能用立即数直接给IP 寄存器赋值。(6) MOV BX+SI+3, IP错误,IP 不能作源操作数。(7) MOV AX, BXBP
16、错误,基址变址寻址方式必须是一个基址寄存器与一个变址寄存器,不能两个同时为基址寄存器(BX、BP 均为基址寄存器)。(8)MOV AL, ES:BP正确。(9) MOV DL, SIDI错误,基址变址寻址方式必须是一个基址寄存器与一个变址寄存器,不能两个同时为变址寄存器(SI、DI 均为变址寄存器)。(10) MOV AX, OFFSET 0A20H错误,OFFSET 后必须是存储单元标号地址,不能是立即数。(11) MOV AL, OFFSET TABLE 错误,操作数类型不匹配,AL 为 8 位, TABLE 为 16 位。(12) XCHG AL, 50H错误,交换指令XCHG 的操作数
17、不能是立即数。(13) IN BL, 05H错误,IN 指令的目的操作数必须是累加器(14) OUT AL, 0FFEH错误,OUT 指令的源操作数必须是累加器,目的操作数为 8 位I/O 端口地址或用 DX 做桥梁的 16 位I/O 端口地址。10. 已知 AX=2508H,BX=0F36H,CX=0004H,DX=1864H,求下列每条指令执行后的结果是什么?标志位 CF 等于什么?(1) AND AH,CL(AH)=04HCF=0(2) OR BL,30H(BL)=36HCF=0(3) NOT AX(AX)=0DAF7HCF 不变(不影响 CF)(4) XOR CX,0FFF0H(CX)
18、=0FFF4HCF=0(5) TEST DH,0FH(DH)=18HCF=0(6)CMP CX,00H(CX)=0004HCF=0(7) SHR DX,CL(DX)=0186HCF=0(8) SAR AL,1(AL)=04HCF=0(9) SHL BH,CL(BH)=0F0HCF=0(10) SAL AX,1(AX)=4A10HCF=0(11)RCLBX,1CF=1,(BX)=1E6DH, CF=0,(BX)=1E6CH CF=0(12)RORDX,CL(DX)=4186HCF=011. 假设数据定义如下:DATA SEGMENTSTRING DB The Personal Computer
19、& TV DATA ENDS试用字符串操作指令编程完成以下功能:(1)把该字符串传送到附加段中偏移地址为 GET_CHAR 开始的内存单元中。解:程序段如下:LEASI,STRING;置源串偏移地址LEADI,GET_CHAR;置目的串偏移地址MOVCX,26;置串长度CLD;方向标志复位REPMOVSB;字符串传送12. 编程将 AX 寄存器中的内容以相反的次序传送到 DX 寄存器中,并要求 AX 中的内容不被破坏,然后统计 DX 寄存器中 1 的个数是多少。解:将 AX 的内容用 ROR 循环右移,16 次之后 AX 的内容不变(如果用算术/逻辑右移 SHL/SAL,则 AX 的内容破坏,
20、需要用堆栈 PUSHU AX/POP AX 保护),其最低位移入 CF 中,再使用 RCL 循环左移将 CF 中的值移入 DX 中。并且,如果CF 的值为 1,则将 BL 加 1。MOV CX, 16 XOR BL, BLLP1:ROR AX, 1JNC LP2 INC BLLP2:RCL DX,1LOOP LP1 HLT调试程序:STACK SEGMENT STACK DB 100 DUP(?)STACK ENDS DATASEGMENTBUF DW 12BUF1 DW 100 DUP (?) DATAENDSCODESEGMENTASSUME CS:CODE,DS:DATA,SS:STAC
21、K START: PUSH DSMOV AX,DATA MOV DS,AX MOV AX,1234HMOV CX, 16 XOR BL, BLLP1:ROR AX, 1 JNC LP2 INC BLLP2:RCL DX,1 LOOP LP1 HLTCODEENDS END START15. 某班有七个同学的英语成绩低于 80 分,分数存在 ARRAY 数组中,试编程完成以下工作:给每人加 5 分,结果存到 NEW 数组中.解:STACK SEGMENT STACK DB 100 DUP(?)STACK ENDS DATASEGMENTARRAYDB 7 DUP(?) NEWDB 7 DUP(?
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机原理与接口技术 微机 原理 接口 技术 第四 课后 习题 答案
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内