当前位置:文档之家› 微型计算机原理与接口技术(第5版)课后习题答案及问题墙

微型计算机原理与接口技术(第5版)课后习题答案及问题墙

微型计算机原理与接口技术(第5版)课后习题答案及问题墙
微型计算机原理与接口技术(第5版)课后习题答案及问题墙

微型计算机原理与接口技术(第5 版)

课后答案及问题墙

第一章绪论

{崔文韬问}:课后习题第一题,二进制数与十进制数转换。

{崔文韬答}: 11001010B=202D,00111101B=61D,01001101B=77D,10100100B=164D。

{崔文韬问}:课后习题第二题,16 进制数与十进制数转换。

{崔文韬答}:12CH=300D,0FFH=255,3A8DH=14989D,5BEH=1470D

{崔文韬问}:课后习题第三题,十进制数转化为二进制数和16 进制数。

{杨艺答}:25D=19H=00011001B,76D=4CH=01001100B,128D=100H=00000001 00000000B,134D=106H=00000001 00000110B

{ 杨艺答}:128D=80H=10000000B,134D=86H=10000110B

{崔文韬问}:课后习题第四题,写出10 进制数的BCD 码

{杨艺答}:327D=(0011 0010 0111)BCD,1256D=(0001 0011 0101 0110)BCD

{杨艺答}:1256D=(0001 0010 0101 0110)BCD

{崔文韬问}:英文单词About 的ASCII 码

{沙猛答}:3935H

{王金鑫改}:41H,62H,6FH,75H,74H

{崔文韬问}:数字95 的ASCII 码

{王金鑫答}:39H,35H

{崔文韬问}:课后习题第六题:10 进制数的原码、补码、反码

{杨艺答}:

【+42】原=00101010B=【+42】反=【+42】补

【-42】原=10101010B,【-42】反=11010101B,【-42】补=11010110B

【+85】原=01010101B=【+85】反=【+85】补

【-85】原=11010101B,【-85】反=10101010B,【-85】补=10101011B

{崔文韬问}:机器语言或者机器码(Machine Code),汇编语言(Assemble Language),高级语言的定义{沙猛答}:

机器码:计算机只认得二进制数码,计算机中的所有指令都必须用二进制表示,这种用二进制表示的指令称为机器码。

汇编语言:用助记符来代替二进制的机器码的符号语言

高级语言:相对于机器语言,接近人们使用习惯的程序设计语言。

{崔文韬问}:课后习题第10 题

{崔文韬答}:参考课本16 页图1.4

{崔文韬问}:课后习题第11 题

{崔文韬答}:参考课本11 页图1.2

{杨艺答}:微处理器、存储器、I/O 接口,I/O 设备和总线。6

{崔文韬问}:课后习题第12 题

{崔文韬答}:ALU:Arithmetic Logic Unit,CPU:Central Processing Unit,PC:Personal Computer,DOS:Disk Operation System

{崔文韬问}:8086 和80386 各有多少根地址线,可直接寻址的内存空间是多少,他们的数据线各有多少根?

{杨艺答}:8086 有20 根地址线A19~A0,可直接寻址的内存空间是2^20 个字节单元,有16 根数据线;80386 有32 根地址线,可直接寻址的内存空间是2^32 个字节单元,有32 根数据线。

{崔文韬问}:什么是二进制编码,常用的二进制编码有哪两种?

{杨艺答}:采用若干特定的二进制码的组合来表示各种数字、英文字母、运算符号等的编码方式叫做二进制编码,常见的二进制编码有BCD 码和ASCII 码两种。

{崔文韬问}:解释位,字节,字,字长的含义?

{沙猛答}:

位bit:计算机中二进制数的每一位0 或1 是组成二进制信息的最小单位,称为位。

字节byte:8 个二进制信息组成的一个单位称为一个字节,1 Byte=8 Bits。

字word:由16 位二进制数即两个字节组成。

字长word length:决定计算机内部一次可以处理的二进制代码位数。

{刘玉年问}:存在计算机中的数都是以有符号数存储的,还是以无符号数存储的呢?

{崔文韬答}:刘玉年同学,你能先自己尝试回答一下这个问题,或者说你自己的理解是什么?

{刘玉年答}:应该是两者都不是吧,因为在运算的时候仅仅就是二进制数的运算,而判断结果的意义(是什么样的数)是通过标志为判断的。

{崔文韬答}:两者都不是,存储器中数据的含义是完全由编程人员决定的。计算机只接收二进制数据,即01 序列。至于原始数据是什么以及如何转化为二进制数据,都是由编程人员决定的。计算机对所存储数据按照二进制计算法则进行运算,为适应有符号数和无符号数运算两种情况,通过设置标志位来计算结果在两种情况下的意义。

第二章8086CPU

{崔文韬问}:8086/8088 可直接寻址多少内存(字节)单元?多少IO 端口?外部数据线各有多少?

{董国福答}:8086/8088 可直接寻址1MB 内存空间;可以访问64K 个I/O 端口;但外部数据总线8086 有16 根,8088 有8 根。

{崔文韬问}:8086CPU 内部由那两部分组成?

{俞楠答}:8086CPU 由总线接口单元(BIU)和指令执行单元(EU)两部分组成。

{崔文韬问}:EU,BIU,AX,BX,CX,DX,DS,CS,ES,SS,SP,BP,DI,SI 全称?

{ 董国福答}:

EU:Execution Unit

BIU:Bus Interface Unit

AX:Accumulator

BX:Base

CX:Count DX:

Data DS:Data

Segment

CS:Code Segment

ES:Extra Segment

SS:Stack Segment

SP:Stack Pointer

BP:Base Pointer

DI:Destination Index

SI:Source Index

{崔文韬问}:8086CPU 内部包含哪些寄存器?各有什么用途?

{俞楠答}:

1.数据寄存器:用来存放16 位数据信息或地址信息。

2.地址指针和变址寄存器:SP,BP,SI,DI 这组地址指针个变址寄存器加上基址寄存器BX,可与段寄存器配合使用,一起构成内存的物理地址。

(数据寄存器和地址指针和变址寄存器则被称为通用寄存器。)

(段基地址和段内偏移地址Offset 组合起来就可形成20 位物理地址)5.标志寄存器:6 个状态标志CF,PF,AF,ZF,SF,OF 用来表示指令执行后的结果或状态特征,根据这些特征,由转移指令控制程序的走向。3 个控制标志,TF,IF,DF,可以根据需要用程序设置或清除。

{崔文韬问}:带符号数10110100B 和11000111B 相加,各标志位为多少?哪些标志位有意义?如果作为无符号数相加,各标志位为多少?哪些标志位有意义?

{崔文韬答}:二进制数所有位都参与运算

10110100

+ 11000111

1 01111011

OF SF ZF AFPF CF

1 0 0 0 1 1

程序员将该数看做有符号数,因此SF,OF,ZF,PF 有意义。

如果将该数看做无符号数,计算过程一样,标志位结果相同,CF,ZF,PF 有意义。

利用debug 程序验证结果:

运行dosbox,输入debug,r 命令查看初始寄存器数值,a 命令输入汇编指令,t 命令执行查看结果,过程

如下图所示:

debug 中,flags 中的NV,UP 等表示什么含义,请查看百度网盘中共享的debug 教程,下图为该教程中的截图:

{崔文韬问}:课后习题第七题,段地址:偏移地址与物理地址的关系(原理在书中31-32 页)

{俞楠答}:20 位的物理地址=段基地址*16+16 位的偏移量

1200H*16+3500H=15500H(1200H*16 等同于把1200H 左移一位地址变成12000H,下面同理)

FF00H*16+0458H=FF458H

3A60H*16+0100H=3A700H

{崔文韬问}:CS:IP=3456:0210,CPU 要执行的下条指令的物理地址为多少?

{俞楠答}:3456H*16+0210H=33770H

曲洋答:34770H

{崔文韬问}:课后习题十一题,SS:SP=2000,0300H,堆栈在内存当中的物理地址范围是多少?执行两条PUSH 指令后,SS:SP=?再执行一条PUSH 指令后,SS:SP=?

{俞楠答}:

物理地址范围:(2000H*16+0) : (2000H*16+(0300H))=20000H : 20300H

执行两条PUSH 指令后:SS : SP=2000H : (0300H-4)=2000H : 02FCH

再执行一条PUSH 指令后,SS : SP=2000H : (02FC-2)=2000H : 02FAH

{刘瑾改}:堆栈在内存当中的物理地址范围为:2000:0000H~2000:(0300H-1)

{崔文韬问}:课后习题十二题,从存储单元2000H 开始存放的字节数据为:3AH,28H,56H,4FH,试画出示意图说明,从2000H 和2001H 单元开始取出一个字数据各要进行几次操作,取出的数据分别等于多少?{俞楠答}:从2000H 中取出一个字数据要进行?一次操作,取出字为283A。从2001H 中取出一个字数据要进行?两次操作,取出字为5628。

{罗小东补充}:如下表,如果从2000H 取出一个字数据,则执行一次操作直接取出一个字283AH

如果从2001H 开始取出一个字数据,则需进行两次操作,分别是——先从2000H 单元开始读取一个字

283AH,取得低字节28H,舍弃3AH;再从2002H 单元读取一个字数据,4F56H,取得其高字节56H,然后就可以得到2001H 单元开始取出的一个自数据——5628H。

原理就是:8086CPU 对存储器进行存取操作时,都是从偶地址体开始的。

2000 3A

2001 28

2002 56

2003 4F

{罗小东问}:一个含有16 个字节数据的变量,它的逻辑地址为1000:0100H,那么该变量的最后一个字节数据的物理地址是H?(可不可以答案再加点简单分析呀)

{崔文韬问}:设定SS:SP 后形成的堆栈占据一定的物理地址范围,是否可无限次执行PUSH 或者POP 指令?为什么?

{苏子宇答}:堆栈有一定的容量,无限次执行push 会超出范围,导致覆盖设定的堆栈空间外的数据,产生栈顶越界现象。堆栈空间是程序员向系统请,系统开辟的安全数据空间,空间外的数据可能具有其他用

途,任意改动可能引发错误。8086CPU 不提供检测栈顶是否越界的机制。编程时要注意栈顶越界问题,根据可能用到的最大栈空间来安排堆栈大小,防止入栈的数据导致栈顶越界。

{刘玉年问}:8086 有20 根地址总线,可寻址的内存空间是1M,是不是就说8086 里面的内存空间就只有

1M 呢?如果不是这样的,那么多余的地址空间又该如何寻址呢?

{崔文韬答}:8086 的内存寻址空间真的只有1M,这1M 空间分配给内存使用(包含显存,主内存,BIOS 的ROM)。8086 针对外设的寻址,通过硬件电路另外生成64k 的IO 地址,供寻址IO 接口使用

还有啊,如果真的是内存空间的大小m 和地址总线的数目n 是:m=2^n 的关系的话,那么现在的片子运存是4g 的话,那要32 根地址总线的,相应的地址输入输出端口也要有32 个,这是不是又有些浪费?

{崔文韬答}:内存空间大小和地址数目的关系就是如此。32 根地址线对应4g 内存,这个是必须的,不存在浪费问题。

第三章8086 寻址方式和指令系统

{崔文韬问}:习题1 中题目,分别说明源操作数和目的操作数各采用的寻址方式

1.mov ax,2408h

2.mov cl,0ffh

3.mov bx,[si]

4.mov 5[bx],bl

{沙猛答}:1.立即数,寄存器2.立即数,寄存器3.寄存器间接,寄存器4.寄存器,寄存相对

{崔文韬问}:习题1 中题目,分别说明源操作数和目的操作数各采用的寻址方式

1.mov [bp+100],ax

2.mov [bx+di],'$'

3.mov dx,es:[bx+si]

4.mov val[bp+di],dx

{俞楠答}:1.寄存器寻址,寄存器相对寻址2.立即数寻址,基址变址寻址3.基址变址寻址,寄存器寻址4.寄

存器寻址,相对基址变址寻址。

{崔文韬问}:习题1 中题目,分别说明源操作数和目的操作数各采用的寻址方式

1.in al,05

2.mov ds,ax

{姚胜答} 1.寄存器,立即数。2.寄存器,寄存器

{崔文韬问}:习题2 中题目,已知DS=1000h,bx=0200h,si=02h,内存10200h~10205h 的内容分别为

10h,2ah,3ch,46h,59h,6bh。下列每条指令执行完成后,ax 寄存器的内容是什么。

1. mov ax,0200h

2. mov ax,[200]

{沙猛答}:1.为0200h 2.为2a10h

{崔文韬问}:习题2 中题目,已知DS=1000h,bx=0200h,si=02h,内存10200h~10205h 的内容分别为

10h,2ah,3ch,46h,59h,6bh。下列每条指令执行完成后,ax 寄存器的内容是什么。

1.mov ax,bx

2.mov ax,3[bx]

{于刚答}:执行指令1 后,ax 为10h;执行2 后,ax 为46h

{俞楠改}:1.0200H 2.5946H

{崔文韬问}:习题2 中题目,已知DS=1000h,bx=0200h,si=02h,内存10200h~10205h 的内容分别为

10h,2ah,3ch,46h,59h,6bh。下列每条指令执行完成后,ax 寄存器的内容是什么。

1.mov ax,[bx+si]

2.mov ax,2[bx+si]

{于刚答}:执行指令1,ax 为3ch ;执行指令2,ax 为59h

{俞楠改}:1.463CH 2.6B59H

{崔文韬问}:习题3 中题目,设ds=1000h,es=2000h,ss=3500h,si=00a0h,di=0024h,bx=0100h,bp=0200h,数据段

中变量名为val 的偏移地址为0030h,下列源操作数字段的寻址方式是什么?物理地址是多少?

1.mov ax,[100h]

2.mov ax,val

3.mov ax,[bx]

4.mov ax,es:[bx]

{俞楠答}:1.直接寻址10100H 2.直接寻址10030H 3.寄存器间接寻址10100H 4.寄存器间接寻址20100H

{崔文韬问}:习题3 中题目,设ds=1000h,es=200h,ss=3500h,si=00a0h,di=0024h,bx=0100h,bp=0200h,数据段中变量名为val 的偏移地址为0030h,下列源操作数字段的寻址方式是什么?物理地址是多少?

1.mov ax,[si]

2.mov ax,[bx+10h]

3.mov ax,[bp]

4.mov ax,val[bp+si]

{俞楠答}:1.寄存器间接寻址100A0H 2.寄存器相对寻址10110H 3.寄存器间接寻址35200H 4.相对基址变址35230H

{崔文韬问}:习题3 中题目,设ds=100h,es=200h,ss=3500h,si=00a0h,di=0024h,bx=0100h,bp=0200h,数据段中变量名为val 的偏移地址为0030h,下列源操作数字段的寻址方式是什么?物理地址是多少?

1.mov ax,val[bx+di]

2.mov ax,[bp+di]

{俞楠答}:1.相对基址变址寻址10154H 2.基址变址寻址35224H

{崔文韬问}:习题4,指令机器码,利用debug 命令可以查看指令对应的机器码,此内容大家了解即可。mov al,cl 机器码在内存中从低到高存放为:88c8

mov dx,cx 机器码在内存中从低到高存放为:89ca

mov word ptr [bx+100h],3150h 机器码在内存中从低到高存放为:c78700015031

通过debug 中的a 命令输入以上指令,通过d 命令查看对应的二进制机器码,过程及结果如下:

{崔文韬问}:习题6,指出指令错误

1.mov dl,ax

2.mov 8650h,ax

3.mov ds,0200h

4.

mov [bx],[1200]

5.mov ip,0ffh

6.mov [bx+si+3],ip

7.mov ax,[bx+bp]

{刘玉年答}:1.数据长度不一致2.立即数不能做目的操作数3.立即数不能向段寄存器传送数据

4.存储器与存储器之间不能直接传送数据

5.IP 寄存器的内容不能通过程序编辑

6.IP 寄存器不能作为源操作数或目的操作数

7.bx 和bp 不允许出现在同一[]中。

{崔文韬问}:习题6,指出指令错误

1.mov al,es:[bp]

2.mov dl,[si+di]

3.mov ax,offset 0a20h

4.mov al,offset table

5.xchg al,50

6.in bl,05h

7.out al,offeh

{刘玉年答}:1.正确2.si 和di 不能出现在同一[]中3.offset 后面应跟符号地址4.符号table 的偏移地址是16 位的,数据长度不一致5.xchg 指令中不能使用立即数6.目的操作数只能是ax 或al 7.0ffeh 大于ff,应用dx 表示

{崔文韬问}:习题5,已知程序的数据段为:

data segment

a d

b '$',10h

b db 'COMPUTER'

c dw 1234h,0ffh

d db 5 dup(?)

e dd 1200459ah

data ends

请画出上述数据变量在内存中的数据的位置示意图,假设数据段段地址为X。参考课本P122 页,图4.2。{俞楠答}:

{崔文韬答}:程序参考实验代码如下,请同学们编译后使用debug 调试执行,观察结果,验证答案。assume cs:code,ds:data

data segment

a d

b '$',10h

b db 'COMPUTER'

c1 dw 1234h,0ffh ;c 及C 是汇编语言关键字不能作为变量名。

d db 5 dup(?)

e dd 1200459ah

data ends

code segment

main:

mov ax,data

mov ds,ax ;完成数据段段地址与ds 的绑定

mov al,a ;al=24h

mov dx,c1 ;dx=1234h

xchg dl,a ;dl=24h,变量a 对应内存空间数据变为34h,10h

mov bx,offset b ;bx=0002h

mov cx,3[bx] ;cx=5550h,对应ASC 码'UP'

lea bx,d ;bx=000eh

lds si,e ;ds=1200h,si=459ah

les di,e ;请同学们回答你实验完成后的结果es=?,di=?

mov ax,4c00h

int 21h

code ends

end main

{李聪聪答}:es=5613 di=fc46

{崔文韬答}:李聪聪同学,能尝试分析一下,为什么结果是这个样子吗?

{李聪聪答}:分析了一遍,之前代码执行的好像有问题,可能已写入其他值,les 之后才会这样。正常运行之后应该es=0000h,di=0000h。因为上一步操作更改了段寄存器ds 的值为1200h,而e 的有效地址为0013h,所以执行les 时应从1200:0013h 取连续的四个字节分别给di,es,而初始状态时存储单元中应为

0000h。(不知道是不是这样)。观察很仔细,基本原因就是这样的!赞一个!。你之前的代码执行也没有问题。按照我后面给你的提示,再尝试一下,就知道以前你的程序也没问题了。

{崔文韬答}:李聪聪同学,为了验证自己的猜想,是不是可以在运行完les di,e 这条指令后,使用debug 的d 指令查看一下1200:0013 中连续4 个字节的内容,看看是否一致?或者从debug 显示的内容中说明其内容?或者在运行les di,e 指令之前,运行e 1200:0013 更改该存储单元连续的四个字节内容,然后看看是否与运行后DI,ES 内容一致呢?

{李聪聪答}:开始分析的时候就是从debug 显示的DS:0013=0000 推测的。运行了e 命令之后猜测进一步得到验证:从1200:0013h 取连续的四个字节分别给di,es,3412 存入di,2143 存入es。

{崔文韬问}:习题7,已知ss=1050h,sp=0100h,ax=4860h,bx=1287h,试用示意图表示执行下列指令过程中,堆栈中的内容和堆栈指针sp 是如何变化的(参考例子 3.29)

{胡玲答}:

{崔文韬问}:习题8,已知当前数据段中有一个十进制数字0~9 的7 段代码表,其数值依次为:40h,79h,24h,30h,19h,12h,02h,78h,00h,18h。要求用xlat 指令将十进制数57 转换成相应的7 段代码值,存到bx 寄存器当中,试写出相应的程序段。(参考例子 3.31,注意5 和7 要分别进行转换)

{胡玲答}: 不是图标类型的答案,还是不要使用图片完成回答吧。最好,可以在后边附上自己的完整代码

及debug 调试验证过程。

{胡玲问}:其实吧debug 还不太会用debug,+文件名之后用单步执行t 指令然后不会看结果=.=

我错了不会=.=写整个程序代码。胡玲同学,现在能把这个题目补充完整了吗??

{崔文韬问}:习题9,下列指令完成什么功能

1.add al,dh

2.adc bx,cx

3.sub ax,2710h

4.dec bx

{姚胜答}:1.al 与dh 相加存到al 中;2.bx 与cx 与cf 当前值相加存到bx 中;

{胡玲答}:3.减法指令将ax 寄存器的内容减去2710h 再存在ax 中4.减量指令,将bx 寄存器的内容减一再存在bx 中

{崔文韬问}:习题9,下列指令完成什么功能

1.neg cx

2.inc bl

3.mul bx

4.div cl

{于刚答}:1.对cx 取负,并把结果送回cx;2.bl 加1,并把结果送回bl;3.bx*ax 结果为32 位数,

高位字放在dx,低位字放在ax;4.ax/cl 商放在al 中,余数放在ah 中

{崔文韬问}:习题10,已知ax=2508h,bx=0f36h,cx=0004h,dx=1864h,求下列每条指令执行后的结果是什么?标志位cf 等于什么?

1. add ah,cl {胡玲答}:ax 寄存器的高地址存的数是29h ,cf=0

2. or bl,30h {胡玲答}:0011 0110B OR 0011 0000B=36h,cf=0

3.not ax {胡玲答}:按位操作,ax 中存的数是DAF7h,无进位cf=0

4.xor cx,0fff0h {胡玲答}:0004h 和fff0h 异或得fff4h,cf=0

{崔文韬问}:习题10,已知ax=2508h,bx=0f36h,cx=0004h,dx=1864h,求下列每条指令执行后的结果是什么?标志位cf 等于什么?

1. test dh,0fh {胡玲答}:查dh 的D3 是否等于1 ,无进位,cf=0,操作数不变

2. cmp cx,00h {胡玲答}:0004h-00h=0004h 即cx=0004h ,结果不返回操作数,cf=0

3.shr dx,cl {胡玲答}:1864h 逻辑右移4h 得dx 为0186h,cf=0

4.sar al,1 {胡玲答}:算数右移得ax 为2504h,最高位不变,cf=0

{崔文韬问}:习题10,已知ax=2508h,bx=0f36h,cx=0004h,dx=1864h,求下列每条指令执行后的结果是什么?标志位cf 等于什么?

1. shl bh,cl {胡玲答}:36h 逻辑左移04h 得bx=f036h,cf=0,指令中写成bx=0f036h

2. sal ax,1 {胡玲答}:2508h 算数左移一位得0100 1010 0001 0000B=4A10h 即ax=4A10h,cf=0

3. rcl bx,1 {胡玲答}:0000 1111 0011 0110B 通过进位循环左移1 位得0001 1110 0110 1100B=1E6Ch

cf=0

4. ror dx,cl {胡玲答}:1864h 循环右移4h 位可得dx=4186h,cf=0 且cf 没有参加循环

{崔文韬答}:有两处错误,请胡玲同学改正。(已改正)

{崔文韬问}:习题11,假设数据段定义如下:

data segment

string db 'The Personal Computer & TV'

data ends

试用字符串操作等指令完成以下功能:参考字符串处理指令例子

(1):把该字符串传送到附加段中偏移量为GET_CHAR 开始的内存单元中。

{崔文韬答}:参考代码如下:同学们可以使用notepad++编辑源代码,然后使用ml 编译连接为可执行文件,通过debug 调试程序,观察结果。

assume cs:code,ds:data,es:extra

data segment ;string 字符串长度为

string db 'The Personal Computer&TV'

str_end db '$'

data ends

extra segment

get_char db 32 dup(0)

extra ends

code segment

start:

mov ax,data

mov ds,ax ;数据段与ds 的绑定

mov ax,extra

mov es,ax ;附加段与es 的绑定

lea si,string ;源串偏移地址设定mov si,offset string

lea di,get_char ;目的偏移地址设定mov di,offset get_char

mov cx,offset str_end-string ;计算字符串长度

cld

rep movsb

mov ax,4c00h

int 21h

code ends

end start

{崔文韬问}:习题11,假设数据段定义如下:

data segment

string db 'The Personal Computer & TV'

data ends

试用字符串操作等指令完成以下功能:参考字符串处理指令CMPS 例子,编写参考程序,调试并验证(2):比较该字符串是否与“The Computer”相同,如果相同则将al 寄存器的内容置1,否则置0。并要求将比较次数送到BL 寄存器中。

{崔文韬问}:习题11,假设数据段定义如下:

data segment

string db 'The Personal Computer & TV'

data ends

试用字符串操作等指令完成以下功能:参考字符串处理指令SCAS 例子,编写参考程序,调试并验证(3):检查该字符串中是否有“&”符,如果有则用空格将其替换。

{崔文韬问}:习题12 题,编程将AX 寄存器中的内容以相反的次序传入DX 寄存器中,并要求AX 中的内容不被破坏

{崔文韬答}:参考程序

;习题P111 页习题12 参考程序

assume cs:code

code segment

start:

mov ax,1234h ;0001001000110100B

mov dx,0 ;程序执行完成后dx=0010110001001000B=2c48h

mov cx,16

s: rol ax,1 ;循环左移1 位,将最高位移入cf 中

rcr dx,1 ;通过CF 完成的循环右移1 位

loop s ;通过循环,将cx 倒序移入dx 中。

mov ax,4c00h

int 21h

code ends

end start

{崔文韬问}:请同学根据上述程序,修改代码,使程序在完成倒序传入的基础上,还能统计DX 寄存器中1 的个数是多少?1 的个数可以存在某个通用寄存器中。

{崔文韬问}:习题14 第1 问,下列程序执行完后,AX,BX,CX,DX 寄存器的内容分别是什么?请先回答问题,然后通过编辑源程序验证答案,利用debug 检验答案的正确性。

{崔文韬答}:因为cx=4,因此loop 指令会使得循环体内程序执行4 次,因此最终ax=0005h,bx=0010h,cx=0000h,dx=0000h。

参考程序如下:

;习题P112 页习题14 第一问参考程序

assume cs:code,ss:stack

stack segment stack

db 16 dup(0)

stack ends

code segment

start:

mov ax,01h

mov bx,02h

mov dx,03h

mov cx,04h

next: inc ax

add bx,ax

shr dx,1 ;逻辑右移

loop next

mov ax,4c00h

int 21h

code ends

end start

利用debug 加载编译好的程序,利用r 命令查看寄存器初始值,例如u 命令查看反汇编结果,确定程序退出返回dos 的地址,利用g 命令,连续执行程序,并查看最终寄存器中的内容。过程如下:

微机原理与接口技术作业(含答案)剖析

浙江大学远程教育学院 《微机原理与接口技术》课程作业 姓名:学号: 年级:学习中心: 第2章P52 2.80C51单片机引脚有哪些第二功能? 第一功能第二功能 P0.0~P0.7 地址总线Ao~A7/数据总线D0~D7 P2.0~P2.7 地址总线A8~A15 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 INT0外部中断0) P3.3 IINT1(外部中断1) P3.4 TO(定时器/计数器0的外部输入) P3.5 T1(定时器/计数器0的外部输出) P3.6 WR(外部数据存储器或I/O的写选通) P3.7 RD外部数据存储器或I/O的读选通) 4.80C51单片机的存储器在结构上有何特点?在物理上和逻辑上各有哪几种地址空间?访问片内RAM和片外RAM的指令格式有何区别? 1、80C5l单片机采用哈佛结构,即将程序存储器和数据存储器截然分开,分别进行寻址。不仅在片内驻留一定容量的程序存储器和数据存储器及众多的特殊功能寄存器,而且还具有较强的外部存储器扩展能力,扩展的程序存储器和数据存储器寻址范围都可达64 KB。 2、在物理上设有4个存储器空间 ·片内程序存储器; ·片外程序存储器; ·片内数据存储器;. ·片外数据存储器。 在逻辑上设有3个存储器地址空间 ●片内、片外统一的64 KB程序存储器地址空间。 ●片内256字节(80C52为384字节)数据存储器地址空间。 片内数据存储器空间在物理上又包含两部分: ●对于80C51型单片机,0~127字节为片内数据存储器空间;128~255字节为特殊 功能寄存器(SFR)空间(实际仅占用了20多个字节)。 ●对于80C52型单片机,O~127字节为片内数据存储器空间;128~255字节共128 个字节是数据存储器和特殊功能寄存器地址重叠空间。 片外64 KB的数据存储器地址空间。 3、在访问3个不同的逻辑空间时,应采用不同形式的指令,以产生不同存储空间的选

微机原理与接口技术(第三版)课本习题答案

第二章 8086体系结构与80x86CPU 1.8086CPU由哪两部分构成它们的主要功能是什么 答:8086CPU由两部分组成:指令执行部件(EU,Execution Unit)和总线接口部件(BIU,Bus Interface Unit)。指令执行部件(EU)主要由算术逻辑运算单元(ALU)、标志寄存器FR、通用寄存器组和EU控制器等4个部件组成,其主要功能是执行指令。总线接口部件(BIU)主要由地址加法器、专用寄存器组、指令队列和总线控制电路等4个部件组成,其主要功能是形成访问存储器的物理地址、访问存储器并取指令暂存到指令队列中等待执行,访问存储器或I/O端口读取操作数参加EU运算或存放运算结果等。 2.8086CPU预取指令队列有什么好处8086CPU内部的并行操作体现在哪里答:8086CPU的预取指令队列由6个字节组成,按照8086CPU的设计要求,指令执行部件(EU)在执行指令时,不是直接通过访问存储器取指令,而是从指令队列中取得指令代码,并分析执行它。从速度上看,该指令队列是在CPU内部,EU从指令队列中获得指令的速度会远远超过直接从内存中读取指令。8086CPU 内部的并行操作体现在指令执行的同时,待执行的指令也同时从内存中读取,并送到指令队列。 5.简述8086系统中物理地址的形成过程。8086系统中的物理地址最多有多少个逻辑地址呢答:8086系统中的物理地址是由20根地址总线形成的。8086系统采用分段并附以地址偏移量办法形成20位的物理地址。采用分段结构的存储器中,任何一个逻辑地址都由段基址和偏移地址两部分构成,都是16位二进制数。通过一个20位的地址加法器将这两个地址相加形成物理地址。具体做法是16位的段基址左移4位(相当于在段基址最低位后添4个“0”),然后与偏移地址相加获得物理地址。由于8086CPU的地址线是20根,所以可寻址的存储空间为1M字节,即8086系统的物理地址空间是1MB。逻辑地址由段基址和偏移地址两部分构成,都是无符号的16位二进制数,程序设计时采用逻辑地址,也是1MB。 6.8086系统中的存储器为什么要采用分段结构有什么好处 答:8086CPU中的寄存器都是16位的,16位的地址只能访问64KB的内存。086系统中的物理地址是由20根地址总线形成的,要做到对20位地址空间进行访问,就需要两部分地址

(完整版)微机原理及接口技术(习题答案)

范文范例学习指导 第1章微机运算基础 习题和思考题 1.请完成以下计算: 174.66D=(10101110.10101)B=(AE. A8)H 10101110101.01011B=(1397.344)D=(575.58)H 4BCH=(010*********)B=()BCD 2.设字长为8位,X=(2A)16,当X分别为原码、补码、反码和无符号数的时候,其真值 是多少? 答:当X表示原码时,其真值为:+101010 当X表示补码时,其真值为:+101010 当X表示反码时,其真值为:+101010 当X表示无符号数数时,其真值为:00101010 3.设字长为8位,用补码形式完成下列计算,要求有运算结果并讨论是否发生溢出? 120+18 -33-37 -90-70 50+84 答:120+18 其补码形式分别为:(120)补=01111000 (18)补=00010010 01111000 + 00010010 10001010 由于C s=0 ,C p=1,因此有溢出,结果错误 -33-37 其补码形式为:(-33)补=11011111 (-37)补=11011011 11011111 +11011011 10111010 由于C s=1, C p=1,所以没有溢出,结果正确 -90-70 其补码形式为:(-90)补=10011100 (-70)补=10111010 10011100 +10111010 01010110 由于C s=1, C p=0,所以有溢出,结果错误 50+84

其补码形式为:(50)补=00110010 (84)补=01010100 00110010 +01010100 10000110 由于C s=0, C p=1,所以有溢出,结果错误 4.请写出下列字符串的ASCII码值。 My name is Zhang san. 4D 79 6E 61 6D 65 69 73 5A 68 61 6E 67 73 61 6E 2E 第2章 80X86微机系统 习题与思考题 1.微型计算机主要由哪些基本部件组成?各部件的主要功能是什么? 答:微型计算机主要由输入设备、运算器、控制器、存储器和输出设备组成。 各部件的功能分别是:1、输入设备通过输入接口电路将程序和数据输入内存;2、运算器是进行算术运算和逻辑运算的部件,它是指令的执行部件;3、控制器是计算机的指挥中心,它负责对指令进行译码,产生出整个指令系统所需要的全部操作的控制信号,控制运算器、存储器、输入/输出接口等部件完成指令规定的操作;4、存储器用来存放程序、原始操作数、运算的中间结果数据和最终结果数据; 5、输出设备是CPU通过相应的输出接口电路将程序运行的结果及程序、数据送到的设备; 2.微处理器的发展过程是什么? 答:微型计算机的发展过程是: 第一代(1946~1957)——采用电子管为逻辑部件,以超声波汞延迟线、阴极射线管、磁芯和磁鼓等为存储手段;软件上采用机器语言,后期采用汇编语言。 第二代(1957~1965)——采用晶体管为逻辑部件,用磁芯、磁盘作内存和外存;软件上广泛采用高级语言,并出现了早期的操作系统。 第三代(1965~1971)——采用中小规模集成电路为主要部件,以磁芯、磁盘作内存和外存;软件上广泛使用操作系统,产生了分时、实时等操作系统和计算机网络。 第四代(1971~至今)——采用大规模集成电路(LSI)、超大规模集成电路(VLSI)为主要部件,以半导体存储器和磁盘为内、外存储器;在软件方法上产生了结构化程序设计和面向对象程序设计的思想。 3.简述80486微处理器的基本结构。 书12页 4.80486微处理器的工作模式有几种?当CS内容为1000H,IP内容为7896H,求在实地址 模式下的物理地址为多少? 答:实模式和保护模式及虚拟8086模式。当CS内容为1000H,IP内容为7896H,在实地

北语18秋《微型计算机原理及其接口技术》作业1234满分答案

18秋《微型计算机原理及其接口技术》作业1 下列属于8086的BIU组成部分的有。 A.通用寄存器组 B.总线控制逻辑 C.ALU D.物理地址加法器 正确答案:BD 常用的输入设备有。 A.键盘 B.鼠标 C.触摸屏 D.显示器 正确答案:ABC 在CPU与外设之间设计接口电路的目的主要有。 A.解决驱动能力问题 B.控制数据传送速度 C.完成数据形式转换 D.负责CPU与外设的联络 正确答案:ABCD 题面见图片 A.A B.B C.C D.D 正确答案:ABCD 题面见图片 A.A B.B C.C D.D 正确答案:BD Pentium段描述符是由8个字节共64个二进制位组成。

正确答案:B 在全局描述符表GDT(Global Descriptor Table.中存放供所有程序共用的段描述符。 A.错误 B.正确 正确答案:B 当程序有高度的顺序性时,Cache更为有效。 A.错误 B.正确 正确答案:A Pentium在进行分页转换中,页目录项的高20位页框地址是与物理存储器中的物理页是相对应的。 A.错误 B.正确 正确答案:A 运算器是存储信息的部件,是寄存器的一种。 A.错误 B.正确 正确答案:A Pentium处理机是32位微处理机,因此其内部数据总线是32位的。 A.错误 B.正确 正确答案:A 在8259A级连系统中,作为主片的8259A的某些IR引脚连接从片,同时也可以在另一些IR引脚上直接连接外设的中断请求信号端。 A.错误 B.正确 正确答案:B

正确答案:B 通常,微处理机的控制部件是由程序计数器、指令寄存器、指令译码器、时序部件等组成。 A.错误 B.正确 正确答案:B 用线选法对存储器或I/O接口进行正确的片选控制时,每次寻址只能有一位片选地址有效,而不允许同时有多位有效。 A.错误 B.正确 正确答案:B 在Pentium微处理机的指令指针寄存器EIP内存放着下一条要执行的指令。 A.错误 B.正确 正确答案:A 堆栈操作应满足先进先出原则。 A.错误 B.正确 正确答案:A CPU在未执行完当前指令的情况下,就可响应可屏蔽中断请求。 A.错误 B.正确 正确答案:A 条件转移指令只能用于段内直接短转移。 A.错误 B.正确 正确答案:B

微机原理与接口技术(第二版) 清华大学出版社

习题1 1.什么是汇编语言,汇编程序,和机器语言? 答:机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。 汇编语言是面向及其的程序设计语言。在汇编语言中,用助记符代替操作码,用地址符号或标号代替地址码。这种用符号代替机器语言的二进制码,就把机器语言编程了汇编语言。 使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序。 2.微型计算机系统有哪些特点?具有这些特点的根本原因是什么? 答:微型计算机的特点:功能强,可靠性高,价格低廉,适应性强、系统设计灵活,周期短、见效快,体积小、重量轻、耗电省,维护方便。 这些特点是由于微型计算机广泛采用了集成度相当高的器件和部件,建立在微细加工工艺基础之上。 3.微型计算机系统由哪些功能部件组成?试说明“存储程序控制”的概念。 答:微型计算机系统的硬件主要由运算器、控制器、存储器、输入设备和输出设备组成。 “存储程序控制”的概念可简要地概括为以下几点: ①计算机(指硬件)应由运算器、存储器、控制器和输入/输出设备五大基本部件组成。 ②在计算机内部采用二进制来表示程序和数据。 ③将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作,使计算机在不需要人工干预的情况下,自动、高速的从存储器中取出指令加以执行,这就是存储程序的基本含义。 ④五大部件以运算器为中心进行组织。 4.请说明微型计算机系统的工作过程。 答:微型计算机的基本工作过程是执行程序的过程,也就是CPU自动从程序存

放的第1个存储单元起,逐步取出指令、分析指令,并根据指令规定的操作类型和操作对象,执行指令规定的相关操作。如此重复,周而复始,直至执行完程序的所有指令,从而实现程序的基本功能。 5.试说明微处理器字长的意义。 答:微型机的字长是指由微处理器内部一次可以并行处理二进制代码的位数。它决定着计算机内部寄存器、ALU和数据总线的位数,反映了一台计算机的计算精度,直接影响着机器的硬件规模和造价。计算机的字长越大,其性能越优越。在完成同样精度的运算时,字长较长的微处理器比字长较短的微处理器运算速度快。 6.微机系统中采用的总线结构有几种类型?各有什么特点? 答:微机主板常用总线有系统总线、I/O总线、ISA总线、IPCI总线、AGP总线、IEEE1394总线、USB总线等类型。 7.将下列十进制数转换成二进制数、八进制数、十六进制数。 ①(4.75)10=(0100.11)2=(4.6)8=(4.C)16 ②(2.25)10=(10.01)2=(2.2)8=(2.8)16 ③(1.875)10=(1.111)2=(1.7)8=(1.E)16 8.将下列二进制数转换成十进制数。 ①(1011.011)2=(11.375)10 ②(1101.01011)2=(13.58)10 ③(111.001)2=(7.2)10 9.将下列十进制数转换成8421BCD码。 ① 2006=(0010 0000 0000 0110)BCD ② 123.456=(0001 0010 0011.0100 0101 0110)BCD 10.求下列带符号十进制数的8位基2码补码。 ① [+127]补= 01111111

微机原理与接口技术(第二版)习题答案

第1章 1.1 微处理器、微型计算机和微型计算机系统三者之间有什么不同? 解: 把CPU(运算器和控制器)用大规模集成电路技术做在一个芯片上,即为微 处理器。微处理器加上一定数量的存储器和外部设备(或外部设备的接口)构成了 微型计算机。微型计算机与管理、维护计算机硬件以及支持应用的软件相结合就形成了微型计算机系统。 1.2 CPU在内部结构上由哪几部分组成?CPU应该具备哪些主要功能? 解: CPU主要由起运算器作用的算术逻辑单元、起控制器作用的指令寄存器、指令译码器、可编程逻辑阵列和标志寄存器等一些寄存器组成。其主要功能是进行算术和逻辑运算以及控制计算机按照程序的规定自动运行。 1.3微型计算机采用总线结构有什么优点? 解: 采用总线结构,扩大了数据传送的灵活性、减少了连线。而且总线可以标准化,易于兼容和工业化生产。 1.4数据总线和地址总线在结构上有什么不同之处?如果一个系统的数据和地址合用 一套总线或者合用部分总线,那么要靠什么来区分地址和数据? 解: 数据总线是双向的(数据既可以读也可以写),而地址总线是单向的。 8086CPU为了减少芯片的引脚数量,采用数据与地址线复用,既作数据总线也作为 地址总线。它们主要靠信号的时序来区分。通常在读写数据时,总是先输出地址(指定要读或写数据的单元),过一段时间再读或写数据。 1.8在给定的模型中,写出用累加器的办法实现15×15的程序。 DEC H JP NZ,LOOP HALT

第2章作业答案 2.1 IA-32结构微处理器直至Pentillm4,有哪几种? 解: 80386、30486、Pentium、Pentium Pro、PeruiumII、PentiumIII、Pentium4。 2.6IA-32结构微处理器有哪几种操作模式? 解: IA一32结构支持3种操作模式:保护模式、实地址模式和系统管理模式。操作模式确定哪些指令和结构特性是可以访问的。 2.8IA-32结构微处理器的地址空间如何形成? 解: 由段寄存器确定的段基地址与各种寻址方式确定的有效地址相加形成了线性地址。若末启用分页机制,线性地址即为物理地址;若启用分页机制,则它把线性地址转为物理地址。 2.15 8086微处理器的总线接口部件由哪几部分组成? 解: 8086微处理器中的总线接口单元(BIU)负责CPU与存储器之间的信息传 送。具体地说,BIU既负责从内存的指定部分取出指令,送至指令队列中排队(8086的指令队列有6个字节,而8088的指令队列只有4个字节);也负责传送执 行指令时所需的操作数。执行单元(EU)负责执行指令规定的操作。 2.16段寄存器CS=120OH,指令指针寄存器IP=FFOOH,此时,指令的物理地址为 多少? 解: 指令的物理地址=12000H+FFOOH=21FOOH 第3章作业答案 3.1分别指出下列指令中的源操作数和目的操作数的寻址方式。 (1)MOV SI, 30O (2)MOV CX, DATA[DI] (3)ADD AX, [BX][SI] (4)AND AX, CX (5)MOV[BP], AX (6)PUSHF 解: (l)源操作数为立即寻址,目的操作数为寄存器寻址。

微机原理与接口技术学习心得

本学期微机原理课程已经结束,关于微机课程的心得体会甚多。微机原理与接口技术作为一门专业课,虽然要求没有专业课那么高,但是却对自己今后的工作总会有一定的帮助。记得老师第一节课说学微机原理是为以后的单片机打基础,这就让我下定决心学好微机原理这门课程。 初学《微机原理与接口技术》时,感觉摸不着头绪。面对着众多的术语、概念及原理性的问题不知道该如何下手。在了解课程的特点后,我发现,应该以微机的整机概念为突破口,在如何建立整体概念上下功夫。可以通过学习一个模型机的组成和指令执行的过程,了解和熟悉计算机的结构、特点和工作过程。 《微机原理与接口技术》课程有许多新名词、新专业术语。透彻理解这些名词、术语的意思,为今后深入学习打下基础。一个新的名词从首次接触到理解和应用,需要一个反复的过程。而在众多概念中,真正关键的并不是很多。比如“中断”概念,既是重点又是难点,如果不懂中断技术,就不能算是搞懂了微机原理。在学习中凡是遇到这种情况,绝对不轻易放过,要力求真正弄懂,搞懂一个重点,将使一大串概念迎刃而解。 学习过程中,我发现许多概念很相近,为了更好地掌握,将一些容易混淆的概念集中在一起进行分析,比较它们之间的异同点。比如:微机原理中,引入了计算机由五大部分组成这一概念;从中央处理器引出微处理器的定义;在引出微型计算机定义时,强调输入/输出接口的重要性;在引出微型计算机系统的定义时,强调计算机软件与计算机硬件的相辅相成的关系。微处理器是微型计算机的重要组成部分,它与微型计算机、微型计算机系统是完全不同的概念在微机中,最基础的语言是汇编语言。汇编语言是一个最基础最古老的计算机语言。语言总是越基础越重要,在重大的编程项目中应用最广泛。就我的个人理解,汇编是对寄存的地址以及数据单元进行最直接的修改。而在某些时候,这种方法是最有效,最可靠的。 然而,事物总有两面性。其中,最重要的一点就是,汇编语言很复杂,对某个数据进行修改时,本来很简单的一个操作会用比较烦琐的语言来解决,而这些语言本身在执行和操作的过程中,占有大量的时间和成本。在一些讲求效率的场合,并不可取。 汇编语言对学习其他计算机起到一个比较、对照、参考的促进作用。学习事物总是从最简单基础的开始。那么学习高级语言也当然应当从汇编开始。学习汇

微机原理与接口技术习题答案

《微机原理与接口技术》习题答案 一、单项选择题 1、80486CPU进行算术和逻辑运算时,可处理的信息的长度为( D )。 A、32位 B、16位 C、8位 D、都可以 2、在下面关于微处理器的叙述中,错误的是( C ) 。 A、微处理器是用超大规模集成电路制成的具有运算和控制功能的芯片 B、一台计算机的CPU含有1个或多个微处理器 C、寄存器由具有特殊用途的部分内存单元组成,是内存的一部分 D、不同型号的CPU可能具有不同的机器指令 3、若用MB作为PC机主存容量的计量单位,1MB等于( B )字节。 A、210个字节 B、220个字节 C、230个字节 D、240个字节 4、运算器在执行两个用补码表示的整数加法时,判断其是否溢出的规则为( D )。 A、两个整数相加,若最高位(符号位)有进位,则一定发生溢出 B、两个整数相加,若结果的符号位为0,则一定发生溢出 C、两个整数相加,若结果的符号位为1,则一定发生溢出 D、两个同号的整数相加,若结果的符号位与加数的符号位相反,则一定发生溢出 5、运算器的主要功能是( C )。 A、算术运算 B、逻辑运算 C、算术运算与逻辑运算 D、函数运算 6、指令ADD CX,55H[BP]的源操作数的寻址方式是(D )。 A、寄存器寻址 B、直接寻址 C、寄存器间接寻址 D、寄存器相对寻址 7、设(SS)=3300H,(SP)=1140H,在堆栈中压入5个字数据后,又弹出两个字数据,则(SP)=(A ) A、113AH B、114AH C、1144H D、1140H 8、若SI=0053H,BP=0054H,执行SUB SI,BP后,则( C)。 A、CF=0,OF=0 B、CF=0,OF=1 C、CF=1,OF=0 D、CF=1,OF=1 9、已知(BP)=0100H,(DS)=7000H,(SS)=8000H,(80100H)=24H,(80101H)=5AH,(70100H)=01H,(70101H)=02H,指令MOV BX,[BP]执行后,(BX)=(D ) 。 A、0102H B、0201H C、245AH D、5A24H 10、实模式下80486CPU对指令的寻址由(A )决定。 A、CS,IP B、DS,IP C、SS,IP D、ES,IP 11、使用80486汇编语言的伪操作指令定义: VAL DB 2 DUP(1,2,3 DUP(3),2 DUP(1,0)) 则

计算机接口技术 答案

计算机接口技术 交卷时间:2016-07-12 23:38:58 一、单选题 1. (4分) 从硬件的角度而言,采用硬件最少的数据传送方式是( )。 ? A. DMA控制 ? B. 中断传送 ? C. 查询传送 ? D. 无条件传送 得分:4知识点:计算机接口技术作业题展开解析 答案D 解析 2. (4分) AD574采用的转换原理是()。 ? A. 逐次逼近式 ? B. 计数式 ? C. 双积分式

得分:4知识点:计算机接口技术作业题展开解析 答案A 解析 3. (4分) ADC 0809 的基准电压为5V,当输入模拟量为1.25V时,其转换输出的数字量是()。? A. 10H ? B. 20H ? C. 40H ? D. 80H 得分:4知识点:计算机接口技术作业题展开解析 答案C 解析 4. (4分) 当+5V基准电压加到DAC0832上时,若输入数据为60H,则转换输出的电压值为()。? A. 1.875V ? B. 2.25V ? C. 2.75V

得分:4知识点:计算机接口技术作业题展开解析 答案A 解析 5. (4分) DAC1210的分辨率是()。 ? A. 8位 ? B. 10位 ? C. 12位 ? D. 16位 得分:4知识点:计算机接口技术作业题展开解析 答案C 解析 6. (4分) 对于开关型设备的控制,适合采用的I/O传送方式是( )。? A. 无条件 ? B. 查询 ? C. 中断

得分:4知识点:计算机接口技术作业题展开解析 答案A 解析 7. (4分) 8251异步通信工作,传送一个字符包括:一个起始位,一个停止位,一个奇偶校验位和七个数据位,共十位。若要求每秒钟传送120个字符,则波特率应为()。 ? A. 1200 波特 ? B. 2400 波特 ? C. 4800波特 ? D. 9600波特 得分:4知识点:计算机接口技术作业题展开解析 答案A 解析 8. (4分) CPU在()时响应中断。 ? A. 取指周期结束 ? B. 外设提出中断申请CINTR为高电平 ? C. 一条指令结束

微机原理与接口技术 试题与答案

微机原理与接口技术试题 微型计算机原理与接口技术综合测试题一 一、单项选择题(下面题只有一个答案是正确的,选择正确答案填入空白处) 1.8086CPU通过(1 )控制线来区分是存储器访问,还是I/O 访问,当CPU执行IN AL,DX指令时,该信号线为(2 )电平。 (1) A. M/ B. C. ALE D. N/ (2) A. 高 B. 低 C. ECL D. CMOS 2.n+1位有符号数x的补码表示范围为()。 A. -2n < x < 2n B. -2n ≤ x ≤ 2n -1 C. -2n -1 ≤ x ≤ 2n-1 D. -2n < x ≤ 2n 3.若要使寄存器AL中的高4位不变,低4位为0,所用指令为()。 A. AND AL, 0FH B. AND AL, 0FOH C. OR AL, 0FH D. OR AL 0FOH 4.下列MOV指令中,不正确的指令是()。 A. MOV AX, BX B. MOV AX, [BX] C. MOV AX, CX D. MOV AX, [CX] 5.中断指令INT 17H的中断服务程序的入口地址放在中断向量表地址()开始的4个存贮单元内。

A. 00017H B. 00068H C. 0005CH D. 0005EH 6.条件转移指令JNE的条件是()。 A. CF=0 B. CF=1 C. ZF=0 D. ZF=1 7. 在8086/8088 CPU中,一个最基本的总线读写周期由(1 )时钟周期(T状态)组成,在T1状态,CPU往总线上发( 2 )信息。 ⑴ A. 1个 B. 2个 C. 4个 D. 6个 ⑵ A. 数据 B . 地址 C. 状态 D. 其它 8. 8086有两种工作模式, 最小模式的特点是(1 ),最大模式的特点是( 2 )。 ⑴ A. CPU提供全部控制信号 B. 由编程进行模式设定 C. 不需要8286收发器 D. 需要总线控制器8288 ⑵ A. M/ 引脚可直接引用 B. 由编程进行模式设定 C. 需要总线控制器8288 D. 适用于单一处理机系统 9.在8086微机系统的RAM 存储单元器0000H:002CH开始依次存放23H,0FFH,00H,和0F0H四个字节,该向量对应的中断号是( )。 A. 0AH B. 0BH C. 0CH D. 0DH 10.真值超出机器数表示范围称为溢出,,此时标志寄存器中的( )位被置位 A. OF B AF C PF D CF

微机原理与接口技术

第二章 8086系统结构 一、 8086CPU 的内部结构 1.总线接口部件BIU (Bus Interface Unit ) 组成:20位地址加法器,专用寄存器组,6字节指令队列,总线控制电路。 作用:负责从内存指定单元中取出指令,送入指令流队列中排队;取出指令所需的操作 数送EU 单元去执行。 工作过程:由段寄存器与IP 形成20位物理地址送地址总线,由总线控制电路发出存储器“读”信号,按给定的地址从存储器中取出指令,送到指令队列中等待执行。 *当指令队列有2个或2个以上的字节空余时,BIU 自动将指令取到指令队列中。若遇到转移指令等,则将指令队列清空,BIU 重新取新地址中的指令代码,送入指令队列。 *指令指针IP 由BIU 自动修改,IP 总是指向下一条将要执行指令的地址。 2.指令执行部件EU (Exection Unit) 组成:算术逻辑单元(ALU ),标志寄存器(FR ),通用寄存器,EU 控制系统等。 作用:负责指令的执行,完成指令的操作。 工作过程:从队列中取得指令,进行译码,根据指令要求向EU 内部各部件发出控制命令,完成执行指令的功能。若执行指令需要访问存储器或I/O 端口,则EU 将操作数的偏移地址送给BIU ,由BIU 取得操作数送给EU 。 二、 8088/8086的寄存器结构 标志寄存器 ALU DI DH SP SI BP DL AL AH BL BH CL CH ES SS DS CS 内部暂存器输入 / 输出控制 电路1432EU 控制系 统20位16位8086总线指令 队列总线 接口单元执行 单元 6 516位 属第三代微处理器 运算能力: 数据总线:DB

微机原理与接口技术习题答案5章(供参考)

第5章 总线及其形成 1. 微处理器的外部结构表现为 数量有限的输入输出引脚 ,它们构成了微处理器级总线。 2. 微处理器级总线经过形成电路之后形成了 系统级总线 。 3. 简述总线的定义及在计算机系统中采用标准化总线的优点。 答:总线是计算机系统中模块(或子系统)之间传输数据、地址和控制信号的公共通道, 它是一组公用导线,是计算机系统的重要组成部分。 采用标准化总线的优点是: 1) 简化软、硬件设计。 2) 简化系统结构。 3) 易于系统扩展。 4) 便于系统更新。 5) 便于调试和维修。 4. 在微型计算机应用系统中,按功能层次可以把总线分成哪几类。 答:在微型计算机应用系统中,按功能层次可以把总线分成:片内总线、元件级总线、 系统总线和通信总线。 5. 简述RESET 信号的有效形式和系统复位后的启动地址。 答:RESET 为系统复位信号,高电平有效,其有效信号至少要保持四个时钟周期,且复 位信号上升沿要与CLK 下降沿同步。 系统复位后的启动地址为0FFFF0H 。即:(CS )=0FFFFH ,(IP )=0000H 。 6. 8086 CPU 的IO M/信号在访问存储器时为 高 电平,访问I/O 端口时为 低 电平。 7. 在8086系统总线结构中,为什么要有地址锁存器? 答:8086CPU 有20条地址线和16条数据线,为了减少引脚,采用了分时复用,共占了 20条引脚。这20条引脚在总线周期的T1状态输出地址。为了使地址信息在总线周期的其 他T 状态仍保持有效,总线控制逻辑必须有一个地址锁存器,把T1状态输出的20位地址信 息进行锁存。 8. 根据传送信息的种类不同,系统总线分为 数据总线 、 地址总线 和 控制总线 。 9. 三态逻辑电路输出信号的三个状态是 高电平 、 低电平 和 高阻态 。 10. 在8086的基本读总线周期中,在1T 状态开始输出有效的ALE 信号;在2T 状态开始输出

微机原理与接口技术试题库(含答案)汇总

一、问答题 1、下列字符表示成相应的ASCII码是多少? (1)换行0AH (2)字母“Q”51H (3)空格20H 2、下列各机器数所表示数的范围是多少? (1)8位二进制无符号定点整数; 0~255 (2)8位二进制无符号定点小数;0.996094 (3)16位二进制无符号定点整数;0~65535 (4)用补码表示的16位二进制有符号整数;-32768~32767 3、(111)X=273,基数X=?16 4、有一个二进制小数X=0.X1X2X3X4X5X6 (1)若使X≥1/2,则X1……X6应满足什么条件? X1=1 若使X>1/8,则X1……X6应满足什么条件?X1∨X2 ∨X3=1 (2) 5、有两个二进制数X=01101010,Y=10001100,试比较它们的大小。 (1)X和Y两个数均为无符号数;X>Y (2)X和Y两个数均为有符号的补码数。X

微机原理与接口技术知识点总结整理

《微机原理与接口技术》复习参考资料 第一章概述 一、计算机中的数制 1、无符号数的表示方法: (1)十进制计数的表示法 特点:以十为底,逢十进一; 共有0-9十个数字符号。 (2)二进制计数表示方法: 特点:以2为底,逢2进位; 只有0和1两个符号。 (3)十六进制数的表示法: 特点:以16为底,逢16进位; 有0--9及A—F(表示10~15)共16个数字符号。 2、各种数制之间的转换 (1)非十进制数到十进制数的转换 按相应进位计数制的权表达式展开,再按十进制求和。(见书本1.2.3,1.2.4)(2)十进制数制转换为二进制数制 ●十进制→二进制的转换: 整数部分:除2取余; 小数部分:乘2取整。 ●十进制→十六进制的转换: 整数部分:除16取余; 小数部分:乘16取整。 以小数点为起点求得整数和小数的各个位。 (3)二进制与十六进制数之间的转换 用4位二进制数表示1位十六进制数 3、无符号数二进制的运算(见教材P5) 4、二进制数的逻辑运算 特点:按位运算,无进借位 (1)与运算 只有A、B变量皆为1时,与运算的结果就是1 (2)或运算 A、B变量中,只要有一个为1,或运算的结果就是1 (3)非运算 (4)异或运算 A、B两个变量只要不同,异或运算的结果就是1 二、计算机中的码制 1、对于符号数,机器数常用的表示方法有原码、反码和补码三种。数X的原码记作[X]原,反码记作[X]反,补码记作[X]补。

注意:对正数,三种表示法均相同。 它们的差别在于对负数的表示。 (1)原码 定义: 符号位:0表示正,1表示负; 数值位:真值的绝对值。 注意:数0的原码不唯一 (2)反码 定义: 若X>0 ,则[X]反=[X]原 若X<0,则[X]反= 对应原码的符号位不变,数值部分按位求反 注意:数0的反码也不唯一 (3)补码 定义: 若X>0,则[X]补= [X]反= [X]原 若X<0,则[X]补= [X]反+1 注意:机器字长为8时,数0的补码唯一,同为00000000 2、8位二进制的表示范围: 原码:-127~+127 反码:-127~+127 补码:-128~+127 3、特殊数10000000 ●该数在原码中定义为:-0 ●在反码中定义为:-127 ●在补码中定义为:-128 ●对无符号数:(10000000)2= 128 三、信息的编码 1、十进制数的二进制数编码 用4位二进制数表示一位十进制数。有两种表示法:压缩BCD码和非压缩BCD码。(1)压缩BCD码的每一位用4位二进制表示,0000~1001表示0~9,一个字节表示两位十进制数。 (2)非压缩BCD码用一个字节表示一位十进制数,高4位总是0000,低4位的0000~1001表示0~9 2、字符的编码 计算机采用7位二进制代码对字符进行编码 (1)数字0~9的编码是0110000~0111001,它们的高3位均是011,后4位正好与其对应的二进制代码(BCD码)相符。

微机原理与接口技术第一次作业答案

《微机原理与接口技术》平时作业(一) 一、填空题 1、微型计算机由硬件系统和软件系统共同组成。 2、计算机的该工作过程就是执行程序过程。一条指令的完成通常由取指令,分析指令,取操作数,取址,执行指令,存储结果几个步骤完成。 3、8086微处理器的内部结构由总线接口单元和执行单元两部分构成。 4、指令包含操作码和操作数两部分内容。 5、程序设计语言分为机器语言,汇编语言,高级语言三种。 二、判断题 1、存储器的容量用字节(B)来衡量,1KB=1000B。(X) 2、所谓“双核”是指在一个处理器集成两个运算核心,从而提高计算能力。(√) 3、OR指令的功能是源操作数和目标操作数按位取“与”,结果送回目标单元。(X) 4、汇编语言的第一个字符可以用数字表示。(X) 5、汇编语言指令中的操作数是指令操作时的操作对象,可以是数据或地址表达式。(X) 三、选择题 1、下列哪种不是80486的工作模式(D) A:实地址 B:保护虚拟地址 C:虚拟8086 D:虚拟80486 2、80486的基本寄存器不包括下列哪一项(B) A: 基本寄存器 B:专用寄存器 C:通用寄存器 D: 段寄存器 3、下列哪一个指令不是数据传送指令(D) A:MOV B: XCHG C: PUSH D: ADD 4、下列哪个指令是乘法运算指令(B) A:SBB B:MUL C:CMP D:INC 5、下列哪种类型不是MASM汇编语言的语句类型。(B) A:指令语句 B:注释语句 C:宏指令语句 D:伪指令语句 四、计算题

1、写出十进制数的二进制数,八进制数和十六进制数; 解: = = = 2、给定寄存器及存储单元的内容为:(DS) = 2000H,(BX) = 0100H,(SI) = 0002H,(20100) = 32H,(20101) = 51H,(20102) = 26H,(20103) = 83H,(21200) = 1AH,(21201) = B6H,(21202) = D1H,(21203) = 29H。试说明下列各条指令执行完后,AX寄存器中保存的内容是什么。 解: (1) MOV AX,1200H (2) MOV AX,BX (3) MOV AX,[1200H] (4) MOV AX,[BX] (5) MOV AX,1100H[BX] (6) MOV AX,[BX][SI] ①MOV AX,1200H 执行后,AX=1200H ②MOV AX,BX 执行后,AX=(BX)=0100H ③MOV AX,[1200H] 直接寻址EA=[VAL]=1200H,PA=(DS)×10 H+EA=2000H×10H+1200H=21200H,执行后(AX)=B61AH ④MOV AX,[BX] (BX)=0100H, PA=(DS)×10H+EA=2000H×10H+1200H=21200H, 执行后(AX)=5132H ⑤MOV AX,1100H[BX] A=(BX)+1100H=0100H+1100H=1200H, PA=(DS)×10H+EA=2000H×10H+1200H=21200H, 执行后 (AX)= B61AH ⑥MOV AX,[BX][SI] EA=(BX)+(SI)=0100H+0002H=0102H, PA=(DS)×10H+EA=2000H×10H+1200H=21200H, 执行后(AX)=29D1H

《微机原理与接口技术》习题解答5

习题5 5.1 什么叫总线?总线如何进行分类?各类总线的特点和应用场合是什么? 【解答】总线是指计算机中多个部件之间公用的一组连线,由它构成系统插件间、插件的芯片间或系统间的标准信息通路。 (1)微处理器芯片总线:元件级总线,是在构成一块CPU插件或用微处理机芯片组成一个很小系统时常用的总线,常用于CPU芯片、存储器芯片、I/O接口芯片等之间的信息传送。 (2)内总线:板极总线或系统总线,是微型计算机系统内连接各插件板的总线,用以实现微机系统与各种扩展插件板之间的相互连接,是微机系统所特有的总线,一般用于模板之间的连接。在微型计算机系统中,系统总线是主板上微处理器和外部设备之间进行通讯时所采用的数据通道。 (3)外部总线:通信总线,主要用于微机系统与微机系统之间或微机与外部设备、仪器仪表之间的通信,常用于设备级的互连。数据可以并行传输,也可以串行传输,数据传输速率低。 5.2 什么叫总线的裁决?总线分配的优先级技术有哪些?各自的特点是什么? 【解答】当总线上的某个部件要与另一个部件进行通信时,首先应该发出请求信号,有时会发生同一时刻总线上有多个请求信号的情况,就要根据一定的原则来确定占用总线的先后次序,这就是总线裁决。 (1)并联优先权判别法 通过优先权裁决电路进行优先级别判断,每个部件一旦获得总线使用权后应立即发出一个“总线忙”的信号,表明总线正在被使用。当传送结束后释放总线。 (2)串联优先级判别法 采用链式结构,把共享总线的各个部件按规定的优先级别链接在链路的不同位置上,位置越前面的部件,优先级别越高。 (3)循环优先权判别法 类似于并联优先权判别法,只是动态分配优先权,原来的优先权编码器由一个更为复杂的电路代替,该电路把占用总线的优先权在发出总线请求的那些部件之间循环移动,从而使每个总线部件使用总线的机会相同。 5.3 总线数据的传送方式有哪些?各自有何特点? 【解答】 (1)串行传送方式 只使用一条传输线,在传输线上按顺序传送信息的所有二进制位的脉冲信号,每次一位。适于长距离传输。 (2)并行传送方式 信息由多少个二进制位组成,机器就需要有多少条传输线,从而让二进制信息在不同的线上同时进行传送。 (3)并串行传送方式 是并行传送方式与串行传送方式的结合。传送信息时,如果一个数据字由两个字节组成,那么传送一个字节时采用并行方式,而字节之间采用串行方式。

微机原理与接口技术

微机原理及接口技术 第一部分客观题 一、单项选择题(每小题2分,共10分) 1. 寄存器ECX勺低16位部分可以用 ____________ 达。 A EX B CX C CH D CL 2. 8086处理器执行“ OUT DX,AL指令时,AL的数据出现在_____________ 输出给外设。 A控制总线B地址总线C电源和地线D 数据总线 3. 与DRAM目比,SRAM勺特点是___________ 。 A集成度高、存取周期长B集成度低、存取周期长 C集成度高、存取周期短D集成度低、存取周期短 4. 使用语句“ var dword 3721 ”定义的变量var在主存占用___________ 字节存储空间。 A 1 B 2 C 4 D 8 5. 用8K>8结构SRAM芯片构成64000H H6FFFFH地址范围的存储器,需要使用__________ 。 A 4 B 6 C 8 D 10 二、对错判断题(每小题2分,共10分)(说明:正确的选“ A ,错误选“ B” 6. IA-32 处理器设置的中断标志IF = 0是关中断,表示禁止内部中断和外部中断的所有中断请求。X

7. 已知var是一个变量,语句“ add esi,byte ptr var ”没有语法错误。X 8. DMA传输由DMA控制器控制,无需处理器执行I/O指令。V 9. 高性能计算机中常使用Cache (高速缓冲存储器)提高主存性能。V 10. 向某个I/O端口写入一个数据,一定可以从该I/O端口读回这个数据。V 第二部分主观题 一、填空题(每空2分,共10分) 1. 8086处理器引脚有3个最基本的读写控制信号,它们是M/IO*,—RD* __________ 和____ /R* ______ 。 2. 逻辑地址由—段基地址_________ 口偏移地址两部分组成。代码段中下一条要执行的指令由CS和 _____ 指针IP ____ 寄存器指示,后者在实地址模型中起作用 的仅有_____ 指针 ____ 寄存器部分。 二、问答题(每小题6分,共30分) 1. 什么是JMP指令的近(near)转移和远(far )转移? jmp指令的近转移是指在同一个段里面的转移,也叫做段内近转移,用汇编编码就是这样的jmp near ptr标号 jmp指令的远转移是指段与段之间的转移,就是说不在同一个段的转移,用汇编编码就是这样的jmp far ptr 标号 2. 什么是存储访问的局部性原理,它分成哪两个方面的局部性? 程序局部性原理:虚拟存储管理的效率与程序局部性程序有很大关系。根据统计,进程运行时,在一段时间内,其程序的执行往往呈现岀高度的局限性,包括时间局部性和空间局部性。 1、时间局部性:是指若一条指令被执行,则在不久的将来,它可能再被执行。 2、空间局部性:是指一旦一个存储单元被访问,那它附近的单元也将很快被访问。

相关主题
文本预览
相关文档 最新文档