当前位置:文档之家› 第1章:微型计算机概述答案

第1章:微型计算机概述答案

第1章:微型计算机概述答案
第1章:微型计算机概述答案

《微型计算机技术及接口》部分习题参考答案

习题 1 部分答案

1.3 假设四种CPU主存地址分别为16根、20根、24根以及32根,试问每种CPU可寻址内存多少字节?

解:64K字节,1M字节,16M字节,4G字节

1.4 设字长为16位,将下列十进制数转换成二进制数,十六进制数以及BCD数。

①65 ②129 ③257 ④513

解:①0000000001000001B,0041H,(0000000001100101)BCD

②0000000010000001B,0081H,(0000000100101001)BCD

③0000000100000001B,0101H,(0000001001010111)BCD

④0000001000000001B,0201H,(0000010100010011)BCD

1.5 设字长为8位,写出x、y的原码、反码和补码,并且用补码计算x+y,问是否有溢出?

①x=-78 y=35 ②x=-64 y=-66

解:①[X]原=11001110,[X]反=10110001,[X]补=10110010

[Y]原=00100011,[Y]反=00100011,[Y]补=00100011

因为:[X]补=10110010[Y]补=00100011

那末:[X]补+[Y]补=11010101=[X+Y]补X+Y=-00101011没有溢出

②[X]原=11000000,[X]反=10111111,[X]补=11000000

[Y]原=11000010,[Y]反=10111101,[Y]补=10111110

因为:[X]补=11000000[Y]补=10111110

那末:[X]补+[Y]补,有溢出

1.6 试用8位二进制写出以下数、字母以及控制命令的ASCⅡ码,还要写成奇校验、偶校验、标记校验及空格校验的ASCⅡ码。

①B ②8 ③CR ④NUL

1.7 设两个BCD数X=1000 1001,Y=0111 0101,试用列竖式的方法计算X+Y。

解:

1.8若规格化32位浮点数N 的二进制存储格式为41360000H ,求其对应的十进制数值。 解:N=41360000H=0 10000010 01101100000000000000000B

S=0 E=10000010

M=01101100000000000000000 N=(-1)S ×(1.M )×2E-127

=1.011011×210000010-01111111

=1.011011×2011

=1011.011

习题2 习题解答

2.1哪两部分组成?它们的主要功能各是什么?

解:8086CPU 由总线接口部件BIU (Bus Interface Unit)和执行部件EU (Execution Unit) 两大部分组成。总线接口部件的主要功能是形成物理地址、预取指令、指令队列排队、读/写操作数和总线控制。执行部件的主要功能是进行指令译码并执行指令。

2.2 8086CPU 中有哪些寄存器?各有什么用途?标志寄存器FLAGS 有哪些标志位?在什么情况下置位?

解:8086CPU 中的寄存器如教材图2-2所示:

结果为:(101100100)BCD

其用途可参考教材。

标志寄存器(FLAGS)用于反映指令执行结果的状态,常用作后续条件转移指令的转移控制条件。标志寄存器为16位,实际使用了其中的9位,所用各位的含义如教材中图2-3所示。

2.3 什么是逻辑地址?什么是物理地址?如何将逻辑地址转换为物理地址?

解:逻辑地址是指在程序和指令中使用的一种地址,它包括两部分:段基地址和偏移地址。段基地址说明每段在主存中的起始位置,它来自于段寄存器(CS、DS、ES、SS)。偏移地址说明主存单元距离段起始位置的偏移量。它是一个16位的偏移地址,根据指令的不同,它可以来自于8086CPU中不同的16位寄存器IP、SP、BP、SI、DI、BX等。

物理地址是指CPU对存储器进行访问时实际寻址所使用的地址,物理地址是由段寄存器与偏移地址共同确定的。在实际工作时,从段寄存器中取出段基址,将其左移4位,再与16位偏移地址相加,就得到了物理地址,此地址在CPU总线接口部件BIU的20位地址加法器中形成。物理地址的计算方法为:物理地址=段基地址×16+偏移地址。

2.4 设X=35H,Y=76H,进行X+Y和X-Y运算后,标志寄存器FLAGS的状态标志位各是什么?

解:X+Y=0ABH ,各标志位分别为:OF=1,SF=1,ZF=0,AF=0,PF=0,

CF=0

X-Y=0BFH,各标志位分别为:OF=0,SF=1,ZF=0,AF=1,PF=0,CF =1

2.5 8086有哪4个逻辑段?各种逻辑段分别是什么用途?

解:在8086的程序设计中,一个程序可以有代码段CS、数据段SS、堆栈段SS和附加段ES。

代码段CS用于存放程序;

数据段SS和附加段ES用于存放数据;

堆栈段SS用于存放数据(包括暂存数据和保护现场的数据)。

在形成物理地址时,CS、DS、ES和SS四个段寄存器的作用如下:当取指令时,CPU 以CS寄存器的值作段基址,再加上IP中的16位偏移地址,得到指令的物理地址;当进行堆栈操作时,段基地址CPU以SS为堆栈段的基地址,偏移地址由SP或BP来指定,当访问存储器的数据段时,数据段寄存器DS或附加段寄存器ES,再加上16位偏移地址,得到操作数的物理地址。

2.6 请将如下逻辑地址用物理地址表示:

(1)FFFFH:0 (2)45H:18H (3) 2000H:4600H (4)B821H:3456H

解:用PA表示物理地址,PA=段基地址×16+偏移地址

(1)PA=FFFFH×16+0000H=FFFF0H

(2)PA=45H×16+18H=468H

(3)PA=2000H×16+4600H=24600H

(4)PA=B821H×16+3456H=BB666H

2.7若8086CPU工作于最小模式,试指出当CPU将AH的内容送到物理地址为91001H 的存储单元时,以下哪些信号应为低电平:M/IO、RD、WR、BHE/S7、DT/R。若CPU 完成的是将物理地址91000H单元的内容读入AL中时,则上述哪些信号应为低电平。

解:当CPU将AH的内容送到物理地址为91001H的存储单元时,CPU完成的是写存储器操作,且完成的是访问存储器的奇地址,因此,WR=0,BHE/S7=0;

若CPU完成的是将物理地址91000H单元的内容读AL中时,CPU完成的是读存储器操作,且完成的是访问存储器的偶地址,因此,RD=0,DT/R=0。

2.8什么是引脚的分时复用?请说出8086CPU有哪些引脚是分时复用引脚?如何分时复用?

解:8086的数据线和地址线是利用复用的,所以常把8086的总线称为多路总线,即某一时刻总线上出现的是地址,另一时刻,总线上出现的是数据。正是这种引脚的分时使用方法才能使8086用40条引脚实现20位地址、16位数据及众多的控制信号和状态信号的传输。

8086CPU的分时复用的引脚有:地址/数据复用引脚是:AD15~AD0,在总线周期的T1状态,传送地址信息,在其它状态则传送数据信息;

地址/状态复用引脚是:A19/S6~A16/S3,这些引脚在总线周期的T1状态输出地址的高4位,在总线的T2、T3、T W和T4状态时,用来输出状态信息。

2.9试说明8086CPU工作在最大和最小模式下系统基本配置的差异。

解:8086CPU可以工作在两种工作模式,即最小工作模式和最大工作模式。最小工作

模式用于单机系统,系统中所有总线控制信号全部由8086直接提供,因此系统中的总线控制电路可减到最少;最大工作模式用于多处理机系统,8086作为主处理器,其它的处理器为协处理器,协助主处理器工作。在最大工作模式下,系统所需要的控制信号均由总线控制器8288提供。

8086具体工作在最大模式还是最小模式,完全由硬件连接决定。当将CPU的第33号引脚MN/MX接+5V时,8086工作在最小模式,当MN/MX接地时,8086工作在最大模式。

2.10分析8086CPU两个中断输入引脚的区别,以及各自的使用场合。

解:INTA是中断响应信号,输出,三态,低电平有效。该信号是CPU响应中断请求后,向中断源发出的中断响应信号,用以通知中断控制器,以便由中断控制器提供中断类型号。在每个中断响应周期,CPU在INTA引脚上发出两个连续的负脉冲。

⑿NMI是非屏蔽中断请求信号,输入,正跳变有效。这类中断不受中断允许标志IF的影响,也不能用软件进行屏蔽。当NMI引脚收到一个正沿触发信号时,CPU就会在结束当前指令后引起中断,执行中断类型号2的非屏蔽中断处理程序。

习题 3 部分答案

3.1 Pentium在实地址模式和V86模式下,可访问存储器空间的大小分别为多少字节?

解:①在实模式下,可以访问1MB存储器。

②在V86模式下,禁止分页情况下,只能访问1MB存储器。

允许分页情况下,可以访问4GB存储器。

3.2 Pentium工作在只分段不分页、只分页不分段以及既分段又分页三种情况下,分别可访问存储空间的大小为多少字节?

解:①只分段不分页,可以访问虚拟存储空间64TB

②只分页不分段,可以访问虚拟存储空间4GB

③分页分段,可以访问虚拟存储空间64TB

3.3 下面哪些指令不能在实模式下运行?为什么?

(1)MOV AL,DS:[ESI]

(2)ADD AX,FS:[EDI]

(3)MOV AL,DS:[SI]

(4)ADC EAX,FS:[DI]

解:(1)、(2)两条指令不能在实模式下运行,因为在实模式下不允许ESI,EDI作偏移地址。

3.4 在虚拟8086模式下,在从虚地址转换到物理地址的过程中,可用到几个页目录项

和几个页表项?

解:可用到第1个页目录项,272个页表项。

3.5 在段选择符中,TI=0和TI=1,分别在LDT还是GDT中访问描述符?

解:TI=0访问GDT,TI=1访问LDT。

3.6 当前的段描述符存放在何处?

解:当前的段描述符存放在微处理器的Cache中。

3.12 存储器特权级保护的分析。设当前代码段的特权级CPL,段选择符请求的特权级RPL以及数据段描述符的特权级DPL如表3-5 所示,回答4种组合中每一种组合能否将段选择符装入到数据段寄存器中,通过填写下表,回答哪几种能行?哪几种不行?并将理由填入表中。

解:第1行、第2行可以将段选择符装入到数据段寄存器中。

第3行、第4行则不行,原因分别是:

DPL<CPL

DPL<CPL、RPL

3.14 Pentium超标量流水线共分几段,其中整数段有几段?

解:共分为8段,其中整数段分为5段。

3.15 下列各组指令中,哪些会产生数据相关?数据相关的类型是什么?

(1)MOV AX,BX

ADD CX,SI

(2)MOV AX,DX

ADD BX,AX

(3)MOV CX,BX

MOV BX,DI

(4)DIV AX,SI

SUB AX,DI

解:(1)不会产生数据相关。

(2)会产生数据相关,写后读(RAW)数据相关。

(3)会产生数据相关,读后写(W AR)数据相关。

(4)会产生数据相关,写后写(W AW)数据相关。

习题 4 部分答案

4.1 分别指出下列指令中源操作数和目的操作数的寻址方式

(1) MOV EAX,12345678H

(2) MOV [ESI],AX

(3) MOV 2[EDI],BX

(4) MOV 2[BX+SI],DX

(5) MOV AX,[10]

(6) MOV EAX,2[ESI*4]

(7) MOV EAX,2[EBX*8][EDI]

(8) MOV EAX,[ESI][EBP+0FFFF0H]

(9) MOV EAX,2[EDI*8][EBP+80]

4.2 指出下列指令的错误原因

(1) INC [ESI]

(2) MOV AX,BL

(3) MOV 2,EAX

(4) MOV AX,[DX]

(5) MOV AX,[BX+BP]

(6) MOV AX,[SI+DI]

(7) MOV AH,300

(8) MOV [ESI],[EDI]

(9) PUSH AL

(10) POP DH

(11) MOV CS,AX

(12) MOV SS,AX

(13) SHL AX,3

解:

4.3 比较下列两条指令,指出它们的区别

MOV EAX,[ESI]

MOV [ESI],EAX

解:这两条指令的区别是,指令“MOV EAX,[ESI]”是将内存单元DS:[ESI]中的内容读到CPU中的寄存器EAX;而指令“MOV [ESI],EAX”是将CPU中寄存器EAX中的内容写入内存单元DS:[ESI]。

4.4 比较下列两条指令,指出它们的区别

MOV AX,[SI]

LEA AX,[SI]

解:这两条指令的区别是,指令“MOV AX,[SI]”是将内存单元DS:[SI]中的内容读到CPU中的寄存器AX;而指令“LEA AX,[SI]”是将内存单元DS:[SI]的偏移地址送到AX。

4.5 假定(EAX)=12345678H,不用计算,写出下面每条指令执行后(EAX)=?

①TEST EAX,1

②XOR EAX,EAX

③SUB EAX,EAX

④CMP EAX,87654321H

解:①(EAX)=12345678H ②0 ③0 ④(AX)=12345678H

4.6 假定(AX)=1234H,(BX)=5678H指出下列指令中

①哪些指令执行后,源操作数和目的操作数都不发生变化?

②哪些指令执行后,源操作数和目的操作数都发生变化?

③哪些指令执行后, 源操作数不发生变化而目的操作数发生变化?

指令:

①TEST AX,1234

②AND AX,BX

③SUB AX,1234H

④CMP AX,1234H

⑤XCHG AX,BX

解:

①指令“TEST AX,1234”和指令“CMP AX,1234H”执行后,源操作数和目的操作数都不发生变化。

② 指令“XCHG AX,BX ”执行后,源操作数和目

的操作数都发生变化。

③ 指令“AND AX,BX ”和“SUB AX,1234H ”执

行后, 源操作数不发生变化而目的操作数发生变化。

4.74.7 阅读下面的程序,回答问题

1.【程序一】

DA TA SEGMENT BUF DB '1234' N=$-BUF BCD DB N DUP(?) DA TA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DA TA START :MOV AX,DA TA

MOV DS,AX LEA SI,BUF MOV CX,N

LEA DI,BCD+N-1

LOOP1:MOV AL,[SI]

SUB AL,30H MOV [DI],AL INC SI DEC DI DEC CX JNE LOOP1 MOV AH,4CH INT 21H CODE ENDS END START

【问题一】画出内存分配图。

【问题二】说明程序功能,程序执行后,从BCD 开始的N 个字节单元中的内容是什么? 【问题三】找出一条指令代替指令“SUB AL,30H ”,使程序功能不变。

【问题四】如果将代码段中的指令LEA DI,BCD+N-1改成LEA DI,BCD ;DEC DI 改成INC DI ,其它指令不变,程序执行后,从BCD 开始的N 个字节单元中的内容是什么?

【问题五】取消数据段的BCD 存储区,将处理后的数据放回原处,应如何修改程序? 2.【程序二】 .MODEL SMALL .386 .STACK .DATA

STRING DB 'Assemble Language is powerful' N=$-STRING

NEWSTR DB N DUP(0) .CODE

变量 值 EA BUF →

0 1 2 3

BCD → 4 5 6 7

.STARTUP

MOV CX,N

LEA SI,STRING

LEA DI,NEWSTR

.REPEAT

MOV AL,[SI]

.IF (AL >= 'a') && (AL <= 'z')

SUB AL,32

.ENDIF

MOV [DI],AL

INC SI

INC DI

.UNTILCXZ

.EXIT

END

【问题】写出程序功能,程序执行后,从NEWSTR开始的N个字节中的内容是什么?解:

1.【程序一】

【问题一】内存分配图

【问题二】

程序功能是将从BUF开始的连续4个字符'1234'转变为4个对应的数值,按逆序存放到以变量BCD为首地址的存储单元中。程序执行后,从BCD开始的N 个字节单元中的内容是4 3 2 1。

【问题三】

用指令“AND AL,0FH”代替指令“SUB AL,30H”,程序功能不变。

【问题四】如果将代码段中的指令LEA DI,BCD+N-1改成LEA DI,BCD;DEC DI改成INC DI,其它指令不变,程序执行后,从BCD开始的N个字节单元中的内容是1 2 3 4。

【问题五】取消数据段的BCD存储区,将经处理后的数据放回原处,修改程序如下

DA TA SEGMENT

BUF DB '1234'

N=$-BUF

DA TA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DA TA

START:MOV AX,DA TA

MOV DS,AX

LEA SI,BUF

MOV CX,N

LOOP1:MOV AL,[SI] 变量值EA BUF

1

2

3 BCD

4

5

6

7 变量EA BUF

1

2

3 BCD

4

5

6

7

SUB AL,30H MOV [SI],AL INC SI DEC CX JNE LOOP1 MOV AH,4CH INT 21H

CODE ENDS END START 2.【程序二】

程序功能是将从STRING 开始的N 个字节中的字符串变成大写存放到从NEWSTR 开始的N 个字节中。程序执行后,从NEWSTR 开始的N 个字节中的内容是"ASSEMBLE LANGUAGE IS POWERFUL"。 4.8 阅读下面的程序,填空。 1.【程序一说明】用减法实现除法。X 是被除数,Y 是除数,处理结束后商存放在RESULT ,余数存放在XYMOD 。 【程序一】

.MODEL SMALL

.386

.STACK

.DATA

X DW 7

Y DW 2

.DATA?

RESULT DW ? XYMOD DW ? .CODE

.STARTUP MOV AX,X MOV BX,Y MOV CX,0

.WHILE _____①____

SUB AX,BX _____②_____

.ENDW

MOV RESULT,CX MOV XYMOD,AX .EXIT END 2.【程序二说明】从BUF 开始的11个单元中存放着11个整数,找出这11个数中正数并且是偶数的个数存入R 中。

【程序二】

DA TA SEGMENT

被除数 除数 商 7 2 0 5 2 1 3 2 2 余数→ 1 2 3 ←商 图4-15 用减法实现除法示意图

BUF DB –2,5,-3,6,100,0,-20,-9,8,-110,21

N= ①

R DW ?

DA TA ENDS

CODE SEGMENT

BEGIN:MOV AX,DATA

LEA BX,BUF

MOV CX,N

LOPA:CMP [BX],BYTE PTR 0

TEST [BX],BYTE PTR 1

INC AX

NEXT :INC BX

DEC CX

MOV R,AX

MOV AH,4CH

INT 21H

CODE ENDS

END ⑧

解:

1.【程序一】①AX>=BX ②INC CX

2.【程序二】

①$-BUF

②ASSUME CS:CODE,DS:DA TA

③MOV DS,AX

④MOV AX,0

⑤JLE NEXT

⑥JNZ NEXT

⑦JNZ LOPA

⑧BEGIN

3.【程序三】①DX ②SAR CL,1

4.9 编程题(用完整段模式和简化段模式分别实现)

1.【程序说明】

编写一个在某项比赛中计算每一位选手最终得分的程序。计分方法如下:

①10名评委,在0~10的整数范围内给选手打分。

②10个得分中,除去一个最高分(如有同样两个以上最高分也只除一个),除去一个最低分(如有同样两个以上最低分也只除一个),剩下的8个得分取平均值为该选手的最终得分。

2.【程序说明】设有一个数组存放学生的成绩(0~100),编程统计0~59、60~69、70~79、80~89、90~100分的人数,并分别存放到SCOREE、SCORED、SCOREC、SCOREB、SCOREA 单元中。

解:

1.【程序】(完整段模式)

DATA SEGMENT

SCORE DB 7,8,9,8,10,10,9,8,7,10

N=$-SCORE

AVERAGE DB ?

MAX DB ?

MIN DB ?

DATA ENDS

CODE SEGMENT 'CODE'

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV DL,SCORE

MOV MAX,DL

MOV MIN,DL

MOV CX,N-1

MOV BX,1

CYCLE: MOV AL,SCORE[BX]

ADD DL,AL

CMP AL,MAX

JLE CMPMIN

MOV MAX,AL

CMPMIN: CMP AL,MIN

JGE NEXT

MOV MIN,AL

NEXT: INC BX

LOOP CYCLE

SUB DL,MAX

SUB DL,MIN

MOV CL,3

SAR DL,CL

MOV AVERAGE,DL

MOV AH,4CH

INT 21H

CODE ENDS

END START

1.【程序】(简化段模式)

.MODEL SMALL

.386

.STACK

.DATA

SCORE DB 7,8,9,8,10,10,9,8,7,10

N=$-SCORE

.DATA?

AVERAGE DB ?

MAX DB ?

MIN DB ?

.CODE

.STARTUP

MOV DL,SCORE

MOV MAX,DL

MOV MIN,DL

MOV CX,N-1

MOV BX,1

.WHILE CX

MOV AL,SCORE[BX]

ADD DL,AL

.IF AL > MAX

MOV MAX,AL

.ENDIF

.IF AL < MIN

MOV MIN,AL

.ENDIF

INC BX

DEC CX

.ENDW

SUB DL,MAX

SUB DL,MIN

SAR DL,3

MOV AVERAGE,DL

.EXIT

END

2.【程序】(完整段模式)

DATA SEGMENT

SCORE DB 90,23,56,67,98,78,10,45,87,100 N=$-SCORE

SCOREF DB 0

SCOREE DB 0

SCORED DB 0

SCOREC DB 0

SCOREB DB 0

SCOREA DB 0

CODE SEGMENT 'CODE'

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

LEA SI,SCORE

MOV CX,N

MOV DL,10

CLASS: MOV AH,0

MOV AL,[SI]

DIV DL

SUB AL,5

JG GREAT

INC BYTE PTR SCOREF

JMP NEXT

GREAT: MOV AH,0

MOV BX,AX

INC BYTE PTR SCOREF[BX] NEXT: INC SI

LOOP CLASS

MOV AH,4CH

INT 21H

CODE ENDS

END START

2.【程序】(简化段模式)

.MODEL SMALL

.386

.STACK

.DATA

SCORE DB 90,23,56,67,98,78,10,45,87,100 N=$-SCORE

.DATA?

SCOREF DB 0

SCOREE DB 0

SCORED DB 0

SCOREC DB 0

SCOREB DB 0

SCOREA DB 0

.CODE

.STARTUP

LEA SI,SCORE

MOV CX,N

MOV DL,10

MOV AH,0

MOV AL,[SI]

DIV DL

SUB AL,5

.IF(AL<=0)

INC BYTE PTR SCOREF

.ELSE

MOV AH,0

MOV BX,AX

INC BYTE PTR SCOREF[BX]

.ENDIF

INC SI

.UNTILCXZ

.EXIT

END

END

习题 5 部分答案

5.4 已知某RAM芯片的存储容量为16KB,ROM芯片的存储容量为4K×8位,问每种存储芯片的地址线和数据线分别为多少?

解:RAM芯片:地址线14根,数据线8根

ROM芯片:地址线12根,数据线8根

5.5 分别用8KB和16K×8位的RAM芯片构成48KB的存储器,各需要多少片?

解:8KB芯片:6片

、16K×8位芯片:3片

5.8 已知Intel 6264 RAM芯片的存储容量为8KB,要求选用5片6264 RAM芯片接在系统中,地址范围从F0000H开始,选用74LS138三一八译码器及逻辑门电路,通过全译码方式译码产生片选,试设计出译码电路,并计算出每个片选的地址范围。

解:

5.9 选用1M ×4位DRAM 芯片构成32位机(设存储器数据总线为32位)的存储器,存储容量为16MB ,试问: (1)共计需要多少片?

(2)共计需要分几组?每组多少片? 解:

(1) 16MB/(1M ×4位)=32片

(2) 分为4组,每组8片

5.12 设CPU 执行一段程序时,访问Cache 次数Nc=2000,访问主存次数Nm=100,又假设访问Cache 存取周期为50ns ,访问主存存取周期为250ns ,试求命中率h 、平均访问时间t a 以及倍率r 。

解: ①求命中率h h=

M

C C N N N +=

100

20002000

+=95.23809%≈95%

②求平均访问时间t a

t a =ht c +(1-h)t m

=0.95×50ns+(1-0.95)×250ns =47.5ns+12.5ns =60ns

③求倍率r r=

c m t t =ns

ns 50250=5 5.15 32位存储器组织将内存分为4个存储体,地址总线32位,画出每个存储体的地址分配图。

解:在32位数据总线的微处理器中,直接输出A 31~A 230位地址,低2位A 1、A 0由内部编码产生4个字节选择信号3BE ~0BE ,以选择不同的字节。由4个字节选择信号把主存储器分为4个存储体,依次存放32位数据中的4个字节,每个体的8位数据依次并行连接到外部数据线D 31~D 0上,由3BE ~0BE 选中每个存储体,每个体的地址范围如下图所示。

习题 6 部分答案

6.5 根据图6-2,编写从端口0输出8位数据的简单程序。

解:MOV DX,3E0H

MOV AL,n ;n为8位二进制数

OUT DX,AL

6.10分别画出查询式输入与查询式输出的流程图。

解:①查询式输入程序的流程图如下:

②查询式输出程序的流程图如下:

6.14根据图6-10,模拟输入电压从CH7输入,采样200次,采集的数据存入数据段内200H 开始的存储空间,利用查询方式编写A/D转换程序段。

编程如下:

MOV SI,0200H;存放采集CH7数据的起始地址传给SI

MOV CX,00C8H;采集200次

ABC:MOV DX,300H;Y0通道地址给DX

MOV AL,07H

OUT DX,AL;启动信号为0,选CH7

MOV AL,0FH;启动信号为1,仍选通CH7

OUT DX,AL

MOV AL,07H

OUT DX,AL;启动A/D转换

MOV DX,301H;状态口地址给DX

XYZ:IN AL,DX

TEST AL,80H

JZ XYZ;如果EOC=0,转XYZ

MOV DX,302H;数据口地址给DX

IN AL、DX;读数据口

MOV[SI],AL;存入内存

INC SI

LOOP ABC

习题7 部分答案

7.12 某一8086CPU系统中,采用一片82C59A进行中断管理。设定82C59A工作在普通全嵌套方式,发送EOI命令结束中断,采用边沿触发方式请求中断,IR0对应的中断向量码为90H。另外,82C59A在系统中的I/O地址是300H(A0=0)和301H(A0=1)。请编写82C59A的初始化程序段。

解:对82C59A的初始化程序如下:

MOV AL,00010011B ;设置ICW1初始化命令字

MOV DX, 300H

OUT DX,AL ;将ICW1输出到偶地址端口

MOV AL,90H ;ICW2中断类型号基值

INC DX

OUT DX,AL ;将ICW2送入奇地址端口

MOV AL,00000011B ;ICW4

OUT DX,AL ;将ICW4送入奇地址瑞口

7.13下段程序用于读出82C59A中哪一个寄存器的内容?

MOV AL,0BH

OUT 20H,AL

NOP

IN AL,20H

解:OBH 即00001011B 写入20H 偶地址端口, 并且D4D3=01 是OCW3的标志位,D1Do=11即RR、RIS=11时,表示CPU的下一条IN指令要读取ISR寄存器的内容。

习题8习题解答

8.1 8255A的方式0一般使用在什么场合?在方式0时,如果要使用查询方式进行输入输出,应该如果处理?

解:方式0的使用场合有两种,一种是同步传送,另一种是查询式传送。在方式0情况下,没有规定固定的应答信号,所以,这时,将端口A和端口B作为数据端口,把端口C 的4个数位(高4位或者是低4位均可)规定为输出口,用来输出一些控制信号,而把端口C的另外4个数位规定为输入口,用来读入外设的状态,即利用端口C来配合端口A和端口B的输入/输出操作。使用查询方式进行输入输出时,可利用端口C的某一位作查询,只有当该位为1时,方可以将数据送到输入或输出端口去。

8.2设8255A的4个端口地址分别为0C0H、0C1H、0C2H和0C3H,要求用按位置位/复位控制字使PC6输出方波信号,试编程实现。

解:MOV DX,0C3H

MOV AL,80H

OUT DX,AL

L1:MOV AL,0CH

计算机网络第一章概述复习题(答案)

第一章概述习题集 一、选择题 1.随着微型计算机的广泛应用,大量的微型计算机是通过局域网连入广域网,而局域网域广域网的互连是通过____________ 实现的。 A. 通信子网 B. 路由器 C. 城域网 D. 电话交换网 2.网络是分布在不同地理位置的多个独立的_________ 的集合。 A. 局域网系统 B. 多协议路由器 C. 操作系统 D. 自治计算机 3. 计算机网络是计算机技术和__________ 技术的产物; A.通信技术 B.电子技术 C.工业技术 4. 计算机网络拓扑是通过网中节点与通信线路之间的几何关系表示网络结构,它反映出网络中各实体间的__________ 。 A. 结构关系 B. 主从关系 C. 接口关系 D. 层次关系 5.建设宽带网络的两个关键技术是骨干网技术和__________ 。 A. Internet 技术 B. 接入网技术 C. 局域网技术 D. 分组交换技术 1.B 2.D 3.A 4.A 5.B 二、选择 1.在OSI 参考模型中,在网络层之上的是________ 。 A. 物理层 B. 应用层 C. 数据链路层 D. 传输层 2.在OSI 参考模型,数据链路层的数据服务单元是_________ 。 A. 帧 B. 报文 C. 分组 D. 比特序列 3.在TCP/IP参考模型中,与OSI参考模型的网络层对应的是__________ A. 主机- 网络层 B. 互联网络层 C. 传输层 D. 应用层

4.在TCP/IP 协议中,UDP 协议是一种 ________ 协议。 A. 主机- 网络层 B. 互联网络层 C. 传输层 D. 应用层 1.1 答: 什么是计算机网络?计算机网络与分布式系统有什么区别和联系? 口 ? 计算机网络凡是地理上分散的多台独立自主的计算机遵循约定的通信协议 ,通过 软硬件设备互连 ,以实现交互通信 ,资源共享 ,信息交换 ,协同工作以及在线处理等功能的 系统. 计算机网络与分布式系统的区别主要表现在:分布式操作系统与网络操作系统的设 计思想是不同的,因此它们的结构、工作方式与功能也是不同的。 分布式系统与计算机网络的主要区别不在它们的物理结构上, 而是在高层软件上。 分布式系 统是一个建立在网络之上的软件系统, 这种软件保证了系统高度的一致性与透明性。 分布式 不同的,因此它们的结构、工作方式与功能也是不同的。 分布式系统与计算机网络的主要区别不在它们的物理结构上, 而是在高层软件上。 分布式系 统是一个建立在网络之上的软件系统, 这种软件保证了系统高度的一致性与透明性。 分布式 1.2 简述计算机网络的发展阶段? 答:答计算机网络的发展主要分为一下四个阶段 1 以单计算机为中心的联机系统 2 计算机 计算机网络 3 体系结构标准化网络 4 Internet 时代 1.3 计算机网络由哪几部分组成?各部分的功能是什么? 答:计算机网络系统是由计算机系统、 数据通信和网络系统软件组成的, 从硬件来看主要有 下列组成部分: (1)终端:用户进入网络所用的设备,如电传打字机、键盘显示器、计算机等。在局 域网中,终端一般由微机担任,叫工作站,用户通过工作站共享网上资源。 (2)主机:有于进行数据分析处理和网络控制的计算机系统,其中包括外部设备、操 作系统及其它软1.D 三、简答题 2.A 3.B 4.C 系统的用户不必关心网络环境中资源分布情况, 文 件管理过程是透明的。 计算机网络为分布式系统研究提供了技术基础, 阶 段。 计算机网络与分布式系统的区别主要表现在: 以及连网计算机的差异, 用户的作业管理与 而分布式系统是计算机网络技术发展的高级 分布式操作系统与网络操作系统的设计思想是 系统的用户不必关心网络环境中资源分布情况, 文 件管理过程是透明的。 计算机网络为分布式系统研究提供了技术基础, 阶 段。 以及连网计算机的差异, 用户的作业管理与 而分布式系统是计算机网络技术发展的高级

微型计算机技术及应用第四版课后题复习资料

第一章微型计算机概述 1.微处理器、微型计算机和微型计算机系统三者之间有什么不同? 答:①微处理器是微型计算机的核心,是微型计算机的一部分。它是集成在一块芯片上的CPU,由运算器和控制器组成。 ②微型计算机包括微处理器、存储器、I/O接口和系统总线,是微型计算机系统的主体。 ③微型计算机系统包括微型计算机、外设及系统软件三部分。 第二章 8086微处理器 1.总线接口部件有哪些功能?请逐一进行说明。 答:1.总线接口部件的功能是负责与存储器、I/O端口传送数据。 2.具体讲:①总线接口部件要从内存取指令送到指令队列; ② CPU执行指令时,总线接口部件要配合执行部件从指定的内存单元或者外设端口中取数据,将数据传送给执行部件,或者把执行部件的操作结果传送到指定的内存单元或外设端口中。 1.总线周期的含义是什么?8086/8088的基本总线周期由几个时钟组成?如一个CPU的时钟频率为24MHz,那么,它的一个时钟周期为多少?一个基本总线周期为多少?如主频为15MHz呢? 答:1.总线周期的含义是总线接口部件完成一个取指令或传送数据的完整操作所需的最少时钟周期数。 2.8086/8088的基本总线周期由4个时钟周期组成。 3.当主频为24MHz时,Tφ=1/24MHz≈41.7ns,T总=4Tφ≈167ns。 4.当主频为15MHz时,Tφ=1/15MHz≈66.7ns,T总=4Tφ≈267ns。 1.CPU启动时,有哪些特征?如何寻找8086/8088系统的启动程序? 答:1.CPU启动时,有以下特征: ①内部寄存器等置为初值; ②禁止中断(可屏蔽中断); ③从FFFF0H开始执行程序; ④三态总线处于高阻状态。 2.8086/8088系统的启动程序从FFFF0H单元开始的无条件转移指令转入执行。 1.在中断响应过程中,8086往8259A发的两个信号分别起什么作用?答:第一个负脉冲通知外部设备的接口,它发出的中断请求已经得到允许;外设接口收到第二个负脉冲后,往数据总线上放中断类型码,从而CPU得到了有关此中断请求的详尽信息。 1.非屏蔽中断有什么特点?可屏蔽中断有什么特点?分别用在什么场合? 答:1.非屏蔽中断的特点有:中断请求从NMI引腿进入,不受中断允许标志IF的影响。非屏蔽中断只有一个,其中断类型码为2。 2.可屏蔽中断的特点有:中断请求从INTR引腿进入,只有在IF=1时CPU才响应该中断。可屏蔽中断有若干个,其中断类型码可以是5~255。

第1章:微型计算机概述答案

《微型计算机技术及接口》部分习题参考答案 习题 1 部分答案 1.3 假设四种CPU主存地址分别为16根、20根、24根以及32根,试问每种CPU可寻址内存多少字节? 解:64K字节,1M字节,16M字节,4G字节 1.4 设字长为16位,将下列十进制数转换成二进制数,十六进制数以及BCD数。 ①65 ②129 ③257 ④513 解:①0000000001000001B,0041H,(0000000001100101)BCD ②0000000010000001B,0081H,(0000000100101001)BCD ③0000000100000001B,0101H,(0000001001010111)BCD ④0000001000000001B,0201H,(0000010100010011)BCD 1.5 设字长为8位,写出x、y的原码、反码和补码,并且用补码计算x+y,问是否有溢出? ①x=-78 y=35 ②x=-64 y=-66 解:①[X]原=11001110,[X]反=10110001,[X]补=10110010 [Y]原=00100011,[Y]反=00100011,[Y]补=00100011 因为:[X]补=10110010[Y]补=00100011 那末:[X]补+[Y]补=11010101=[X+Y]补X+Y=-00101011没有溢出 ②[X]原=11000000,[X]反=10111111,[X]补=11000000 [Y]原=11000010,[Y]反=10111101,[Y]补=10111110 因为:[X]补=11000000[Y]补=10111110 那末:[X]补+[Y]补,有溢出 1.6 试用8位二进制写出以下数、字母以及控制命令的ASCⅡ码,还要写成奇校验、偶校验、标记校验及空格校验的ASCⅡ码。 ①B ②8 ③CR ④NUL 1.7 设两个BCD数X=1000 1001,Y=0111 0101,试用列竖式的方法计算X+Y。

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