微机原理课后习题答案

发布 2022-09-04 23:28:28 阅读 1225

第1章进制及码元。

1、进制转换。

129= 81h= 10000001b=201q

298= 12ah= 100101010b=452q

1000= 3e8h= 1111101000b= 1750q

5dh= 1011101 b= 135 q= 93 d

3e8h= 1111101000 b= 1750q= 1000 d;

357q=11101111 b= 0ef h= 239 d

2、进制计算。

10010110 2fe3 f7,-119 fff7,-32759 4 7

3、数据表示范围:

一个字节的无符号数表示范围为0~255,有符号数补码表示范围为-l28—+127。

两个字节的无符号数表示范围为0~65535,有符号数补码表示范围为—32768~+32767。

n位二进制数的无符号数表示范围为0~(2n-1),有符号数(补码)表示范围为-2n-1~(2n-1-1).

h代表的ascii字符为'5',代表十六进制数时等价的十进制值为53 ,代表压缩8421bcd码等价的十进制值为35 ,代表非压缩8421bcd码等价的十进制值为5。

5、ffh代表无符号数时等价的十进制值为255 ,代表补码有符号数时等价的十进制值为一1 ,代表反码有符号数时等价的十进制值为一0 ,代表原码有符号数时等价的十进制值为一l27。

6、—20的8位二进制补码为 ech ,原码为 94h ,反码为 ebh 。

158的16位二进制补码为009eh,原码为009eh ,反码为 009eh 。

7、英文字符一般在计算机内占用(1)个字节,每个字节的最高位一定为 0 ,全角英文字符在计算机内占用 2个字节,一个汉字在计算机内占用 2 个字节,每个字节最高位为 1 。

8、设阶码用8位补码表示,尾数部分用16位补码表示,则—(1/32+1/128+1/512)的尾数部分及阶码分别为多少?

第2章微机硬件基础。

1、请画出计算机系统硬件图。

/88cpu为什么要分为biu和eu两大模块?

答:为了使取指和分析、执行指令可并行处理,提高cpu的执行效率。8086/88cpu有两大模块总线接口单元biu和执行单元eu组成。

3、简述8086/88 cpu的两大模块biu和eu的主要功能及组成。

答:如下图所示:

4、简述8086/88 cpu的14个寄存器的英文名、中文名及主要作用。

答:ax(accumulator)(ah、al)累加器,它是汇编编程中最常用的一个寄存器,主要用于乘除运算、bcd运算、换码、i/o操作、串操作、中断调用等。

bx(base)(bh、bl)基址寄存器,主要用于存放地址、基址(默认相对于ds段)等。

cx(counter)(ch、cl)计数器,主要用于循环计数、串操作计数、移位计数(cl)等。

dx(data)(dh、dl)数据寄存器,主要用于l6位乘除、问接i/o、中断调用等。

bp(base pointer)基址指针,主要用于存放地址、基址(默认相对于ss段)等。

sp(stack pointer)堆栈指针(栈顶指针),主要用于存放栈顶地址。

si(source index)源变址寄存器,用于存放地址、变址、串操作源变址。

di(destination index)目的变址寄存器,用于存放地址、变址、串操作目的变址。

cs(code segment)**段寄存器(**段),用于存放正在或正待执行的程序段的起始地址的高l6位二进制数据,即程序段的段地址。 ,ds(data segment)数据段寄存器(数据段),用于存放正在或正待处理的一般数据段的起始地址的高l6位二进制数据,即一般数据段的段地址。

es(extra segment)附加数据段寄存器(附加段),用于存放正在或正待处理的附加数据段的起始地址的高l6位二进制数据,即附加数据段的段地址。

ss(stack segment)堆栈数据段寄存器(堆栈段),用于存放正在或正待处理的堆栈数据段的起始地址的高l6位二进制数据,即堆栈数据段的段地址。

ip(instruction pointer)指令指针,它的内容始终是下一条待执行指令的起始偏移地址,与cs一起形成下一条待执行指令的起始物理地址。cs:ip的作用是控制程序的执行流程。

ip一般会自动加l(逻辑加1、实际随指令长度变化)移向下一条指令实现顺序执行;若通过指令修改cs或ip的值,则可实现程序的转移执行。

psw(program status word)程序状态字,它其中有三个控制标志(if、df、tf)和6个状态标志(sf、pf、zf、of、cf、af)。控制标志是用于控制cpu某方面操作的标志,状态标志是部分指令执行结果的标志。

5、请画出8086/88 cpu的内部结构图。

答:如下图所示:

6、请说明8086/88 cpu的标志位的英文名、中文名及填充方法。

答:if(interrupt enable flag)中断允许标志,用于控制cpu能否响应可屏蔽中断请求,if=1能够响应,if=0不能响应。

df(direction flag)方向标志,用于指示串操作时源串的源变址和目的串的目的变址变化方向,df---1向减的方向变化,df=0向加的方向变化。

tf(trapflag)陷阱标志(单步中断标志),tf=1程序执行当前指令后暂停,tf=0程序执行当前指令后不会暂停。

sf(sign flag)符号标志,指令执行结果的最高二进制位是0还是l,为0,则sf=0,代表正数;为l,则sf=1,代表负数。我们一般是用十六进制数表示,则可以根据十六进制的最高位是落在o~7还是落在8~f之间,若落在0~7之间则sf=0.否则sf=1。

pf(parity check flag)奇偶校验标志,指令执行结果的低8位中1的个数是奇数个还是偶数个,若为奇数个则pf=0,若为偶数个则pf=1。

zf(zero flag)零标志,指令执行结果是不是为0,若为0则zf=1,否则zf=0。

of(overflow flag)有符号数的溢出标志,指令执行结果是否超出有符号数的表示范围,若超过则0f=1,否则of=0。我们可以通过判断是否出现以下四种情况之一:正加正得负,正减负得负,负加负得正,负减正得正。

若出现则0f=1.否则of=0.

cf(carry flag)进位/借位标志无符号数的溢出标志),指令执行结果的最高位是否有向更高位进位或借位,若有则cf=1,同时也代表无符号数溢出;若无则cf=0,也代表无符号数未溢出。

af(auxiliary carry flag)辅助进位/借位标志,低4位二进制是不是有向高位进位或借位,若有则af=1,否则af=0,其主要用于bcd修正运算。

7、内存分段组织的优缺点是什么?

答:优点如下:

1)8086/8088 cpu中的寄存器只有16位,如果采用它们直接寻址,则寻址能力势必限制在64 kb范围内,而采用分段组织可以较好地实现扩展cpu的寻址能力。每段的大小可达64 kb,不同段的组合则可寻址更大的范围。

(2)使程序与数据相对独立,不同存取方式的数据也相对独立。

程序:存放于**段cs中。

堆栈方式:存放于堆栈段ss中。

数据:随机方式:存放于数据段ds及附加段es中。

(3)便于程序和数据的动态装配,从一个地方挪到另外一个地方只要更改一下段寄存器的值即可,段内偏移可以不用改变。

缺点:内存地址采用分段组织增加地址计算的复杂度,降低了cpu的执行效率。

mb内存最多可以有(64k)个不同的段地址,若不允许重叠的话最多可有(16)个不同的段地址。不同的段间(可以)重叠。

9、设ds=26fch,bx=108h,si=9a8h,试求出使ds:bx与es:sl指向同一物理地址的es值。

答:即ds:bx=es:si

ds:bx=ds× l6+bx=26fch×16+108h=270c8h

es:si=es×16+si=es×16+9a8h

es=(270c8h一9a8h)÷l6=2672h

10、接口、端口以及端口地址之间的对应关系如何?

答:一个计算机系统内有很多接口,一个接口内一般有多个端口,一个端口可以有多个端口地址与其对应(这叫重叠地址),一个端口地址可以对应多个端口(但需要继续区分才能访问,如读写顺序、读写信号、数据位、索引区分)。所以通过端口传输信息首先需要区分端口,区分端口可通过端口地址不同来区分。

11、访问端口有哪些方法?

答:(1)用i/o指令实现信息传输;(2)通过bios中断调用实现信息传输;(3)通过dos中断调用实现信息传输。

12、请根据图2.3说明add ax, bx指令的取指及执行过程。

自己看书。/88 的20位物理地址是怎样形成的?当cs=2000h, ip=0100h, 下一条待执行指令的物理地址等于多少?

答:20位物理地址由段地址左移4位加偏移地址形成,下一条待执行指令等于cs*10h+ip得到20100h。

14、已知当前数据段位于存储器的b1000h到bf0ffh范围内,请指出ds段寄存器的取值范围。

答:ds段寄存器的取值范围:af10h~b100h

第3章寻址方式及指令系统。

1、指令是cpu可以理解并执行的操作命令,指令由操作码和操作数两部分组成,指令有两个级别,即机器级和汇编级。

2、请画出程序执行流程示意图。

3、指令主要有哪些分类方式及其主要类别是什么?

答:指令分类有不同的方式。按操作数的个数将指令分为零地址指令(无操作数)、一地址指令(只有一个操作数)、二地址指令(有两个操作数)、多地址指令(多于两个操作数);按指令级别分为机器指令和汇编指令:

按是否转移分为转移指令和顺序指令;按功能分为七大类:传送类、算术运算类、位操作类、i/o类、串操作类、cpu控制类、转移类;按指令长度(即指令占用的字节数)分为l字节指令、2字节指令等,8086/8088指令长度是不同的,叫变字长,不同的指令有不同的指令长度,从1~6字节均有;按指令执行期间取操作数是否需要与总线打交道分为内部指令(不需)和外部指令(需要),类似功能的指令内部指令比外部指令执行速度快,所以在编程时尽量采用内部指令即多用寄存器优化程序。

微机原理课后习题答案

2.1 8086 cpu 在内部结构上由哪几部分组成?其功能是什么?答 8086 的内部结构 成两部分 总线接口部件biu,负责控制存储器读写。执行部件eu,eu 从指令队列中取出指令并执行。8086 是16 位微处理器,有16 根数据线 20 根地址线,内部。寄存器 运算部件以及内部操作都是按16...

微机课后习题原理答案

1.什么是dma传输?dma传输有什么优点?为什么?所谓直接存储器传送 dma 是指将外设的数据不经过cpu直接送入内存储器,或者,从内存储器不经过cpu直接送往外部设备。使用dma传输之后,每个数据的传输过程不需要cpu参与,在dma控制器的控制下,在一个dma总线周期里完成数据在外部接口和存储单...

微机原理课后习题答案

第一章。1.5 解 微机主要有存储器 i o设备和i o接口 cpu 系统总线 操作系统和应用软件组成,各部分功能如下 cpu 统一协调和控制系统中的各个部件。系统总线 传送信息。存储器 存放程序和数据。i o设备 实现微机的输入输出功能。i o接口 i o设备与cpu的桥梁。操作系统 管理系统所有...