《微机原理与接口技术》(第四版)周何琴课后习题答案

更新时间:2023-05-12 14:33:09 阅读: 评论:0

第1章绪论作业
1. 将下列二进制数转换成十进制数。
(1)11001010B=202          (2)00111101B=61
(3)01001101B=77            (4)10100100B=164
3. 将下列十进制数分别转换为二进制数和十六进制数。
(2)76= 100 1100B =4CH
(4)134= 1000 0110B =86H
4. 求下列十进制数的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 0101B  -85= 1101 0101B
反码:+85= 0101 0101B  -85= 1010 1010B
补码:+85= 0101 0101B  -85= 1010 1011B
10. 画出微型计算机的基本结构框图,说明各部分的主要功能是什么?
解:
微型计算机的基本结构框图如下:
微处理器CPU:控制微处理器与存储器或I/O设备间的数据交换;进行算术和逻辑运算等操作;判定和控制程序流向。
微处理器主要完成:
(1)指令控制:从存储器中取指令,指令译码;
(2)数据加工:简单的算术逻辑运算;
(3)操作控制:在微处理器和存储器或者I/O之间传送数据;
(4)时间控制:程序流向控制。
存储器:用来存放数据和指令。
I/O接口:主机和外设间的桥梁,提供数据缓冲驱动、信号电平转换、信息转换、地址译码、定时控制等
各种功能。
I/O设备:输入原始数据和程序,转换成计算机能识别的信息,送入存储器去等待处理。输出运算结果。
总线:连接计算机系统中各功能部件的信息通道。
第2章  8086CPU作业
2. 8086CPU内部由哪两部分组成?它们的大致是如何工作的?
答:
(1)8086CPU由指令执行部件EU和总线接口部件BIU两部分组成。
(2)
①BIU先执行读存储器操作,从给定地址单元中取出指令,送到先进先出的指令队列中等待执行。
存储器的物理地址=CS⨯16+IP,在地址加法器∑中形成。
②EU从指令队列中取走指令,经EU控制器译码分析后,向各部件发控制命令,以完成执行指令的操作。BIU与EU是并行工作方式。
③当指令队列已满,EU在执行指令,未向总线接口单元BIU申请读/写内存或I/O操作时,BIU处于空闲状态。
④指令执行过程中,若需对存储器或I/O端口存取数据,EU就要求BIU去完成相应的总线周期。
5. 两个带符号数1011 0100B和1100 0111B相加,运算后各标志位的值等于多少?哪些标志位是有意义的?如果把这两个数当成无符号数,相加后哪些标志位是有意义的?
解:
(1)两个带符号数:不考虑CF标志
1011 0100
+ 1100 0111
1 0111 1011
运算后各标志位状态如下:
CF=1,有进位,对于带符号数,无意义。
PF=1,结果有偶数个1
AF=0,无半进位,非BCD码运算,无意义。
ZF=0,结果非0
SF =0,结果为正数
OF=1,溢出(两个负数相加,结果变成了正数)
(2)两个无符号数:不考虑SF和OF标志
1011 0100
+ 1100 0111
1 0111 1011
运算后各标志位状态如下:
CF=1,有进位
PF=1,结果有偶数个1
ZF=0,结果非0
AF、SF、OF无意义。
20. 简要解释下列名词的意义。
CPU:中央处理单元CPU (Control Processing Unit)也称微处理器,是微型计算机的核心部件,由运算器ALU、控制器、寄存器组以及总线接口等部件组成。主要完成各种运算,负责对整机的控制。
存储器:用于存储程序和数据的硬件设备。
堆栈:堆栈是一种数据结构,是内部RAM的一段区域。设置堆栈的目的是用于数据的暂存,中断、子程序调用时断点和现场的保护与恢复。
IP:指令指针寄存器,用于控制CPU的指令执行顺序(只存放偏移量),只能和代码段寄存器CS配合使用,可以确定当前所要取的指令的内存地址,且始终指向代码段中下一条将要读取到CPU指令队列的那条指令。顺序执行程序时,CPU每取一个指令字节,IP自动加1,指向下一个要读取的字节。
SP:堆栈指针寄存器,用于指示堆栈的栈顶地址偏移量的寄存器,它决定了堆栈在内部RAM中的物理位置。只能和SS段寄存器配合使用,且始终指向堆栈的栈顶,在堆栈指令中隐含的使用它来定位栈顶数据。
BP:基址指针寄存器。用于存放偏移量,通常和SS段寄存器配合使用,在间接寻址中用于定位堆栈段中的内存单元。
段寄存器:由于CPU内部的寄存器都是16位的,为了能够提供20位的物理地址,8086系统中采用了存储器分段的方法。规定存储器的一个段为64KB,由段寄存器来确定存储单元的段基址,由指令提供该单元相对于相应段起始地址的16位偏移量。
状态标志:表示前一步操作(如加、减等)执行以后,ALU所处的状态,后续操作可以根据这些状态
标志进行判断,实现转移。
控制标志:可以通过指令人为设置,用以对某一种特定的功能起控制作用(如中断屏蔽等),反映了人们对微机系统工作方式的可控制性。
物理地址:存储器的实际地址,它是指CPU和存储器进行数据交换时所使用的地址。物理地址是由段地址与偏移地址共同决定的,计算物理地址的表达式为:
物理地址= 段地址× 16 + 偏移地址
逻辑地址:是在程序中使用的地址,它由段地址和偏移地址两部分组成。
逻辑地址的表示形式为“段地址:偏移地址”。
机器语言:直接用二进制编码表述的指令系统语言,通常称为机器语言,机器语言指令是计算机惟一能直接识别和执行的指令。
汇编语言:便于记忆和使用,通常使用汇编语言(符号指令或指令助记符)来描述计算机的指令系统。
指令:让计算机完成某种操作的命令称为指令。
指令系统:一台计算机所能识别、执行的指令的集合就是它的指令系统。
总线:连接计算机系统中其他主要功能部件的桥梁,是计算机系统中信息输送的枢纽,只有通过总线,计算机系统的各部件才能实现相互通信。
内部总线:微处理器内部各个器件之间传送信息的通路。
系统总线:微处理机机箱内的底板总线。可分为:ISA、EISA、VESA局部总线、PCI局部总线等。
时钟周期:CPU时钟频率的倒数称为时钟周期,也称T状态。
总线周期:BIU完成一次访问存储器或I/O端口操作所需要的时间称为总线周期。一个基本的总线周期是由4个(或4个以上)时钟周期组成的。
指令周期:执行一条指令所需要的时间称为指令周期,不同指令的指令周期的长短是不同的。一个指令周期是由几个总线周期组成的。
21. 要完成下列运算和控制,用什么标志判别?其值是什么?
(1)比较两数是否相等?
(2)两数运算后结果是正数还是负数?
(3)两数相加后是否溢出?
(4)奇偶校验判断。
(5)两数相减后比较大小。
(6)中断信号能否允许?
答:
(1)比较两数是否相等:两数相减后用零标志ZF判断,ZF=1,则相等。
(2)两数运算后结果是正数还是负数:用符号标志SF判断,SF=1,则结果为负数。
(3)两数相加后是否溢出:用溢出标志OF判断,OF=1,则有溢出。
(4)奇偶校验判断:采用偶校验方式,判定是否要补“1”?用奇偶标志PF判断,若数据结果低8位中含有偶数个“1”,则PF=1;不用补“1”。
(5)两数相减后比较大小:ZF=1,两数相等。对于无符号数,CF=1,则被减数小于减数;CF=0,则被减数大于减数;ZF=1,则两数相等。对于带符号数,SF⊕OF=1,则被减数小于减数;SF⊕OF=0,则被减数大于减数。
(6)中断信号能否允许:用中断允许标志IF判断,IF=1,则能允许可屏蔽中断。
22. 说明8086系统中“最小模式”和“最大模式”两种工作方式的主要区别。
最小模式(最小工作方式):单微处理器系统(系统中只有一个8086微处理器),所有的总线控制信号,都是直接由8086CPU产生的,适用于规模较小的微机应用系统。
当把8086的33脚MN/MX接+5V时,8086 CPU就处于最小工作方式。
最大模式(最大工作方式):多微处理器系统(包含有两个或多个微处理器,一个主处理器8086CPU,其他的处理器称为协处理器它们是协助主处理器工作的。),主要用在中等或大规模的8086系统中。
当把8086的33脚MN/MX接地时,8086 CPU就处于最大模式。
第3章作业
1.分别说明下列指令的源操作数和目的操作数各采用什么寻址方式。
源目的
(1)MOV AX, 2048H 立即寻址寄存器寻址
(2) MOV CL, 0FFH 立即寻址寄存器寻址
(3) MOV BX, [SI] 寄存器间接寻址寄存器寻址
(4) MOV 5[BX], BL 寄存器寻址寄存器相对寻址
(5) MOV [BP+100H], AX 寄存器寻址寄存器相对寻址
(6) MOV [BX+DI], ‘$’立即寻址基址变址寻址
(7) MOV DX, ES:[BX+SI] 基址变址寻址寄存器寻址
(8) MOV V AL[BP+DI], DX 寄存器寻址相对基址加变址寻址
(9) IN AL, 05H I/O端口寻址(或直接寻址)寄存器寻址
(10) MOV DS, AX 寄存器寻址寄存器寻址
2.已知:DS=1000H, BX=0200H, SI=02H, 内存10200H~10205H单元的内容分别为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, 3[BX] ;(AX)=5946H
(5) MOV AX, [BX+SI];(AX)=463CH
(6) MOV AX, 2[BX+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, [BX][BP] 错误,基址变址寻址方式必须是一个基址寄存器与一个变址寄存器,
不能两个同时为基址寄存器(BX、BP均为基址寄存器)。(8)MOV AL, ES:[BP] 正确。
(9)MOV DL, [SI][DI] 错误,基址变址寻址方式必须是一个基址寄存器与一个变址寄存器,
不能两个同时为变址寄存器(SI、DI均为变址寄存器)。
(10)MOV AX, OFFSET 0A20H 错误,OFFSET后必须是存储单元标号地址,不能是立即数。(11) MOV AL, OFFSET TABLE 错误,操作数类型不匹配,AL为8位,TABLE为16位。
(12)XCHG AL, 50H 错误,交换指令XCHG的操作数不能是立即数。
(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)=04H CF=0
(2)OR BL,30H (BL)=36H CF=0
(3)NOT AX (AX)=0DAF7H CF不变(不影响CF)
(4)XOR CX,0FFF0H (CX)=0FFF4H CF=0
(5)TEST DH,0FH (DH)=18H CF=0
(6)CMP CX,00H (CX)=0004H CF=0
(7)SHR DX,CL (DX)=0186H CF=0
(8)SAR AL,1 (AL)=04H CF=0
(9)SHL BH,CL (BH)=0F0H CF=0
(10)SAL AX,1 (AX)=4A10H CF=0
(11)RCL BX,1 CF=1,(BX)=1E6DH, CF=0,(BX)=1E6CH CF=0
(12)ROR DX,CL (DX)=4186H CF=0
11. 假设数据定义如下:
DA TA SEGMENT
STRING DB ‘The Personal Computer & TV’
DA TA ENDS
试用字符串操作指令编程完成以下功能:
(1)把该字符串传送到附加段中偏移地址为GET_CHAR开始的内存单元中。
解:程序段如下:
LEA SI,STRING ;置源串偏移地址
LEA DI,GET_CHAR ;置目的串偏移地址
MOV CX,26 ;置串长度
CLD ;方向标志复位
REP MOVSB ;字符串传送
12.编程将AX寄存器中的内容以相反的次序传送到DX寄存器中,并要求AX中的内容不被破坏,然后统计DX寄存器中1的个数是多少。
解:将AX的内容用ROR循环右移,16次之后AX的内容不变(如果用算术/逻辑右移SHL/SAL,则AX 的内容破坏,需要用堆栈PUSHU AX/POP AX保护),其最低位移入CF中,再使用RCL循环左移将CF中的值移入DX中。并且,如果CF的值为1,则将BL加1。
MOV CX, 16
XOR BL, BL
LP1: ROR AX, 1
JNC LP2
INC BL
LP2: RCL DX,1
LOOP LP1
HLT
调试程序:
STACK SEGMENT STACK
DB 100 DUP(?)
STACK ENDS
DATA SEGMENT
BUF DW 12
BUF1 DW 100 DUP (?)
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START: PUSH DS
MOV AX,DA TA
MOV DS,AX
MOV AX,1234H

本文发布于:2023-05-12 14:33:09,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/105814.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:指令   寄存器   地址   寻址   标志   总线   执行
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图