当前位置:文档之家› 微机原理与接口技术_答案_南京理工大学_林嵘

微机原理与接口技术_答案_南京理工大学_林嵘

微机原理与接口技术_答案_南京理工大学_林嵘
微机原理与接口技术_答案_南京理工大学_林嵘

2.8086/8088 CPU 由哪两部分组成?它们的主要功能各是什么?是如何协调工作的?

解答:

微处理器

(CPU)

总线接口部件(BIU):负责与存储器、I/O端口传送数据

执行部件(EU):负责指令的执行

协调工作过程:

总线接口部件和执行部件并不是同步工作的,它们按以下流水线技术原则来协调管理:

①每当8086 的指令队列中有两个空字节,或者8088 的指令队列中有一个空字节时,

总线接口部件就会自动把指令取到指令队列中。

②每当执行部件准备执行一条指令时,它会从总线接口部件的指令队列前部取出指令

的代码,然后用几个时钟周期去执行指令。在执行指令的过程中,如果必须访问存储器或者输入/输出设备,那么,执行部件就会请求总线接口部件进入总线周期,完成访问内存或者输入/输出端口的操作;如果此时总线接口部件正好处于空闲状态,那么,会立即响应执行部件的总线请求。但有时会遇到这样的情况,执行部件请求总线接口部件访问总线时,总线接口部件正在将某个指令字节取到指令队列中,此时总线接口部件将首先完成这个取指令的操作,然后再去响应执行部件发出的访问总线的请求。

③当指令队列已满,而且执行部件又没有总线访问请求时,总线接口部件便进入空闲

状态。④在执行转移指令、调用指令和返回指令时,由于程序执行的顺序发生了改变,不再

是顺序执行下面一条指令,这时,指令队列中已经按顺序装入的字节就没用了。遇到这种情况,指令队列中的原有内容将被自动消除,总线接口部件会按转移位置往指令队列装入另一个程序段中的指令。

4.8086/8088 系统中存储器的逻辑地址和物理地址之间有什么关系?表示的范围各为多少?

解答:

逻辑地址:段地址:偏移地址

物理地址:也称为绝对地址,由段基址和偏移量两部分构成。物理地址与系统中的存储

空间是一一对应的。

逻辑地址与物理地址两者之间的关系为:物理地址=段地址×16+偏移地址

每个逻辑段的地址范围:0000:0000H~FFFFH;0001:0000H~FFFFH;…;FFFF:0000H~FFFFH;共有232个地址,但其中有许多地址是重叠的(体现出逻辑地址的优势,可根据需要方便地写出逻辑地址,又不影响其准确的物理地址,逻辑地址与物理地址的关系为多对一的关系)。物理地址的地址范围:00000H~FFFFFH。

5.已知当前数据段位于存储器的A1000H 到B0FFFH 范围内,问DS=?

解答:

A1000H→A100:0000 以A100H 为段地址的64K 物理地址的范围是:偏移地址为

0000H~FFFFH,即A100:0000H~A100:FFFFH→A1000H+0000H~A1000H+0FFFFH =A1000H~B0FFFH,∴DS=A100H。

6.某程序数据段中存有两个字数据1234H 和5A6BH,若已知DS=5AA0H,它们的偏移地址分别为245AH 和3245H,试画出它们在存储器中的存放情况

解答:

存放情况如图所示(左右两侧的写法均可):

5AA0:0000H

5AA0:245AH

5AA0:245BH

5AA0:3245H

5AA0:3246H

······

···

34H

12H

6BH

5AH

5AA00H

5CE5AH

5CE5BH

5DC45H

5DC46H

···

···

···

7.8086/8088CPU 有哪两种工作模式,它们各有什么特点?

解答:为了适应各种不同的应用场合,8086/8088CPU 芯片可工作在两种不同的工作模式下,

即最小模式与最大模式。

所谓最小模式,就是系统中只有一个8086/8088 微处理器,在这种情况下,所有的总

线控制信号,都是直接由这片8086/8088CPU 产生的,系统中的总线控制逻辑电路被减到最

少。该模式适用于规模较小的微机应用系统。

最大模式是相对于最小模式而言的,最大模式用在中、大规模的微机应用系统中。在最

大模式下,系统中至少包含两个微处理器,其中一个为主处理器,即8086/8088CPU,其它的微处理器称之为协处理器,它们是协助主处理器工作的。

8.若8086CPU 工作于最小模式,试指出当CPU 完成将AH 的内容送到物理地址为9100 1H

的存储单元操作时,以下哪些信号应为低电平:M/ IO、RD 、WR 、BHE /S7、DT/ R 。若CPU 完成的是将物理地址91000H 单元的内容送到AL 中,则上述哪些信号应为低电平。若CPU 为8088 呢?

解答:8086CPU

①存储器写(AH→9100H[0001H])时为低电平的信号:WR、7 /S BHE 。

②存储器读(9100H[0000H]→AL)时为低电平的信号:RD 、R / DT 。

8088CPU

①存储器写(AH→9100H[0001H])时为低电平的信号:WR、) /S BHE ( SS 7 0 、M/ IO。

②存储器读(9100H[0000H]→AL)时为低电平的信号:M/ IO、RD 、R / DT 。

11.试说明8086/8088 工作在最大和最小模式下系统基本配置的差异。8086/8088 微机

系统中为什么一定要有地址锁存器?需要锁存哪些信息?解答:最大模式配置和最小模式配置有一个主要的差别:①就是在最大模式下,需要用外加

电路来对CPU 发出的控制信号进行变换和组合,以得到对存储器和I/O 端口的读/写信号及

对锁存器(8282)和对总线收发器(8286)等等的控制信号。8288 总线控制器就是完成上面这些功能的专用芯片。②为多中断源的需要,常采用中断优先权控制电路(如Intel8259 A)。

8086/8088 系统一定要有地址锁存器――因为高四位地址和状态信号是从同一组引脚上

分时送出的,低16 位地址和数据是从同一组引脚上分时传输的,所以必须把地址信息锁存起来。

需要锁存的信息:地址信号、7 /S BHE 和M IO/ (8086 为IO M/ )信号进行锁存。12.试简述8086/8088 微机系统最小模式下从存器储读数据时的时序过程。

解答:正常的存储器读总线操作占用4 个时钟周期,通常将它们称为4 个T状态即T1~

T4。

①T1状态,IO/M=0,指出要访问存储器。送地址信号A19-0,地址锁存信号ALE有效,用来控制8282 锁存地址。DT/ R =0,控制8286/8287 工作在接收状态(读)。

②T2状态,A19~A16送状态S6 ~S3,AD7 ~AD0浮空,准备接收数据。同时,RD =0,表

示要进行读操作,而DEN =0 作为8286/8287 的选通信号,允许进行数据传输。

③T3状态,从指定的存储单元将数据读出送AD7 ~AD0。若存储器速度较慢,不能及时读出数据的话,则通过READY引脚通知CPU,CPU在T3的前沿采样READY,如果READY=0,则在T3结束后自动插入1 个或几个等待状态TW,并在每个TW的前沿检

测READY,等到READY变高后,就自动脱离TW进入T4。

④T4状态,CPU采样数据线,获得数据。RD 、DEN 等信号失效。

CH02 8086/8088 指令系统

习题与思考题

1.假定DS=2000H,ES=2100H,SS=1500H,SI=00A0H,BX=0100H,BP=0010H,数据变

量VAL 的偏移地址为0050H,请指出下列指令源操作数是什么寻址方式?源操作数在哪里?如在存储器中请写出其物理地址是多少?

(1)MOV AX,0ABH (2)MOV AX,[100H]

(3)MOV AX,VAL (4)MOV BX,[SI]

(5)MOV AL,VAL[BX] (6)MOV CL,[BX][SI]

(7)MOV VAL[SI],BX (8)MOV [BP][SI],100

解答:

(1)MOV AX,0ABH

寻址方式:立即寻址;源操作数在数据线上;物理地址:无

(2)MOV AX,[100H]

寻址方式:直接寻址;源操作数在存储器中;物理地址:DS*16+100H=

2000H*16+100H=20100H

(3)MOV AX,VAL

寻址方式:直接寻址;源操作数在存储器中;物理地址:DS*16+VAL=

2000H*16+0050H=20050H

(4)MOV BX,[SI]

寻址方式:寄存器间接寻址;源操作数在存储器中;物理地址:DS*16+SI=

2000H*16+00A0H=200A0H

(5)MOV AL,VAL[BX]

寻址方式:变址寻址;源操作数在存储器中;物理地址:DS*16+VAL+BX=

2000H*16+0050H+0100

=20150H

(6)MOV CL,[BX][SI]

寻址方式:基址加变址寻址;源操作数在存储器中;物理地址:DS*16+BX+SI=

2000H*16+0100H+00A0H

=201A0H

(7)MOV VAL[SI],BX

寻址方式:寄存器寻址;源操作数在寄存器中;物理地址:无

(8)MOV [BP][SI],100

寻址方式:立即寻址;源操作数在;物理地址:无

2.设有关寄存器及存储单元的内容如下:DS=2000H ,BX=0100H ,AX=1200H ,SI=0002H ,[20100H]=12H ,[20101H]=34H ,

[20102H]=56H ,[20103]=78H ,[21200]=2AH ,[21201H]=4CH ,[21202H]=0B 7H ,

[21203H]=65H。

试说明下列各条指令单独执行后相关寄存器或存储单元的内容。

(1)MOV AX,1800H (2)MOV AX,BX

(3)MOV BX,[1200H] (4)MOV DX,1100[BX]

(5)MOV [BX][SI],AL (6)MOV AX,1100[BX][SI]

解答:

题号指令执行结果

(1)MOV AX,1800H AX=1800H

(2)MOV AX,BX AX=0100H

(3)MOV BX,[1200H] BX=4C2AH

(4)MOV DX,1100[BX] DX=4C2AH

(5)MOV [BX][SI],AL [20102H]=00H

(6)MOV AX,1100[BX][SI] AX=65B7H

3.假定BX=0E3H,变量VALUE=79H,确定下列指令执行后的结果(操作数均为无符号数。对3、6,写出相应标志位的状态)。

(1)ADD VALUE,BX (2)AND BX,VALUE

(3)CMP BX,VALUE (4)XOR BX,0FFH

(5)DEC BX (6)TEST BX,01H

解答:

题号指令执行结果

(1)ADD VALUE,BX BX=015CH

(2)AND BX,VALUE BX=0061H

(3)CMP BX,VALUE BX=00E3H(CF=ZF=OF=SF=0,AF=PF=1)

(4)XOR BX,0FFH BX=001CH

(5)DEC BX BX=00E2H

(6)TEST BX,01H BX=00E3H(CF=ZF=OF=SF=AF=PF=0)

6.写出实现下列计算的指令序列。(假定X、Y、Z、W、R 都为字变量)

(1)Z=W+(Z+X)(2)Z=W-(X+6)-(R+9)

(3)Z=(W*X)/(R+6)(4)Z=((W-X)/5*Y)*2

解答:(1)Z=W+(Z+X)

题号指令题号指令

(1)Z=W+(Z+X)(2)Z=W-(X+6)-(R+9)

MOV AX,Z MOV DX,R

MOV BX,X ADD DX,9

MOV CX,W MOV BX,X

ADD BX ADD BX,6

ADC CX MOV AX,W

MOV Z,AX SUB AX,BX

SUB AX,DX

MOV Z,AX

(3)Z=(W*X)/(R+6)(4)Z=((W-X)/5*Y)*2

MOV DX,0 MOV AX,W

MOV AX,W MOV BX,X

MOV BX,X SUB AX,BX

MUL BX MOV DX,0

PUSH AX MOV CL,5

MOV AX,R DIV CL

ADD AX,6 MOV BX,Y

MOV CX,AX MUL BX

POP AX MOV CL,2

DIV CX MUL CL

MOV Z,AX MOV Z,AX

MOV Z+1,DX MOV Z+1,DX

7.假定DX=1100100110111001B,CL=3,CF=1,试确定下列各条指令单独执行后DX 的值。

(1)SHR DX,1 (2)SHL DL,1

(3)SAL DH,1 (4)SAR DX,CL

(5)ROR DX,CL (6)ROL DL,CL

(7)RCR DL,1 (8)RCL DX,CL

解答:

题号指令执行结果

(1)SHR DX,1 DX=0110 0100 1101 1100(64DCH) (2)SHL DL,1 DX=1100 10 01 0111 0010(C972H)

(3)SAL DH,1 DX=1001 0010 1011 1001(92B9H)

(4)SAR DX,CL DX=1111 1001 0011 0111(F937H)

(5)ROR DX,CL DX=0011 1001 0011 0111(3937H)

(6)ROL DL,CL DX=1100 1001 1100 1101(C9CDH)

(7)RCR DL,1 DX=1100 1001 1101 1100(C9DCH)

(8)RCL DX,CL DX=0100 1101 1100 1011(4DCFH)

8.已知DX=1234H,AX=5678H,试分析下列程序执行后DX、AX 的值各是什么?该程序

完成了什么功能?

MOV CL,4

SHL DX,CL

MOV BL,AH

SHL BL,CL

SHR BL,CL

OR DL,BL

解答:DX=2345H,AX=6780H。该程序完成的功能如图所示,将DX,AX拼装成双字后,左移四位。

DX

DX

AX

1 2 3 4

5 6 7 8

DX

AX

2 3 4 0

6 7 8 0

2 3 4 5 6 7 8 0

AX

9.试分析下列程序段:

ADD AX,BX

JNC L2

SUB AX,BX

JNC L3

JMP SHORTL5

如果AX、BX 的内容给定如下:

AX BX

(1)14C6H 80DCH

(2)B568H 54B7H

问该程序在上述情况下执行后,程序转向何处?

解答:(1)AX=AX+BX=14C6H+80DCH=95A2H;CF=0;无进位,转移至L2;

(2)AX=AX+BX=B568H+54B7H=0A1FH;CF=1;有进位,继续执行;

AX=AX-BX=0A1FH+54B7H=B568H;CF=1;有借位,继续执行;

无条件转移至SHORTL5

10.编写一段程序,比较两个5 字节的字符串OLDS 和NEWS,如果OLDS 字符串不同于NEWS 字符串,则执行NEW_LESS,否则顺序执行。解答:编程如下,(说明:左测程序为常规编法,两个字符串在一个数据段中;右测的程序

要求OLDS在数据段中,NEWS在附加段中,利用串操作的指令是可行的)

LEA SI,OLDS;LEA SI,OLDS

LEA DI,NEWS;LEA DI,NEWS

MOV CX,5;MOV CX,5

NEXT:MOV AL,[SI];CLD

MOV BL,[DI];REPE CMPSB

CMP AL,BL;JNZ NEW_LESS

JNZ NEW_LESS;……

INC SI;JMP EXIT

INC DI;NEW_LESS:

LOOP NEXT;……

…… EXIT:……

JMP EXIT

NEW_LESS:

……

EXIT:……

11.若在数据段中从字节变量TABLE 相应的单元开始存放了0~15 的平方值,试写出包含有XLAT 指令的指令序列查找N(0~15)的平方。(设N 的值存放在CL 中)

解答:

MOV BX,OFFSET TABLE;LEA BX,TABLE

MOV CL,N

MOV AL,CL

XLAT

12.有两个双字数据串分别存放在ASC1 和ASC2 中(低字放低地址),求它们的差,结果

放在ASC3 中(低字放低地址)。

ASC1 DW 578,400

ASC2 DW 694,12

ASC3 DW ?,?

解答:编程如下,

LEA SI,ASC1

LEA DI,ASC2

LEA BX,ASC3

MOV CX,2

CLC

NEXT:MOV AX,[SI]

MOV DX,[DI]

SBB AX,DX

MOV [BX],AX

INC SI

INC SI

INC DI

INC DI INC BX

INC BX

LOOP NEXT

CH03 汇编语言程序设计

习题与思考题

1.下列语句在存储器中分别为变量分配多少字节空间?并画出存储空间的分配图。

VAR1 DB 10,2

VAR2 DW 5 DUP(?),0

VAR3 DB …HOW ARE YOU??,3 DUP(1,2)

VAR4 DD -1,1,0

解答:字节空间----VAR1:2;VAR2:12;VAR3:20;VAR4:12。

存储空间的分配图:

DS:0000 0A 02 00 00 00 00 00 00—00 00 00 00 00 00 48 4F

0010 57 20 20 41 52 45 20 20—59 4F 55 3F 01 02 01 02

0020 01 02 FF FF FF FF 01 00—00 00 00 00 00 00

2.假定VAR1 和VAR2 为字变量,LAB 为标号,试指出下列指令的错误之处。(1)ADD VAR1,VAR2 (2)SUB AL,VAR1

(3)JMP LAB[CX] (4)JNZ VAR1

(5)MOV [1000H],100 (6)SHL AL,4

解答:(1)两个操作数中至少有一个为寄存器;

(2)AL 为字节,VAR1 为字变量,不匹配;

(3)[]中不能用CX,LAB 为标号,非变量;

(4)转向地址应为标号,不能是变量;

(5)目的操作数的类型不确定;

(6)SHL 指令中,当所移位数超过1 时,必须用CL 或CX 来取代所移位数。3.对于下面的符号定义,指出下列指令的错误。

A1 DB ?

A2 DB 10

K1 EQU 1024

(1)MOV K1,AX (2)MOV A1,AX

(3)CMP A1,A2 (4)K1 EQU 2048

解答:(1)K1 为常量,不能用MOV 指令赋值;

(2)A1 为字节,AX 为字变量,不匹配;

(3)A1 未定义,无法做比较指令;

(4)K1 重新赋值前,必须用PURGE 释放。

4.数据定义语句如下所示:

FIRST DB 90H,5FH,6EH,69H

SECOND DB 5 DUP(?)

THIRD DB 5 DUP(?)

自FIRST 单元开始存放的是一个四字节的十六进制数(低位字节在前),要求:

编一段程序将这个数左移两位后存放到自SECOND 开始的单元,右移两位后存放到自THIRD 开始的单元。(注意保留移出部分) 解答:

DATA SEGMENT

FIRST DB 90H,5FH,6EH,69H

SECOND DB 5 DUP(?)

THIRD DB 5 DUP(?)

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START:MOV AX,DATA

MOV DS,AX

LEA SI,FIRST

LEA DI,SECOND

MOV CX,2

CLC

;左移2 位

MOV AX,[SI];AX=5F90H 为低十六位数据

INC SI

INC SI

MOV DX,[SI];DX=696EH 为高十六位数据

PUSH DX;保存原有的高十六位数据

PUSH AX;保存原有的低十六位数据

ROL DX,CL;将高位数据不带进位循环左移两位,即高2 位数据在DL 的低2 位AND DL,03H;让DL 中仅保存移出的高2 位数据

MOV [DI+4] ,DL;将移出的高2 位数据放入SECOND 中的最高单元中

ROL AX,CL;将低位数据不带进位循环左移两位,即AX 的高2 位在AL 的低2 位AND AL,03H;让AL 中仅保存移出的AX 高2 位数据

MOV BL ,AL;将AL 中的数据放入BL 中保存

POP AX;弹出原有的低十六位数据

POP DX;弹出原有的高十六位数据

SHL DX,CL;将高位数据算术逻辑左移2 位

SHL AX,CL;将低位数据算术逻辑左移2 位

OR DL,BL;将AX 中移出的高2 位数据放入DX 的低2 位

MOV [DI] ,AX

MOV [DI+2] ,DX

;右移2 位

LEA SI,FIRST

LEA DI,THIRD

MOV CX,2

CLC

MOV AX,[SI];AX=5F90H 为低十六位数据

INC SI

INC SI

MOV DX,[SI];DX=696EH 为高十六位数据

PUSH DX;保存原有的高十六位数据PUSH AX;保存原有的低十六位数据

ROR AX,CL;将低位数据不带进位循环右移两位,即低2 位数据在AH 的高2 位AND AH,0C0H;让AH 中仅保存移出的低2 位数据

PUSH CX

MOV CX,6

SHR AH,CL

POP CX

MOV [DI] ,AH;将移出的低2 位数据放入THIRD 中的最低单元中

ROR DX,CL;将低位数据不带进位循环左移两位,即AX 的高2 位在AL 的低2 位AND DH,0C0H;让DH 中仅保存移出的DX 低2 位数据

MOV BL ,DH;将DH 中的数据放入BL 中保存

POP AX;弹出原有的低十六位数据

POP DX;弹出原有的高十六位数据

SHR DX,CL;将高位数据算术逻辑左移2 位

SHR AX,CL;将低位数据算术逻辑左移2 位

OR AH,BL;将DX 中移出的低2 位数据放入AX 的高2 位

MOV [DI+1] ,AX

MOV [DI+3] ,DX

MOV AH,4CH

INT 21H

CODE ENDS

END START

5.(14)在当前数据区从400H 开始的256 个单元中存放着一组数据,试编程序将它们顺序

搬移到从A000H 开始的顺序256 个单元中。

解答:

DATA SEGMENT

ORG 400H

DAT1 DB ...;256 DUP (?)

ORG 0A000H

DAT2 DB ...;256 DUP (?)

DATA ENDS

;

STACK SEGMENT

STACK ENDS

;

CODE SEGMENT

ASSUME DS:DATA,CS:CODE,SS:STACK,ES:DATA

START: MOV AX,DATA

MOV DS,AX

;CH3-14

LEA SI,DAT1 LEA DI,DAT2

MOV CX,128

AGAIN: MOV AL,[SI]

MOV [DI],AL

INC SI

INC DI

LOOP AGAIN

;CH3-15,将两个数据块逐个单元进行比较,若有错BL=00H,否则BL=FFH

LEA SI,DAT1

LEA DI,DAT2

MOV CX,128

NEXT: MOV AL,[SI]

MOV BL,[DI]

CMP AL,BL

JNZ ERROR

INC SI

INC DI

LOOP NEXT

MOV BL,0FFH

JMP EXIT

ERROR: MOV BL,00H

EXIT: MOV AX,4C00H

INT 21H

CODE ENDS

END START

6.试编程序将当前数据区从BUFF 开始的4K 个单元中均写入55H,并逐个单元读出比较,

看写入的与读出的是否一致。若全对,则将ERR 单元置0H;如果有错,则将ERR 单元

置FFH。

解答:

DATA SEGMENT

BUFF DB 1000H DUP(?)

ERR DB ?

DATA ENDS

;

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

;将55H 依次放入BUFF 开始的4K 个单元

LEA SI,BUFF

MOV CX,1000H MOV AL,55H

NTXT: MOV [SI],AL

INC SI

LOOP NEXT

;取出与55H 比较,全对则ERR=0,否则ERR=FFH

LEA DI,BUFF

LEA SI,ERR

MOV CX,1000H

NEXT1: MOV AL,[DI]

INC DI

CMP AL,55H

JNZ ERROR;若有一个不同,即置ERR=FFH

LOOP NEXT1

MOV AL,00H

MOV [SI],AL;全比较完无错,则置ERR=0

JMP EXIT

ERROR: MOV AL,0FFH

MOV [SI],AL

;返回DOS

EXIT: MOV AH,4CH

INT 21H

CODE ENDS

END START

END

7.在上题中,如果发现有错时,要求在ERR 单元中存放出错的数据个数,则程序该如何修

改?

解答:

DATA SEGMENT

BUFF DB 1000H DUP(?)

ERR DW ?

DATA ENDS

;

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

;将55H 依次放入BUFF 开始的4K 个单元

LEA SI,BUFF

MOV CX,1000H

MOV AL,55H

NTXT: MOV [SI],AL

INC SI

LOOP NEXT

;取出与55H 比较LEA DI,BUFF

LEA SI,ERR

MOV DX,0000H

MOV CX,1000H

NEXT1: MOV AL,[DI]

INC DI

CMP AL,55H

JZ NEXT2;若相同,则比较下一个

INC DX;否则将放出错个数的DX 加1

NEXT2:LOOP NEXT1

MOV [SI],DX

;

EXIT: MOV AH,4CH

INT 21H

CODE ENDS

END START

END

8.试编写程序段,完成将数据区从0100H 开始的一串字节数据逐个从F0H 端口输出,已

数据串以0AH 为结束符。

解答:

DATA SEGMENT

ORG 0100H

DATA1 DB N DUP(?)

DATA ENDS

;

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

;将DATA1 数据串中的数据取出并从F0H 端口中输出

LEA SI,DATA1

MOV CX,N

MOV BL,0AH

NTXT: MOV AL,[SI]

CMP AL,BL

JZ EXIT

OUT 0F0H,AL

INC SI

LOOP NEXT

;返回DOS

EXIT: MOV AH,4CH

INT 21H

CODE ENDS END START

END

9.(24)内存中以FIRST 和SECOND 开始的单元中分别存放着两个4 位用压缩BCD 码表示

的十进制数, 低位在前。编程序求这两个数的和,仍用压缩BCD 码表示, 并存到以THIRD 开始的单元。

解答:

DATA SEGMENT

FIRST DW 3412H

SECOND DW 7856H

THIRD DB ?,?,?

DATA ENDS

;

STACK SEGMENT

STACK ENDS

;

CODE SEGMENT

ASSUME DS:DATA,CS:CODE,SS:STACK,ES:DATA

START: MOV AX,DATA

MOV DS,AX

LEA SI,FIRST

LEA DI,SECOND

LEA BX,THIRD

MOV CX,2

CLC

AGAIN: MOV AL,BYTE PTR[SI]

MOV DL,BYTE PTR[DI]

ADC AL,DL

DAA

MOV BYTE PTR[BX],AL

INC SI

INC DI

INC BX

LOOP AGAIN

JC AA

MOV BYTE PTR[BX],0

JMP EXIT

AA: MOV BYTE PTR[BX],1

EXIT: MOV AX,4C00H

INT 21H

CODE ENDS

END START

10.(27)设字变量单元A、B、C 存放有三个数,若三个数都不为零,则求三个数的和,存放在D 中;若有一个为零,则将其余两个也清零,试编写程序。

解答:

DATA SEGMENT

A D

B ?

B DB ?

C DB ?

D DW ?

DATA ENDS

;

STACK SEGMENT

STACK ENDS

;

CODE SEGMENT

ASSUME DS:DATA,CS:CODE,SS:STACK,ES:DATA

START: MOV AX,DATA

MOV DS,AX

LEA SI,A

LEA DI,D

MOV AL,[SI]

CMP AL,00

JZ ZERO

ADC DX,AL

LEA SI,B

MOV AL,[SI]

CMP AL,00

JZ ZERO

ADC DX,AL

LEA SI,C

MOV AL,[SI]

CMP AL,00

JZ ZERO

ADC DX,AL

MOV [DI],DX

JMP EXIT

ZERO: MOV AL,0

MOV A,AL

MOV B,AL

MOV C,AL ;

EXIT: MOV AX,4C00H

INT 21H

CODE ENDS

END START

11.(16)试编程序,统计由TABLE 开始的128 个单元中所存放的字符“A”的个数,并将结果存放在DX 中。

解答:

DATA SEGMENT

TABLE DB X1,X2,...X128

DATA ENDS

;

STACK SEGMENT

STACK ENDS

;

CODE SEGMENT

ASSUME DS:DATA,CS:CODE,SS:STACK,ES:DATA

START: MOV AX,DATA

MOV DS,AX

LEA SI,TABLE

MOV DX,0

MOV CX,128

AGAIN: MOV AL,[SI]

CMP AL,'A'

JNZ NEXT

INC DX

NEXT: INC SI

LOOP AGAIN

MOV AX,4C00H

INT 21H

CODE ENDS

END START

12.试编制一个汇编语言程序,求出首地址为DATA 的1000 个字数组中的最小偶数,并把

它存放于MIN 单元中。

解答:

DATA SEGMENT

ARRAY DW X1,X2,...X1000

ARRAY_EVEN DW 1000 DUP(?) MIN DW ?

MAX DW ?

DATA ENDS

;

STACK SEGMENT

STACK ENDS

;

CODE SEGMENT

ASSUME DS:DATA,CS:CODE,SS:STACK,ES:DATA

START: MOV AX,DATA

MOV DS,AX

;将数组中的偶数放入ARRAY_EVEN 中

LEA SI,ARRAY

LEA DI,ARRAY_EVEN

MOV CX,1000

AGAIN: MOV AX,[SI]

TEST AX,01h

JNZ NEXT

MOV [DI],AX

INC DI

INC DI

NEXT: INC SI

INC SI

LOOP AGAIN

;找出ARRAY_EVEN 中的最大数

LEA SI,ARRAY_EVEN

MOV CX,999

MOV AX,[SI]

MOV BX,AX

INC SI

INC SI

NEXT: CMP AX,[SI]

JAE LL

MOV AX,[SI]

LL: INC SI

INC SI

LOOP NEXT

MOV MAX,AX

;找出ARRAY_EVEN 中的最小数(第13 题增加的部分)

LEA SI,ARRAY_EVEN

MOV CX,999

MOV AX,[SI]

MOV BX,AX INC SI

INC SI

NEXT: CMP AX,[SI]

JBE SS

MOV AX,[SI]

SS: INC SI

INC SI

LOOP NEXT

MOV MIN,AX

;返回DOS

MOV AX,4C00H

INT 21H

CODE ENDS

END START

13.在上题中,如果要求同时找出最大和最小的偶数,并把它们分别存放于MAX 和MIN 单元中,试完成程序。

解答:略(见第12 题)。

14.(28)在DATA 字数组中存放有100H 个16 位补码数,试编写一程序求它们的平均值,放

在AX 中,并求出数组中有多少个数小于平均值,将结果存于BX 中。

解答:

DATA SEGMENT

DAT DW X1,X2,...X256

DATA ENDS

;

STACK SEGMENT

STACK ENDS

;

CODE SEGMENT

ASSUME DS:DATA,CS:CODE,SS:STACK,ES:DATA

START: MOV AX,DATA

MOV DS,AX

;将数组中的100H 个数求和后求平均值

LEA SI,DAT

MOV CX,100H

CLC

MOV BX,0000

MOV DX,0000

AGAIN: MOV AX,[SI]

ADD BX,AX

JNC NEXT

ADC DX,1 NEXT: INC SI

INC SI

LOOP AGAIN

MOV CX,100H

MOV AX,BX

DIV CX

;找出DAT 中的小于平均值的个数

LEA SI,DAT

MOV CX,100H

MOV DX,0000H

AGAIN0:MOV BX,[SI]

CMP BX,AX;与平均值AX 比较,大于等于则转NEXT0,否则将读数器DX 加1

JGE NEXT0

INC DX

NEXT0: INC SI

INC SI

LOOP AGAIN0

MOV BX,DX

;返回DOS

MOV AX,4C00H

INT 21H

CODE ENDS

END START

15.(17)编写一个子程序,对AL 中的数据进行偶校验,并将经过校验的结果放回AL 中。解答:

DATA SEGMENT

COUNT EQU 7

DATA ENDS

;

STACK SEGMENT

STACK ENDS

;

CODE SEGMENT

ASSUME DS:DATA,CS:CODE,SS:STACK,ES:DATA

START: MOV AX,DATA

MOV DS,AX

PUSH AX

MOV DX,0

MOV CX,COUNT

AGAIN: RCR AL,1

JNC L INC DX

L: LOOP AGAIN

POP AX

TEST DX,01

JZ EXIT

OR AL,80

EXIT: MOV AX,4C00H

INT 21H

;ANOTHER METHORD

JP EXIT

OR AL,80H

EXIT: MOV AX,4C00H

INT 21H

CODE ENDS

END START

16.(18)利用上题的予程序,对DATA 开始的256 个单元的数据加上偶校验,试编程序。解答:

DATA SEGMENT

DAT DB ...;256 DUP (?)

RESULT DB ...;256 DUP (?)

NUM EQU 256

COUNT EQU 7

DATA ENDS

;

STACK SEGMENT

STACK ENDS

;

CODE SEGMENT

ASSUME DS:DATA,CS:CODE,SS:STACK,ES:DATA

START: MOV AX,DATA

MOV DS,AX

LEA SI,DAT

LEA DI,RESULT

MOV CX,NUM

NEXT: MOV AL,[SI]

CALL SUB1

MOV [DI],AL;MOV [SI],AL INC SI

INC DI

LOOP NEXT

MOV AX,4C00H

INT 21H

SUB1 PROC

PUSH AX

MOV DX,0

MOV CX,COUNT

AGAIN: RCR AL,1

JNC L

INC DX

L: LOOP AGAIN

POP AX

TEST DX,01

JZ QUIT

OR AL,80H

QUIT: RET

SUB1 ENDP

CODE ENDS

END START

17.(19)试编写程序实现将键盘输入的小写字母转换成大写字母并输出。解答:

DATA SEGMENT

MESS DB 'THE INPUT IS NOT CORRECT.',0DH,0AH,'$'

DATA ENDS

;

STACK SEGMENT

STACK ENDS

;

CODE SEGMENT

ASSUME DS:DATA,CS:CODE,SS:STACK,ES:DATA

START: MOV AX,DATA

MOV DS,AX

NEXT: MOV AH,01H

INT 21H

CMP AL,'Q'

JZ EXIT

CMP AL,'a' JB ERROR

CMP AL,'z'

JA ERROR

SUB AL,20H

MOV AH,02H

MOV DL,AL

INT 21H

JMP NEXT

ERROR: MOV AH,09H

LEA DX,MESS

INT 21H

JMP NEXT

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

第二章 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,在实地

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

习题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

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

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

《微机原理与接口技术》参考答案

《微机原理与接口技术》参考答案 《微机原理与接口技术》习题参考答案习题 2 1. 为何说8086CPU是16位CPU?答:16位指的是8086CPU的字长,而字长一般来说和运算器、寄存器、总线宽度一致。因为8086CPU的内部寄存器、内部运算部件以及内部操作都是按16位设计的,这决定了它的字长为16位。 2. 8086CPU哪两个单元组成?其中,指令队列在哪个单元中,有何作用?答:总线接口单元和执行单元。指令队列在BIU中。它的作用是当EU在执行指令时,空闲的BIU可以从内存读取后续指令到指令队列,这样就可以将取指令工作和执行指令工作重叠进行,从而提高CPU的工作效率,加快指令的执行速度。 3. 8086CPU中8位寄存器和16位寄存器是什么关系?答:8086的通用寄存器包括数据寄存器、指

针寄存器和变址寄存器。其中数据寄存器包含AX、BX、CX、DX四个16位寄存器,但他们每个都可以分开作为两个单独的8位寄存器使用。8086的指针寄存器和变址寄存器不可分割为8位寄存器。4. 8086CPU中的IP寄存器有何用途?答:IP寄存器是指令指针寄存器,用来存放下一条要执行的指令在代码段中的偏移地址。在程序运行过程中,IP寄存器始终指向下一条指令的首地址,与CS寄存器联合确定下一条指令的物理地址。8086就是通过IP寄存器来控制指令序列的执行流程。 5. 在标志寄存器中,用于反映运算结果属性的标志位有哪些?它们每一位所表示的含义是什么?答:有CF、PF、AF、ZF、SF、OF。它们的含义如下:CF:进位标志。它记录运算时从最高有效位产生的进位值或结果值。最高有效位有进位或有借位时CF=1,否则CF=0。PF:奇偶标志。它记录运算结果的奇偶检验条件。当结果操作数

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

《微机原理与接口技术》习题答案 一、单项选择题 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)) 则

微机原理与接口技术期末考试试题及答案

微机原理与接口技术期末考试题库 1.微机系统的硬件由哪几部分组成? 答:三部分:微型计算机(微处理器,存储器,I/0接口,系统总线),外围设备,电源。 2.什么是微机的总线,分为哪三组? 答:是传递信息的一组公用导线。分三组:地址总线,数据总线,控制总线。 3.8086/8088CPU的内部结构分为哪两大模块,各自的主要功能是什 么? 答:总线接口部件(BIU)功能:根据执行单元EU的请求完成CPU 与存储器或IO设备之间的数据传送。执行部件(EU),作用:从指令对列中取出指令,对指令进行译码,发出相应的传送数据或算术的控制信号接受由总线接口部件传送来的数据或把数据传送到总线接 口部件进行算术运算。 4.8086指令队列的作用是什么? 答:作用是:在执行指令的同时从内存中取了一条指令或下几条指令,取来的指令放在指令队列中这样它就不需要象以往的计算机那样让CPU轮番进行取指和执行的工作,从而提高CPU的利用率。 5.8086的存储器空间最大可以为多少?怎样用16位寄存器实现对 20位地址的寻址?完成逻辑地址到物理地址转换的部件是什么?

答:8086的存储器空间最大可以为2^20(1MB);8086计算机引入了分段管理机制,当CPU寻址某个存储单元时,先将段寄存器内的内容左移4位,然后加上指令中提供的16位偏移地址形成20位物理地址。 6.段寄存器CS=1200H,指令指针寄存器IP=FF00H,此时,指令 的物理地址为多少?指向这一物理地址的CS值和IP值是唯一的吗? 答:指令的物理地址为21F00H;CS值和IP值不是唯一的,例如:CS=2100H,IP=0F00H。 7.设存储器的段地址是4ABFH,物理地址为50000H,其偏移地址 为多少? 答:偏移地址为54100H。(物理地址=段地址*16+偏移地址) 8.8086/8088CPU有哪几个状态标志位,有哪几个控制标志位?其意 义各是什么? 答:状态标志位有6个:ZF,SF,CF,OF,AF,PF。其意思是用来反映指令执行的特征,通常是由CPU根据指令执行结果自动设置的;控制标志位有3个:DF,IF,TF。它是由程序通过执行特定的指令来设置的,以控制指令的操作方式。 9.8086CPU的AD0~AD15是什么引脚? 答:数据与地址引脚 10.INTR、INTA、NMI、ALE、HOLD、HLDA引脚的名称各是什么?

微机原理与接口技术

第二章 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

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

《微机原理与接口技术》复习参考资料 第一章概述 一、计算机中的数制 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、下列字符表示成相应的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

微机原理与接口技术

微机原理及接口技术 第一部分客观题 一、单项选择题(每小题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、空间局部性:是指一旦一个存储单元被访问,那它附近的单元也将很快被访问。

《微机原理与接口技术》参考答案完整版

《微机原理与接口技术》习题参考答案 习题2 1.为何说8086CPU是16位CPU? 答:16位指的是8086CPU的字长,而字长一般来说和运算器、寄存器、总线宽度一致。因为8086CPU的内部寄存器、内部运算部件以及内部操作都是按16位设计的,这决定了它的字长为16位。 2.8086CPU由哪两个单元组成?其中,指令队列在哪个单元中,有何作用? 答:总线接口单元(Bus Interface Unit,BIU)和执行单元(Execution Unit,EU)。指令队列在BIU中。它的作用是当EU在执行指令时,空闲的BIU可以从内存读取后续指令到指令队列,这样就可以将取指令工作和执行指令工作重叠进行,从而提高CPU的工作效率,加快指令的执行速度。 3.8086CPU中8位寄存器和16位寄存器是什么关系? 答:8086的通用寄存器包括数据寄存器、指针寄存器和变址寄存器。其中数据寄存器包含AX、BX、CX、DX四个16位寄存器,但他们每个都可以分开作为两个单独的8位寄存器使用。8086的指针寄存器和变址寄存器不可分割为8位寄存器。 4.8086CPU中的IP寄存器有何用途? 答:IP寄存器是指令指针寄存器,用来存放下一条要执行的指令在代码段中的偏移地址。在程序运行过程中,IP寄存器始终指向下一条指令的首地址,与CS寄存器联合确定下一条指令的物理地址。8086就是通过IP寄存器来控制指令序列的执行流程。 5.在标志寄存器中,用于反映运算结果属性的标志位有哪些?它们每一位所表示的含义是 什么? 答:有CF、PF、AF、ZF、SF、OF。它们的含义如下: CF:进位标志。它记录运算时从最高有效位产生的进位值或结果值。最高有效位有进位或有借位时CF=1,否则CF=0。 PF:奇偶标志。它记录运算结果的奇偶检验条件。当结果操作数中“1”的个数为偶数时PF=1,否则PF=0。 AF:辅助进位标志。在字节运算时,由低半字节(字节的低4位)向高半字节有进位或借位时,AF=1,否则AF=0。 ZF:零标志。运算结果为零时ZF=1,否则ZF=0。 SF:符号标志。它记录运算结果的最高位,即由符号数的符号。 OF:溢出标志。在运算过程中,如果运算结果已经超出了机器能表示的数值范围(指有符号数)称为溢出,此时OF=1,否则OF=0。 6.分别完成下面的8位运算,并说明各主要标志位的状态,以及结果是否产生溢出(提 示:需要分为有符号数和无符号数两种情况)。

微机原理与接口技术复习资料(概念)

1、微处理器(CPU)由运算器、控制器、寄存器组三部分组成。 2、运算器由算术逻辑单元ALU、通用或专用寄存器组及内部总线三部分组成。 3、控制器的功能有指令控制、时序控制、操作控制,控制器内部由程序计数器PC、指令寄存器IR、指令译码器ID、时 序控制部件以及微操作控制部件(核心)组成。 4、8088与存储器和I/O接口进行数据传输的外部数据总线宽度为8位,而8086的数据总线空度为16位。除此之外,两 者几乎没有任何差别。 5、在程序执行过程中,CPU总是有规律的执行以下步骤:a从存储器中取出下一条指令b指令译码c如果指令需要,从 存储器中读取操作数d执行指令e如果需要,将结果写入存储器。 6、8088/8086将上述步骤分配给了两个独立的部件:执行单元EU、总线接口单元BIU。EU作用:负责分析指令(指令 译码)和执行指令、暂存中间运算结果并保留结果的特征,它由算数逻辑单元(运算器)ALU、通用寄存器、标志寄存器、EU控制电路组成。BIU作用:负责取指令、取操作、写结果,它由段寄存器、指令指针寄存器、指令队列、地址加法器、总线控制逻辑组成。 7、8088/8086CPU的内部结构都是16位的,即内部寄存器只能存放16位二进制码,内部总线也只能传送16位二进制码。 8、为了尽可能地提高系统管理(寻址)内存的能力,8088/8086采用了分段管理的方法,将内存地址空间分为了多个逻辑

段,每个逻辑段最大为64K个单元,段内每个单元的地址长度为16位。 9、8088/8086系统中,内存每个单元的地址都有两部分组成,即段地址和段内偏移地址。 10、8088/8086CPU都是具有40条引出线的集成电路芯片,采用双列直插式封装,当MN/MX=1时,8088/8086工作在最 小模式,当MN/MX=0时,8088/8086工作在最大模式。 11、8088/8086 CPU内部共有14个16位寄存器。按其功能可分为三大类,即通用寄存器(8个)、段寄存器(4个)、控制 寄存器(2个)。 12、8088/8086有20条地址线,可寻址的最大物理内存容量为1MB(2的20次幂),其中任何一个内存单元都有一个20 位的地址,称为物理地址。 13、逻辑地址指段基地址和段内偏移地址。物理地址=段基址*16+段内偏移地址 14、存储器可分为程序段和堆栈段两类。前者用来存放程序的指令代码,后者用来传递参数、保存数据和状态信息。 15、时序可分为两种不同的粒度:时钟周期和总线周期。 16、80386采用32位结构,能寻址的物理空间为4GB(2的32次幂)。最大数据传输率位32MB/s,具有自动切换数据总线 宽度的功能。具有3种工作方式:实地址方式、保护方式、虚拟8086方式。总线周期只有2个时钟。 17、80386内部结构由3部分组成:总线接口部件(BIU)、中央处理部件(CPU)、存储器管理部件(MMU)。其中CPU

微机原理答案-南京理工大学

目录 CH01 微型计算机概述 (1) CH02 8086/8088 指令系统 (6) CH03 汇编语言程序设计 (12) CH04 存储系统 (27) CH05 定时与计数 (31) CH06 输入输出控制 (35) CH01 微型计算机概述 1.微型计算机由哪些部件组成?各部件的主要功能是什么? 解答: 微机系统 微型计算机 系统软件 外围设备:打印机、键盘、CRT、磁盘控制器等 微处理器 (CPU) 系统总线:AB、CB、DB (功能:为CPU和其他部件之间提供数据、地址 和控制信息的传输通道) 存储器:只读存储器(ROM)、随机存储器(RAM) (功能:用来存储信息) 输入/输出(I/O)接口:串/并行接口等 (功能:使外部设备和微型机相连) 算术逻辑部件(ALU) 累加器、寄存器 控制器 操作系统(OS) 系统实用程序:汇编、编译、编辑、调试程序等 (注:CPU的功能--①可以进行算术和逻辑运算; ②可保存少量数据; ③能对指令进行译码并执行规定的动作; ④能和存储器、外设交换数据; ⑤提供整修系统所需要的定时和控制; ⑥可以响应其他部件发来的中断请示。) 2. 8086/8088 CPU 由哪两部分组成?它们的主要功能各是什么?是如何协调工作的? 解答:

微处理器(CPU): 总线接口部件(BIU):负责与存储器、I/O端口传送数据 执行部件(EU):负责指令的执行 协调工作过程: 总线接口部件和执行部件并不是同步工作的,它们按以下流水线技术原则来协调管理: ①每当8086 的指令队列中有两个空字节,或者8088 的指令队列中有一个空字节时,总线接口部件就会自动把指令取到指令队列中。 ②每当执行部件准备执行一条指令时,它会从总线接口部件的指令队列前部取出指令 的代码,然后用几个时钟周期去执行指令。在执行指令的过程中,如果必须访问存储器或者输入/输出设备,那么,执行部件就会请求总线接口部件进入总线周期,完成访问存或者 输入/输出端口的操作;如果此时总线接口部件正好处于空闲状态,那么,会立即响应执行部件的总线请求。但有时会遇到这样的情况,执行部件请求总线接口部件访问总线时,总线接口部件正在将某个指令字节取到指令队列中,此时总线接口部件将首先完成这个取指令的操作,然后再去响应执行部件发出的访问总线的请求。 ③当指令队列已满,而且执行部件又没有总线访问请求时,总线接口部件便进入空闲状态。 ④在执行转移指令、调用指令和返回指令时,由于程序执行的顺序发生了改变,不再是顺序执行下面一条指令,这时,指令队列中已经按顺序装入的字节就没用了。遇到这种情况,指令队列中的原有容将被自动消除,总线接口部件会按转移位置往指令队列装入另一个程序段中的指令。 3. 8086/8088 CPU 中有哪些寄存器?各有什么用途?标志寄存器F 有哪些标志位?各在什么情况下置位? 解答: 寄存器功能 数据寄存器 AX 字乘法,字除法,字I/O BX 查表转换 CX 串操作,循环次数 DX 字节相乘,字节相除,间接I/O 变址寄存器 SI 源变址寄存器,用于指令的变址寻址 DI 目的变址寄存器,用于指令的变址寻址 指针寄存器 SP 堆栈指针寄存器,与SS 一起来确定堆栈在存中的位置 BP 基数指针寄存器,用于存放基地址,以使8086/8088 寻址更加灵活 控制寄存器 IP 控制CPU 的指令执行顺序 PSW 用来存放8086/8088CPU 在工作过程中的状态 段寄存器CS 控制程序区 DS 控制数据区 SS 控制堆栈区 ES 控制数据区 标志寄存器F 的标志位:①控制标志: DF、IF、TF;②状态标志:SF、ZF、AF、 PF、CF、OF。

微机原理与接口技术_期末考试试题

1.微机系统的硬件由哪几部分组成? 答:三部分:微型计算机(微处理器,存储器,I/0接口,系统总线),外围设备,电源。2.8086的存储器空间最大可以为多少?怎样用16位寄存器实现对20位地址的寻址?完成 逻辑地址到物理地址转换的部件是什么? 答:8086的存储器空间最大可以为2^20(1MB);8086计算机引入了分段管理机制,当CPU 寻址某个存储单元时,先将段寄存器内的内容左移4位,然后加上指令中提供的16位偏移地址形成20位物理地址。 3.8086/8088CPU有哪几个状态标志位,有哪几个控制标志位?其意义各是什么? 答:状态标志位有6个:ZF,SF,CF,OF,AF,PF。其意思是用来反映指令执行的特征,通常是由CPU根据指令执行结果自动设置的;控制标志位有3个:DF,IF,TF。它是由程序通过执行特定的指令来设置的,以控制指令的操作方式。 4.8086CPU的AD0~AD15是什么引脚?答:数据与地址引脚 5.INTR、INTA、NMI、ALE、HOLD、HLDA引脚的名称各是什么? 答:INTR是可屏蔽请求信号,INTA中断响应信号,NMI是不可屏蔽中断请求信号,ALE 是地址锁存允许信号,HOLD总线请求信号,HLDA总线请求响应信号。 6.虚拟存储器有哪两部分组成?答:有主存储器和辅助存储器。 7.在80x86中,什么是逻辑地址、线性地址、物理地址?答:线性地址是连续的不分段的 地址;逻辑地址是由程序提供的地址;物理地址是内存单元的实际地址。 8.若用4K*1位的RAM芯片组成8K*8为的存储器,需要多少芯片?A19—A0地址线 中哪些参与片内寻址,哪些用做芯片组的片选信号? 答:需要16片芯片;其中A11-A0参与片内寻址;A12做芯片组的片选信号。 9.若系统分别使用512K*8、1K*4、16K*8、64K*1的RAM,各需要多少条地 址线进行寻址,各需要多少条数据线? 答:512K*8需要19条地址线,8条数据线。1K*4需要10条地址线,4条数据线。16K*8需要14条地址线,8条数据线。64K*1需要14条地址线,1条数据线。 10.一般的I/O接口电路有哪四种寄存器,它们各自的作用是什么? 答:数据输入寄存器,数据输入寄存器,状态寄存器和控制寄存器。数据端口能对传送数据提供缓冲,隔离,寄存的作用;状态寄存器用来保存外设或接口的状态;控制寄存器用来寄存CPU通过数据总线发来的命令。 11.8086最多可有多少级中断?按照产生中断的方法分为哪两大类?答:有8级;按照产生中 断的方法可分为硬件中断和软件中断。 12.什么是中断?什么是中断向量?中断向量表的地址范围? 13.答:中断就是CPU在执行当前程序时由于内外部事件引起CPU暂时停止当前正在执行 的程序而转向执行请求CPU暂时停止的内外部事件的服务程序,该程序处理完后又返回继续执行被停止的程序;中断向量是中断处理子程序的入口地址;地址范围是 00000H-003FFH。 14.中断向量表的功能是什么?若中断向量号分别为1AH和20H,则它们的中断向量在中断 向量表的什么位置上?答:中断向量表的功能是当中断源发出中断请求时,即可查找该表,找出其中断向量,就可转入相应的中断服务子程序。1AH在中断向量表的位置是1AH*4=68H在中断向量表0000:0068处;20H在中断向量表的位置是80H在中断向量表0000:0080处。 15.通常,解决中断优先级的方法有哪几种?答:3种,软件查询确定优先级,硬件优先级排队电路确定优先级,具体中断屏蔽的接口电路。 16.简述中断控制器8259A的内部结构和主要功能。

微机原理与接口技术试题(1)

微机原理与接口技术复习题 一、填空题 1、8086CPU芯片有16条数据管脚和 20条地址管脚。 2、8088CPU芯片有 8条数据管脚和 20条地址管脚。 3、804868CPU芯片采用 7 级流水线结构,即同时有 7条指令并行操作。 4、Pentium 系列CPU芯片采用由 U流水线和 V流水线两条并行指令流水线构 成的超级流水线结构,可大大提高指令的执行速度。 5、在80386以后的微机系统中,为了加快计算机的运行速度,都在CPU与主存之间增设一级 或两级的高速小容量的高速缓冲存储器(Cache)。 6、虚拟存储技术是在内存储器和外存储器之间增加一定的硬件和软件支持,使内 存和外存形成一个有机的整体。 7、虚拟存储技术是在内存储器和外存储器之间增加一定的硬件和软件支持, 使内存和外存形成一个有机的整体。 8、虚拟存储技术是在内存储器和外存储器之间增加一定的硬件和软件支持,使内存和 外存形成一个有机的整体。 9、8086/8088CPU的内部结构主要由执行单元EU 和总线接口部件BIU 组成。 10、8086/8088CPU中的总线接口单元(BIU)里的指令队列分别有 6个和 4个字节。 11、由8086/8088CPU组成的微机系统的存储器管理采用分段管理,并将存储器分代码、 数据段、堆栈段和附加段。 12、MASM宏汇编语言有两种基本语句,它们是指令语句和指示性语句。 13、指令性语句和指示性语句的主要区别是在汇编时,指令性语句产生对应的机械代码, 而指示性语句不要求CPU执行某种操作,也不产生对机械代码,只给汇编程序提供相应的 汇编信息。 14、汇编语言程序有顺序程序、分支程序、循环程序和子程序等四种结构。 15、半导体存储器从器件制造的工艺角度,可分为双极型和金属氧化物半导体 两大类。 19、半导体存储器从从应用角度,可分为只读存储器(ROM和随机存储器(RAM)。 20、RAM存储器有 SRAM、DRAM 和 NVRAM 。 21、存储器的扩展设计主要有位扩展、子扩展和子位扩展等三种方法。 24、存储器片选信号的产生方法主要有线选法、部分译码法和全译法。 27、80486CPU芯片内有 8K 的高速缓存(Cache),Pentium芯片中有16K的Cache,分为两 个独立的8K的Cache,其中一个用于存放数据、另一个用于存放指令。 28、80x86微处理器有实地址、保护虚地址和虚拟8086 三种模式的存储管理机制。31、操作系统的资源管理程序分为处理器管理、存储器管理、外部设备管理和文件管理等四 部分。 34、Cache的置换算法有平均使用率置换法和先选先出置换法。 35、外部中断是指有外部设备通过硬件触发轻轻的方式产生的中断,亦称硬件中断,外部中 断有可分为可屏蔽中断和不可屏蔽中断。 36、当8086CPU的MN /MX引脚接低电平,CPU处于最大模式,这时对存储器和外设端口 的读写控制信号由 8288 芯片发出。 37、在分层次的存储系统中,存取速度最快、靠CPU最近且打交道最多的是高速缓冲(Cache) 存储器,它是由静态存储(SRAM)类型的芯片构成,而主存储器则是由动态存储(DRAM) 类型的芯片构成。 38、数据输入/输出的三种方式是程序查询方式、程序中断控制方式和 DMA方式。 39、在使用DMA方式进行数据传输之前,一般都要对DMA控制器进行初始化工作。 40、以EPROM2764芯片为例,其存储容量为8K×8位,共有 13 根数据线, 8 根地址线。 41、逻辑地址为2000H:1234H的存储单元的物理地址是 21234H 。 42、对I/O端口的编址一般有统一编址方式和单独编址方式。 43、中断返回指令是 IRET ,该指令将堆栈中保存的断点弹出后依次装入 IP 和 CS 寄 存器中,将堆栈中保存的标志装入 FLAGS 中。 44.总线按其功能可分数据总线、地址总线和控制总线三种不同类型的总线。

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