微机原理答案解析

发布 2022-09-04 21:59:28 阅读 7324

习题与思考题(参***)

第一章。1.6 将下列十进制数转换成二进制数。

256d =10000000b 237.135d=11101101.0010001b

12.58d=1100.100101b 0.374d=0.0101b

1.7 写出下列二进制数对应的十进制数、八进制数、十六进制数。

1101110b=110d=156q=6eh 111011000b=472d=730q=1d8h

1101111.1001b=111.5625d=157.44q=6f.9h

1.8 填空:

10101.001b=(21.125)d=(25.1)q=(15.2)h

2de.6h=(1011011110.011)b=(1336.3)q=(734.375)d

1.9 试写出下列用补码表示的二进制数的真值。

1.10 已知x=35,y=89,试用补码运算法则,求出:x+

[x]补=00100011 [y原=11011001 [y补=10100111

[x+补=[x补+[y补=00100011+10100111=11001010

1.11 已知[x]补=10011011,[x补=10111001,试求:

① [补=? 有溢出,结果出错。)

因为[x+补=[x补+[y补=10111001

所以[y]补=[x补-[x补=00011110

[-y补=11100010

[x-补=[x补+[-补=10011011+11100010=01111101

② x的真值各为多少?

[x]原=11100101,x的真值为-101;[y原=00011110,y的真值为30

第二章。2.3 8086cpu的ale信号的功能是什么?

答:ale(address latch enable)是8086cpu提供给地址锁存器的控制信号,在任何一个总线周期的t1状态,ale输出有效电平(正脉冲),以表示当前地址/数据、地址/状态复用总线上输出的是地址信息,锁存器可利用它的下降沿将地址锁存起来。ale信号不能浮空。

2.4 8086cpu内部的寄存器由哪几种类型组成?各自的作用是什么?

答:8086cpu内部有14个16位寄存器,可以分为以下三组:分别是通用寄存器组,段寄存器组,控制寄存器。

通用寄存器组可以分为两组:数据寄存器和地址指针与变址寄存器。

数据寄存器主要用来保存算术、逻辑运算的操作数、中间结果和地址。

地址指针与变址寄存器主要用于存放或指示操作数的偏移地址。

段寄存器组:8086/8088cpu内部设置了4个16位段寄存器,它们分别是**段寄存器cs、数据段寄存器ds、堆栈段寄存器ss、附加段寄存器es,由它们给出相应逻辑段的首地址,称为“段基址”。

控制寄存器:含指令指针ip及标志位寄存器fr。

ip用来存放将要执行的下一条指令在现行**段中的偏移地址。

标志寄存器fr用来存放运算结果的特征。

2.6 8086的存储器采用什么结构?

答:8086的存储器采用分体结构。1m的存储空间分成两个存储体:偶地址存储体和奇地址存储体,各为512k字节。

2.7 8086cpu访问存储器时物理地址是如何形成的?

答:8086cpu访问存储器时根据所执行的操作,自动选择某个段寄存器,将其中的内容(16位)自动左移4位形成20位地址的高16位,而20位地址的低4位自动添0,然后通过20位地址加法器再与16位偏移量相加,形成对应的物理地址。

2.10 名词解释。

1) 时钟周期:一个时钟脉冲的时间长度,cpu的时钟频率的倒数,也称t状态。

2) 总线周期:cpu中,biu完成一次访问存储器或i/o端口操作所需要的时间,称作一个总线周期,也称机器周期(machine cycle)。

3) 指令周期:执行一条指令所需的时间称为指令周期。

4)等待周期:在t3和t4之间插入的周期。

4) 空闲状态:cpu不执行总线周期时的状态。

5) 时序:计算机操作运行的时间顺序。

2.12 如果8086的clk引脚输入的时钟脉冲频率为4mhz,那么一个基本的总线周期是多少?

答:t=1/4μs,那么一个基本的总线周期是4t=1μs。

第三章。3.5 已知某个系统的rom容量为6k字节,首地址为2800h,求其最后一个单元的地址。

答:最后一个单元的地址=2800h+17ffh=3fffh

3.6采用intel 2114(1k×4位)ram芯片,组成64k×8位的存储器,需要多少片2114?

答:需要128块。

注:扩展时需要的芯片数量可以这样计算:要构成一个容量为 m×n 位的存储器,若使用 p×k 位的芯片(p3.

7某ram芯片的存储容量为4096×8位,则该芯片的引脚中有几条数据线和几条地址线?已知某ram芯片引脚中有8条数据线,12条地址线,那么该芯片的存储容量是多少?

答:该芯片的外部引脚应有8条数据线,12条地址线。

ram芯片引脚中有8条数据线,12条地址线,那么该芯片的存储容量是4k×8位。

3.8在8086存储器系统的最高地址区组成32kb的rom,要求采用2764芯片(8k×8的eprom),以及利用74ls138译码器进行全译码,请画出这些芯片与系统总线连接的示意图。

第四章。4.1 试出指令mov bx,3040h和mov bx,[3040h]有什么不同?

1、寻址方式不同:立即数寻址和直接寻址。

2、运行结果不同:

mov bx,3040h ;bx=3040h

mov bx,[3040h] ;将ds段3040h和3041h的内容送bx

4.2 指出下列指令是否有错,并说明理由。

1)mov [di],[si] ;错,内存单元之间不能直接进行数据传送。

2)mov cs,ax ;错,cs不能做目的操作数。

3)mov 1200,ax ;错,立即数不能做目的操作数。

4)mov ds,cs ;错,段寄存器之间不能互相传送。

5)pop cs ;错,cs不能做目的操作数。

6)mov cl,ax ;错,源、目的操作数长度不一致。

7)mov [5000h],[1000h];错,内存单元之间不能直接进行数据传送。

4.3 在8086中,堆栈操作是字操作还是字节操作?已知ss=1050h,sp=0006h,ax=1234h,若对ax执行压栈操作(即执行push ax);试问ax的内容存放在何处?

答:堆栈操作是字操作。

入栈时“先减后压”(sp先减2,再压入操作数),执行压栈操作后al的内容存放在10504h,ah的内容存放在10505h。

4.4 假如要从200中减去al中的内容,用sub 200,al对吗?如果不对,应采用什么方法?

答:不对,立即数不能作为目的操作数。先把立即数传送到一个存储器或寄存器当中。

例如:mov bl,200

sub bl,al

或: neg al

add al, 200

4.5 编程求ax累加器和bx寄存器中两个无符号数之差的绝对值,结果放内存(2800h)单元中。

解: cmp ax , bx cmp ax , bx clc

ja pt1 ja pt1 sub ax , bx

sub bx , ax xchg ax , bx jc pt1

mov dx , 2800h pt1:sub ax , bx mov di , 2800h

mov dx ,bx mov [2800h] ,ax mov [di] ,ax

hlt hlt hlt

pt1: sub ax , bx pt1:sub bx ,ax

mov dx ,2800h mov di ,2800h

mov dx , ax mov [di] ,bx

hlt hlt

4.6 若有两个4字节的无符号数相加,这两个数分别存放在2000h和3000h开始的存储单元,将所求的和存放在2000h开始的内存单元中,试编制程序。

mov di , 2000h

lea si , 3000h

mov ax , di]

mov dx , di+2]

add ax , si]

adc dx , si+2]

mov [di], ax

mov [di+2] ,dx

微机原理答案

1.串行通信与并行通信的主要区别是什么?各有优缺点?答 按信息的传送方式可将数据通信分为并行通信与串行通信两种 并行通信 是指利用多条数据传输线将一个数据的各位同时进行传送。特点 传输速度快,适用于短距离通信。串行通信 是指利用一条传输线将数据的各位一位位地顺序进行传送。串行通信又可分为异步通信和同...

微机原理答案

第3章 8086 8088指令系统与寻址方式习题。3 3 8086系统中,设ds 1000h,es 2000h,ss 1200h,bx 0300h,si 0200h,bp 0100h,var的偏移量为0600h,请指出下列指令的目标操作数的寻址方式,若目标操作数为存储器操作数,计算它们的物理地址。1...

微机原理A答案

安徽大学20 11 20 12 学年第 2 学期。微机原理及应用 a卷 考试试题参 及评分标准。一 单项选择题 每小题2分,共20分 1 a2 b 3 a4 c 5 c6 b 7 d8 c 9 c10 b 二 填空题 每空1分,共20分 10000011 ch,e896h,cf 1,of 0,zf ...