当前位置:文档之家› 微机原理与接口技术(第二版) 清华大学出版社

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

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

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

补= 11111111

= 10000000

③ [-128]

= 00000001

④[+1]

11.求下列带符号十进制数的16位基2码补码。

① [+655]补= 0000001010001111

② [-1]补=1111111111111111

③ [-3212]补=1111001101110100

=0000000001100100

④ [+100]

习题 2

1.8086 CPU在内部结构上由哪几部分组成?各部分的功能是什么?

答:8086 CPU内部由两大独立功能部件构成,分别是执行部件和总线接口部件。执行部件负责进行所有指令的解释和执行,同时管理有关的寄存器。总线接口部件是CPU在存储器和I/O设备之间的接口部件,负责对全部引脚的操作。

2.简述8086 CPU的寄存器组织。

答:8086 CPU内部共有14个16位寄存器,按用途可分为数据寄存器,段寄存器,地址指针与变址寄存器和控制寄存器。数据寄存器包括累加器,基址寄存器,计数器,和数据寄存器。段寄存器用来存放各分段的逻辑段基值,并指示当前正在使用的4个逻辑段。地址指针与变址寄存器一般用来存放主存地址的段内偏移地址,用于参与地址运算。

控制寄存器包括指令寄存器和标识寄存器。

3.试述8086 CPU标志寄存器各位的含义与作用。

答:标志寄存器是16位的寄存器,但实际上8086只用到9位,其中的6位是状态标识位,3位是控制标识位。状态标志位分别是CF,PF,AF,ZF,SF,和OF;控制标志位包括DF,IF,TF。

CF:进位标志位。算数运算指令执行后,若运算结果的最高位产生进位或借位,则CF=1,否则CF=0。

PF:奇偶标志位。反应计算结果中1的个数是偶数还是奇数。若运算结果的低8位中含有偶数个1,则PF=1;否则PF=0.

AF:辅助进位标志。算数运算指令执行后,若运算结果的低4位向高4位产生进位或借位,则AF=1;否则AF=0.

ZF:零标志位。若指令运算结果为0,则ZF=1;否则ZF=0。

SF:符号标志位。它与运算结果最高位相同。

OF:溢出标志位。当补码运算有溢出时,OF=1;否则OF=0。

DF:方向标志位。用于串操作指令,指令字符串处理时的方向。

IF:中断允许标志位。用来控制8086是否允许接收外部中断请求。

TF:单步标志位。它是为调试程序而设定的陷阱控制位。

4.8086 CPU状态标志和控制标志有何不同?程序中是怎样利用这两类标识

的?8086的状态标志和控制标识分别有哪些?

答:状态标志位反应了当前运算和操作结果的状态条件,可作为程序控制转移与否的依据。它们分别是CF,PF,AF,ZF,SF,和OF。控制标志位用来控制CPU的操作,由指令进行置位和复位,控制标志位包括DF,IF,TF。

5.将1001 1100和1110 0101相加后,标识寄存器中CF, PF, AF, ZF, SF, OF各为

何值?

答:CF=1,PF=1,AF=1,ZF=0,SF=1,OF=0

6.什么是存储器的物理地址和逻辑地址?在8086系统中,如何由逻辑地址计

算物理地址?

答:逻辑地址是思维性的表示,由段地址和偏移地址联合表示的地址类型叫逻辑地址。物理地址是真实存在的唯一地址,指的是存储器中各个单元的单元号。

在8086系统中,物理地址=段地址×10H+偏移地址

7.段寄存器CS=1200H,指令指针寄存器IP=4000H,此时,指令的物理地址为

多少?指向这一地址的CS指和IP值是唯一的吗?

答:此指令的物理地址=1200H×10H+4000H=16000H 并且指向这一物理地址的CS值和IP值并不是唯一的。

8.在8086系统中,逻辑地址FFFF:0001,00A2:37F和B800:173F的物理

地址分别是多少?

答:

9.在8086系统中,从物理地址388H开始顺序存放下列3个双字节的数据

651AH,D761H和007BH,请问物理地址388H,389H,38AH,38BH,38CH 和38DH 6个单元中分别是什么数据?

答:(388H)=1AH,(389H)=65H,(38AH)=61H,(38BH)=DTH,(38CH)=7BH,(38DH)=00H

10.8086微处理器有哪几种工作模式?各有什么特点?

答:8086微处理器有最大和最小工作模式。

在最小模式下:8086 CPU直接产生全部总线控制信号(DT/R,DEN,ALE,M/IO)和命令输出信号(RD,WR,INTA)并提出请求访问总线的逻辑信号HOLD,HLDA。

在最大工作模式下,必须配置8288总线控制器,并且根据8086提供的状态信号S2,S1,S0,输出读写控制命令,可以提供灵活多变的系统配置,以实现最佳的系统性能。

11.简述8086引脚信号中M/IO,DT/R,RD,WR,ALE,DEN和BHE的作

用。

答:M/IO:输出信号,高电平时,表示CPU与存储器之间数据传输;低电平时,表示CPU与I/O设备之间数据传输。

DT/R:控制其数据传输方向的信号。DT/R=1时,进行数据发送;DT/R=0时,进行数据接收。

RD:CPU的读信号,RD=0时,表示8086为存储口或I/O端口读操作。

WR:CPU的写信号,WR =0时,表示8086为存储口或I/O端口写操作。

ALE:地址存锁信号,在T1能时刻有效。

DEN:数据选通信号,当DEN有效时,表示允许传输。

BHE:数据总线允许信号,与A0组合使用,表示是否访问奇地址字节。

12.简述8086读总线周期和写总线周期和引脚上的信号动尖态变化过程。8086

的读周期时序和写周期时序的区别有哪些?

答:在8086读周期内,有关总线信号的变化如下:

①M/IO:在整个读周期保持有效,当进行存储器读操作时,M/IO为高电平;当进行I/O端口读操作时,M/IO为低电平。

②A19/S6~A16/S3:在T1期间,输出CPU要读取的存储单元或I/O端口的地址高4位。T2~T4期间输出状态信息S6-S3。

③BHE/S7:在T1期间,输出BHE有效信号(BHE为低电平),表示高8位数据总线上的信息可以使用,BHE信号通常作为奇地址存储体的体选信号(偶地址存储体的体选信号是最低地址位A0)。T2—T4期间输出高电平。

④AD l5~AD0:在T1期间,输出CPU要读取的存储单元或I/O端口的地址A15~A0。T2期间为高阻态,T3~T4期间,存储单元或I/O端口将数据送上数据总线。CPU从AD l5~AD0上接收数据。

⑤ALE:在T1期间地址锁存有效信号,为一正脉冲,系统中的地址锁存器正是利用该脉冲的下降沿来锁存A19/S6~A16/S3,AD l5~AD0中的20位地址信息以及BHE。

⑥RD:T2期间输出低电平送到被选中的存储器或I/O接口,注意,只有被地址信号选中的存储单元或I/O端口,才会被RD信号从中读出数据(数据送上数据总线AD l5~AD0)。

⑦DT/R:在整个总线周期内保持低电平,表示本总线周期为读周期,在接有数据总线收发器的系统中,用来控制数据传输方向。

⑧DEN:在T2~T3期间输出有效低电平,表示数据有效,在接有数据总线收发器的系统中,用来实现数据的选通。

总线写操作的时序与读操作时序相似,其不同处在于:

①AD l5~AD0:在T2~T4期间送上欲输出的的数据,而无高阻态。

②W R:从T2~T4,W R引脚输出有效低电平,该信号送到所有的存储器和I/O 接口。注意,只有被地址信号选中的存储单元或I/O端口才会被W R信号写入数据。

③DT/R:在整个总线周期内保持高电平,表示本总线周期为写周期,在接有数据总线收发器的系统中,用来控制数据传输方向。

习题3

1.假定(DS)=2000H,(ES)=2100H,(SS)=1500H,(SI)=00A0H,(BX)

=0100H,(BP)=0010H,数据变量V AL的偏移地址为0050H,请指出下列指令原操作数是什么寻址方式,其物理地址是多少?

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

(3) MOV AX, V AL (4) MOV BX, [SI]

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

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

答:(1) 立即数寻址,无物理地址

(2) 直接寻址,物理地址=2000H×10H+100H=20100H

(3) 直接寻址,物理地址=2000H×10H+0050H=20050H

(4) 寄存器间接寻址,物理地址=2000H×10H+00A0=200A0H

(5) 相对寄存器寻址,物理地址=2000H×10H+(0050+0100H)=20150H

(6) 基址加变寻址,物理地址=2000H×10H+(0100H+00A0H)=201A0H

(7) 寄存器寻址,无物理地址

(8) 立即数寻址,无物理地址

2.已知(SS)=0FFA0H,(SP)=00B0H,先执行两条把8057H和0F79H分别

进栈的PUSH指令,再执行一条POP指令,试画出堆栈区和SP内容变化的过程示意图。

答:

“8057H”进栈,则SP自动从00B0H指向00B2H,“0F79H”进栈,则SP 自动从00B2H指向00B4H;执行一条POP指令,“0F79H”被弹出栈,SP从00B4H 指向00B2H。图略。

3.设有关寄存器及存储单元的内容如下:

(DS)=2000H, (BX)=0100H, (AX)=1200H, (SI)=0002H, (20100H)=12H, (20101H)=34H, (20102H)=56H, (20103H)=78H, (21200H)=2AH, (21201H)=4CH, (21202H)=0B7H, (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) (AX)=1800H (2) (AX)=0100H (3) (BX)=4C2AH

(4) (DX)=4C2AH (5) (20102H)=00H (6) (AX)=65B7H

4. 写出实现下列计算的指令序列。

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

答:(1) MOV AX, Z

ADD AX, X

ADD AX, W

MOV Z, AX

(2) MOV AX, W

ADD X, 6

SUB AX, X

ADD R, 9

SUB AX, R

MOV Z, AX

5. 若在数据段中从字节变量TABLE相应的单元开始存放了0~15的平方值,

试写出包含XLAT指令的指令序列查找N(0~15)中的某个平方数。

答:LEA BX, TABLE

MOV AL, CL

XLAT

6. 写出实现下列计算的指令序列。

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

答:(1) MOV AX, W

IMUL X

ADD R, 6

IDIV R

MOV Z, AX

(2) MOV AX, W

SUB AX, X

MOV BL, 5

IDIV BL

CBW

IMUL Y

MOV BX, 2

IMUL BX

MOV Z, AX

7. 假定(DX)=1100 1001 1011 1001B,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) (DX)=0110 0100 1101 1100B (2) (DX)=1100 1001 0111 0010B

(3) (DX)=1001 0010 1011 1001B (4) (DX)= 1111 1001 0011 0111B

(5) (DX)= 0011 1001 0011 0111B (6)(DX)= 0100 1101 1100 1110B

(7) (DX)= 1110 0100 1101 1100B (8) (DX)= 1001 0011 0111 0011B

8. 已知程序段如下:

MOV AX, 1234H

MOV CL, 4

ROL AX, CL

DEC AX

MOV CX, 4

MUL CX

INT 20H

试问:(1)每条指令执行后,AX寄存器的内容是什么?(2)每条指令执行后,CF,SF及ZF的值分别是什么?(3)程序运行结束后,AX及DX 寄存器的值为多少?

答:MOV AX, 1234H (AX)=1234H, CF=0,SF=0,ZF=0 MOV CL, 4

ROL AX,CL (AX)=2341H,CF=1,SF=0,ZF=0

DEC AX (AX)=2340H,CF=1,SF=0,ZF=0

MOV CX,4

MULL CX (AX)=8D00H, CF=0,SF=1,ZF=0

INT 20H

结束后,(DX)=0000H, (AX)=8000H

9.试分析下列程序段:

ADD AX, BX

JNC L2

SUB AX, BX

JNC L3

JMP SHORTL5

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

AX BX

(1) 14C6H 80DCH

(2) B568H 54B7H

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

答:(1)转到L2处

(2)转到L3处

习题4

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

V AR1 DB 10,2

V AR2 DW 5 DUP(?),0

V AR3 DB ‘HOW ARE YOU?’,3 DUP(1,2)

V AR4 DD -1,1,0

答:字节空间:

V AR1:2;

V AR2:12;

V AR3:13;

V AR4:8。

存储空间的分配图:

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

(3)JMP LAB[CX] (4)JNZ V AR1

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

答:(1) 在算术运算指令中,两个操作数不能同时为存储器寻址方式

(2) AL 为字节,V AR1 为字变量,字长不相等;

(3) 错误1:寄存器相对寻址方式,只能使用基址或变址寄存器,不能使用CX寄存器。

错误2:汇编格式错误,无法判段是段内转移还是段间转移。

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

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

(6) SHL 指令中,当所移位数超过1 时,必须用CL取代所移位数。

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 和A2同为存储器寻址方式,不符合语法规则;

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

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

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

SECOND DB 5 DUP(?)

THIRD DB 5 DUP(?)

FORTH DB 4 DUP (?)

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

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

答:

DA TA SEGMENT

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

SECOND DB 5 DUP(?)

THIRD DB 5 DUP(?)

FORTH DB 4 DUP (?)

DA TA 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,WORD PTR [SI] ;AX=5F90H 为低十六位数据

INC SI

INC SI

MOV DX,WORD PTR [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 WORD PTR [DI] ,AX

MOV WORD PTR [DI+2] ,DX

;右移2 位

LEA SI,FIRST

LEA DI,THIRD

MOV CX,2

CLC

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

INC SI

INC SI

MOV DX,WORD PTR [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 WORD PTR [DI+1] ,AX

MOV WORD PTR [DI+3] ,DX

;求补

LEA SI,FIRST

LEA DI,FORTH

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

INC SI

INC SI

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

XOR AX,0FFFFH ;将低十六位取反

XOR DX,OFFFFH ;将高十六位按位取反

CLC

ADD AX,01H ;低位加1,即可为原数的求补

ADC DX,0 ;高位加低位加法时的进位

MOV WORD PTR [DI] ,AX

MOV WORD PTR [DI+2] ,DX

MOV AH,4CH

INT 21H

CODE ENDS

END START

5.试编程序将内存从40000H到4BFFFH的每个单元中均写入55H,并再逐个

单元读出比较,看写入的与读出的是否一致。若全对,则将AL置7EH; 只要有错,则将AL置81H。

答:

DATA SEGMENT

DA1 DB 55H

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,4000H

MOV DS,AX

MOV CX,0C000H

MOV BX,0000H

MOV AH,55H

NEXT1: MOV byte ptr[BX],AH

INC BX

LOOP NEXT1

MOV BX,0000H

MOV CX,0C000H

MOV AL,81H

NEXT2: MOV AH, [BX]

CMP AH,55H

JNZ EXIT

INC BX

LOOP NEXT2

MOV AL,7EH

EXIT: MOV AH,4CH

INT 21H

CODE ENDS

END START

6.在当前数据段4000H开始的128个单元中存放一组数据,试编程序将它们顺

序搬移到A000H开始的顺序128个单元中,并将两个数据块逐个单元进行比较; 若有错将BL置00H; 全对则将BL置FFH,试编程序。

答:

DATA SEGMENT

ORG 400H

DA1 DB 128 DUP(?)

ORG 0A00H

DA2 DB 128 DUP(?)

DATA ENDS

CODE SEGMENT

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

START: MOV AX,DATA

MOV DS,AX

LEA SI,DA1

LEA DI,DA2

MOV CX,128

AGAIN: MOV AL,[SI]

INC SI

INC DI

LOOP AGAIN

LEA SI, DA1

LEA DI, DA2

MOV CX,128

NEXT: MOV AL,[SI]

MOV BL,[DI]

CMP AL,BL

JNZ ERROR

INC SI

INC DI

MOV BL,0FFH

LOOP NEXT

JMP EXIT

ERROR: MOV BL,00H

EXIT: MOV AH,4CH

INT 21H

CODE ENDS

END START

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

答:

DATA SEGMENT

A D

B ?

B DB ?

C DB ?

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

CMP A,00H

JNZ LP1

MOV B,0

MOV C,0

JMP LP4

LP1: CMP B,00H

JNZ LP2

MOV A,0

MOV C,0

JMP LP4

LP2: CMP C,00H

JNZ LP3

MOV A,0

MOV B,0

JMP LP4

LP3: MOV AL,A

ADD AL,B

ADD AL,C

MOV AH,4CH

LP4: INT 21H

CODE ENDS

END START

8. 有一个100个字节的数据表,表内元素已按从大到小的顺序排列好,现给定一元素,试编程序在表内查找,若表内已有此元素,则结束; 否则,按顺序将此元素插入表中适当的位置,并修改表长。

答:

DATA SEGMENT

BUFF DB 100 DUP(?)

DA1 DB (?)

LENGTH DB 0

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV SI,0

MOV AL,DA1

MOV CX,100

FIND0: CMP BUFF[SI],AL

JZ EXIT

INC SI

LOOP FIND0

MOV DI,99

MOV SI,0

COMPARE: CMP BUFF[DI],AL

JG INSERT

MOV BL,BUFF[DI]

MOV BUFF[DI+1],BL

DEC DI

CMP DI,SI

JNL COMPARE

JMP EXIT

INSERT: MOV BUFF[DI+1],AL

MOV LENGTH , 101

EXIT: MOV AH,4CH

INT 21H

微机原理第7章习题与答案

习题 一、选择题 1.在程序控制传送方式中,_______可提高系统的工作效率。 A.无条件传送 B.查询传送 C.中断传送 D.以上均可 答案:C 2.在8086的中断中,只有______需要硬件提供中断类型码。 A.外部中断 B.可屏蔽中断 C.不可屏蔽中断 D.内部中断 答案:B 3.在中断响应周期,CPU从数据总线上获取______。 A.中断向量的偏移地址 B.中断向量 C.中断向量的段地址 D.中断类型码 答案:D 4.执行INTn指令或响应中断时,CPU保护现场的次序是______。 A.FLAGS寄存器(FR)先入栈,其次是CS,最后是IP B.CS在先,其次是IP,最后FR入栈 C.FR在先,其后一次是IP,CS D.IP在先,其次是CS,最后FR 答案:A 5.在PC/XT中,NMI中断的中断向量在中断向量表中的位置_______。 A.是由程序指定的 B.是由DOS自动分配的 C.固定在0008H开始的4个字节中 D.固定在中断向量表的表首 答案:C 6.中断调用时,功能调用号码应该_______。 A.写在中断指令中 B.在执行中断指令前赋给AH C.在执行中断指令前赋给AX D.在执行中断指令前赋给DL 答案:B 7.若8259A的ICW2设置为28H,从IR3引入的中断请求的中断类型码是_____。 A.28H B.2BH C.2CH D.2DH 答案:B 8.8259A有3中EOI方式,其目的都是为了_____。 A.发出中断结束命令,使相应的ISR=1 B.发出中断结束命令,使相应的ISR=0 C.发出中断结束命令,使相应的IMR=1 D.发出中断结束命令,使相应的IMR=0 答案:B 9.8259A特殊全嵌套方式要解决的主要问题是______。 A.屏蔽所有中断 B.设置最低优先级 C.开发低级中断 D.响应同级中断 答案:D 10.8259A编程时,中断屏蔽可通过______设置。 A.ICW1 B.OCW1 C.OCW2 D.OCW3

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

范文范例学习指导 第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.2 课后练习题 一、填空题 1.将二进制数1011011.1转换为十六进制数为__5B.8H_____。2.将十进制数199转换为二进制数为____ 11000111____B。3.BCD码表示的数,加减时逢__10____进一,ASCII码用来表示数值时,是一种非压缩的BCD码。 4.十进制数36.875转换成二进制是___100100.111____________。 5.以_微型计算机____为主体,配上系统软件和外设之后,就构成了__微型计算机系统____。 6.十进制数98.45转换成二进制为__1100010.0111_B、八进制__142.3463________Q、十六进制__62.7333________H。(精确到小数点后4位) 二、选择题 1.堆栈的工作方式是__B_________。 A)先进先出B)后进先出C)随机读写D)只能读出不能写入 2.八位定点补码整数的范围是____D_________。 A)-128-+128 B)-127-+127 C)-127-+128 D)-128-+127 3.字长为16位的数可表示有符号数的范围是___B___。 A)-32767-+32768 B)-32768-+32767 C)0-65535 D)-32768-+32768 三、简答题 1.微型计算机系统的基本组成? 微型计算机,系统软件,应用软件,输入输出设备 2.简述冯.诺依曼型计算机基本思想? 将计算过程描述为由许多条指令按一定顺序组成的程序,并放入存储器保存 指令按其在存储器中存放的顺序执行; 由控制器控制整个程序和数据的存取以及程序的执行; 以运算器为核心,所有的执行都经过运算器。 3.什么是微型计算机? 微型计算机由CPU、存储器、输入/输出接口电路和系统总线构成。 4.什么是溢出? 运算结果超出了计算机所能表示的范围。 2.2 一、填空题 1. 8086/8088的基本总线周期由___4____个时钟周期组成,若CPU主频为10MHz,则一个时钟周期的时间为___0。1μs_____。 2. 在8086CPU的时序中,为满足慢速外围芯片的需要,CPU 采样___READY_________信号,若未准备好,插入___TW__________时钟周期。 3. 8086系统总线形成时,须要用_____ALE__________信号锁定地址信号。 4. 对于8086微处理器,可屏蔽中断请求输入信号加在_____INTR__________引脚。 5. 在8086系统中,若某一存贮单元的逻辑地址为7FFFH:5020H,则其物理地址为_____85010H__________。 6. 8086的输入信号Ready 为低电平的作用是说明___存储器或I/O接口未准备好____________。 7. 8088 CPU的NMI 引脚提出的中断请求称为:___非屏蔽中断____________。 8. CPU从主存取出一条指令并执行该指令的时间称为___指令周期____________。 9. 在8086系统中,从奇地址读写两个字时,需要___ 4______个总线周期。 二、简答题 1. 在内部结构上,微处理器主要有那些功能部件组成? 1) 算术逻辑部件2) 累加器和通用寄存器组 3) 程序计数器4) 时序和控制部件(意思相近 2. 微处理器一般应具有那些基本功能? 本身具有运算能力和控制功能3. 什么是总线周期? CPU使用总线完成一次存储器或I/O接口的存取所用的时间, 称为总线周期,一个基本的总线周期包含4个T状态,分别 称为T1、T2、T3、T4。(意思相近即可) 三、判断题 6.8086的每个存储单元地址既是字节地址又是字地址。 ( √) 7. 同一个物理地址可以由不同的段地址和偏移量组合得到。 ( √) 3.2 课后练习题 一、简答题 1. 若(AX)=9C5AH,(BX)=9754H,执行下列指令序列后,程 序转向何处执行。 ADD AX,BX JNC L3 JNO L1JNO L4 JNC L2JMP L5 SUB AX,BX L3 2. 中断服务程序结束时,用RET指令代替IRET指令能否返 回主程序?这样做存在什么问题? RET应该可以使中断服务程序返回主程序,但因为RETF是 子程序返回指令,它只从堆栈中恢复CS和IP,而不能使状态 字PSW得以恢复,所以不能使断点完全恢复,对源程序的继 续执行造成不良影响。(回答可以返回2分,出现的问题3分, 意思相近即可) 3. 写出把首地址为BLOCK字数组中的第6个字,送到DX 寄存的指令(或指令组),要求使用以下几种寻址方式: (1) 寄存间接寻址 (2) 寄存相对寻址 (3) 基址变址寻址 1) MOV BX,OFFSET BLOCK+6 2) LEA BX,BLOCK 3) LEA BX,BLOCK MOV DX,[BX] MOV DX,[BX+12] MOV SI,12 MOV DX,[BX+SI] 4. 设BX=134AH,BP=1580H,DI=0528H,SI=0234H, DS=3200H,SS=5100H,求在各种寻址方式下源操作数的物 理地址。 1) MOV AX, [2400H] 34400H 2) MOV AX, [BX] 33580H 3) MOV AX, [SI] 32234H 4) MOV AX, [BX+2400H] 3574AH 5) MOV AX, [BP+2400H] 54980H 6) MOV AX, [BX+DI] 33872H 7) MOV AX, [BP+SI+2400H] 54BB4H 二、阅读下面的程序段,写出运行结果 1. CLC MOV AX,248BH MOV CL,3 RCL AX,CL 执行以上程序序列后,AX=_2458H__。 2. MOV BX,6D16H MOV CL,7 SHR BX,CL 执行后BX寄存器中的内容__00DAH___。 3. MOV DX,01H MOV AX,42H MOV CL,4 SHL DX,CL MOV BL,AH SHL AX,CL SHR BL,CL OR DL,BL 执行后 (DX)=_0010H___,(AX)=__0420H__________ 4. mov ax,693ah mov al,ah not al add al,ah inc al 程序段执行后,AL=_0000H__ 、ZF= ___1___________。 5. 根据程序填空(程序段顺序执行) MOV CL, 58H ;CL= 58 MOV AL, 79H ;AL= 79 ADD AL, CL ;AL= D1 H, AF= 1 , CF= DAA ;AL= 37H , AF= 0 , CF= 1 三、判断题 2. 执行下列指令可以将其00H送到端口地址为2F8H的外设 上:( √) MOV AL,00H MOV DX,2F8H OUT DX,AL 3. 8088的MOV指令不能进行两个存储器单元之间的数据直 接传送。( √) 6. 判断下列指令是否正确 JMP BX对 in al,dx对 mov ds,ax对 mov al,【bx+10h】对 push ss对 mov cs,ax对 4.2 课后练习题 一、填空题 1. 定义段结束的伪指令是____ ENDS _______;定义子程序结 束的伪指令是___ ENDP _____。 2.伪指令X DB 4 DUP (6,2 DUP(6,8));Y DW 6800H; 设X的偏移地址为2000H,则Y的偏移地址为 _2014H________H,若执行指令MOV BL,BYTE PTR Y后, 则(BL)=___ 00_____。 3.伪指令VR1 DB 2 DUP(?,3 DUP(1,2),5)在存贮器中被分配 了_______16个________字节。 二、选择题 1.下面表示段定义结束的伪指令是______C____。 A)END B)ENDP C)ENDS D)ENDM 2.变量的类型属性如下,下面错误的类型是___B_______。 A)字节型B)字符型C)字型D)双字 型 3.设有一程序定义如下: ORG 0024H AR1 DW 4,5,$+4 … MOV AX,AR1+4 执行以上指令后,AX中的内容正确的是____D___________。 A)0028H B)0032H C)002AH D) 002CH 4.现用数据定义伪指令定义数据:BUF DB 4 DUP(0,2 DUP (1,0));问定义后,存储单元中有数据0100H的字单元个 数是_C___________。 A)4 B)3 C)8 D)12 5.下列伪指令中定义字节变量的是___A_____。 A)DB B)DW C)DD D)DT 6.使用DOS功能调用时,子功能号应放在( B )寄存器中。 A)AL B)AH C)DL D)DH 三、程序设计 1、、设正数个数存放于BX中,负数个数存放于DI中,零的 个数存放于DX中 MOV AX,0100H JZ ZERO MOV DS,AX JL NEGAT MOV BX,0 INC BX MOV DX,0 JMP NEXT1

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

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

微机原理习题答案完整版

微机原理习题答案 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

微型计算机原理及应用 习题集 专业班级 学号 姓名

目录 第1章概述 一、填空题 1.运算器和控制器集成在一块芯片上,被称作CPU。 2.总线按其功能可分数据总线、地址总线和控制总线三种不同类型的总线。 3.迄今为止电子计算机所共同遵循的工作原理是程序存储和程序控制的工作原理。这种原理又称为冯·诺依曼型原理。 4.写出下列原码机器数的真值;若分别作为反码和补码时,其表示的真值又分别是多少? (1) (0110 1110) 二进制原码=(+110 1110) 二进制真值 =(+110) 十 进制真值 (0110 1110) 二进制反码=(+110 1110) 二进制真值 =(+ 110) 十进制真值 (0110 1110) 二进制补码=(+110 1110) 二进制真值 =(+110) 十 进制真值 (2) (1011 0101) 二进制原码=(-011 0101) 二进制真值 =(-53) 十进 制真值 (1011 0101) 二进制反码=(-100 1010) 二进制真值 =(-74) 十进 制真值 (1011 0101) 二进制补码=(-100 1011) 二进制真值 =(-75) 十进制真值 5.写出下列二进制数的原码、反码和补码(设字长为8位)。 (1) (+101 0110) 二进制真值=(0101 0110) 原码 =(0101 0110) 反码 = (0101 0110) 补码 (2) (-101 0110) 二进制真值=(1101 0110) 原码 =(1010 1001) 反码 = (1010 1010) 补码 6.[X] 补=78H,则[-X] 补 =( 88 )H。

微机原理课后答案

课后练习题 一、填空题 1.将二进制数转换为十六进制数为。 2.将十进制数199转换为二进制数为____ ____B。 3.BCD码表示的数,加减时逢__10____进一,ASCII码用来表示数值时,是一种非压缩的BCD 码。 4.十进制数转换成二进制是。 5.以_微型计算机____为主体,配上系统软件和外设之后,就构成了__微型计算机系统____。6.十进制数转换成二进制为、八进制、十六进制。(精确到小数点后4位) 二、选择题 1.堆栈的工作方式是__B_________。 A)先进先出 B)后进先出 C)随机读写 D)只能读出不能写入 2.八位定点补码整数的范围是____D_________。 A)-128-+128 B)-127-+127 C)-127-+128 D)-128-+127 3.字长为16位的数可表示有符号数的范围是___B___。 A)-32767-+32768 B)-32768-+32767 C)0-65535 D)-32768-+32768 三、简答题 1.微型计算机系统的基本组成? 微型计算机,系统软件,应用软件,输入输出设备 2.简述冯.诺依曼型计算机基本思想? 将计算过程描述为由许多条指令按一定顺序组成的程序,并放入存储器保存 指令按其在存储器中存放的顺序执行; 由控制器控制整个程序和数据的存取以及程序的执行; 以运算器为核心,所有的执行都经过运算器。 3.什么是微型计算机? 微型计算机由CPU、存储器、输入/输出接口电路和系统总线构成。 4.什么是溢出? 运算结果超出了计算机所能表示的范围。 2.2 一、填空题 1. 8086/8088的基本总线周期由___4____个时钟周期组成,若CPU主频为10MHz,则一个时钟周期的时间为μs_____。 2. 在8086CPU的时序中,为满足慢速外围芯片的需要,CPU采样___READY_________信号,若未准备好,插入___TW__________时钟周期。 3. 8086系统总线形成时,须要用_____ALE__________信号锁定地址信号。 4. 对于8086微处理器,可屏蔽中断请求输入信号加在_____INTR__________引脚。 5. 在8086系统中,若某一存贮单元的逻辑地址为7FFFH:5020H,则其物理地址为

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

第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)源操作数为立即寻址,目的操作数为寄存器寻址。

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

《微机原理与接口技术》参考答案 《微机原理与接口技术》习题参考答案习题 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.8086CPU由哪两部分组成?它们的主要功能是什么? 8086CPU由总线接口部件BIU和指令执行部件EU组成,BIU和EU的操作是并行的。 总线接口部件BIU的功能:地址形成、取指令、指令排队、读/写操作数和总线控制。所有与外部的操作由其完成。 指令执行部件EU的功能:指令译码,执行指令。 2.8086CPU中有哪些寄存器?各有什么用途? 8086CPU的寄存器有通用寄存器组、指针和变址寄存器、段寄存器、指令指针寄存器及标志位寄存器PSW。 4个16位通用寄存器,它们分别是AX,BX,CX,DX,用以存放16位数据或地址。也可分为8个8位寄存器来使用,低8位是AL、BL、CL、DL,高8位是AH、BH、CH、DH,只能存放8位数据,不能存放地址。 指针和变址寄存器存放的内容是某一段内地址偏移量,用来形成操作数地址,主要在堆栈操作和变址运算中使用。 段寄存器给出相应逻辑段的首地址,称为“段基址”。段基址与段内偏移地址结合形成20位物理地址。 指令指针寄存器用来存放将要执行的下一条指令在现行代码中的偏移地址。 16位标志寄存器PSW用来存放运算结果的特征,常用作后续条件转移指令的转移控制条件。 5.要完成下述运算或控制,用什么标志位判断?其值是什么? ⑴比较两数是否相等? 将两数相减,当全零标志位ZF=1时,说明两数相等,当ZF=0时,两数不等。 ⑵两数运算后结果是正数还是负数? 用符号标志位SF来判断,SF=1,为负数;SF=0,为正数。 ⑶两数相加后是否溢出? 用溢出标志位来判断,OF=1,产生溢出;OF=0,没有溢出。 ⑷采用偶校验方式。判定是否要补“1”? 用奇偶校验标志位判断,有偶数个“1”时,PF=1,不需要补“1”;有奇数个“1”时,PF=0,需要补“1”。 (5)两数相减后比较大小? ●ZF=1时,说明两数是相等的; ●ZF=0时: 无符号数时,CF=0,被减数大;CF=1,被减数小。 带符号数时,SF=OF=0或SF=OF=1,被减数大;SF=1,OF=0或SF=0,OF1,被减数小。 (6)中断信号能否允许? 用中断标志位来判断,IF=1,允许CPU响应可屏蔽中断;IF=0,不响应。 6.8086系统中存储器采用什么结构?用什么信号来选中存储体? 8086存储器采用分体式结构:偶地址存储体和奇地址存储体,各为512k。 用A0和BHE来选择存储体。当A0=0时,访问偶地址存储体;当BHE=0时,访问奇地址存储体;当A0=0,BHE=0时,访问两个存储体。 9.实模式下,段寄存器装入如下数据,写出每段的起始和结束地址 a)1000H 10000H~1FFFFH b)1234H 12340H~2233FH c)2300H 23000H~32FFFH d)E000H E0000H~EFFFFH e)AB00H AB000H~BAFFFH

河南工大 微机原理考试答案(整理)

第二章 总线分类和各自传送信息类型:数据总线(DB)-输数据信息、地址总线(AB)-传输存储器地址和I/O地址、控制总线(CB)-传输控制信息和状态信息 包含两大构件及作用:1、执行单元EU 2、总线接口单元BIU。执行单元主要功能是执行指令,分析指令,暂存中间运算结果并保留结果的特征.总线接口单元BIU负责CPU与存储器,I/O接口之间的信息传送. 3. 4.什么是总线周期,至少包含4时钟周期:CPU与内存或接口间都是通过总线进行通信,将一个字节写入内存单元或从内存单元读一个字到CPU,这种通过总线进行一次读写的过程称为一个总线周期。 5.对堆栈进行操作时数据存取遵循LIFO(后进先出)规则。 请求中断为可屏蔽中断,受中断允许标志寄存器IF的控制。 7. 外部数据总线只有8位. 复位后,CS:IP=FFFFH:0000H 10.11.一般存取数据时,默认的段寄存器是DS 12. 13.什么是物理地址,什么是逻辑地址,即它们的关 系:8086有20条地址线,可寻址的最大物理内存容量 为1MB(2^20),其中任何一个存储单元有一个二十位的 地址,称为内存单元的物理地址.段基地址和段内偏移 地址称为逻辑地址.物理地址=段基址*16+段内偏移即 段基地址左移4位,然后与偏移地址相加可得到20位 的物理地址. 第三章 指令操作数分为哪几种:立即操作数、寄存器操作 数、存储器操作数。 2.寻址方式:立即寻址、直接寻址、寄存器寻址、寄 存器间接寻址、寄存器向对寻址、基址-变址寻址、基 址-变址-相对寻址、隐含寻址。 1.半导体存储器的类型与特点:1.随机存取存储器 RAM 主要特点是可以随机进行读写操作,但掉电后信 息会丢失。2.只读存储器ROM 只读存储器包括掩膜 ROM PROM EPROM EEPROM等几种类型主要特点是掉电 后不会丢失所存储的内容,可随机进行读操作,但不 能写入或只能有条件编程写入。 1.cpu与外设之间数据的传输方式:无条件传送方 式、查询工作方式、中断控制方式、直接存储器存取 (DMA)方式 2.采用查询中断方式时,是如何传递数据: 查询方式:首先查询外设的状态,判断数据是否准备 好;若没有,则继续查询;否则就进行一次数据读 取;数据读入后,cpu向外设发出响应信号,表示数 据已被接收,外设收到响应信号后,即开始下一个数 据准备工作;cpu判断是否已读取完全部数据,若没 有,则重新进行第一步,否则就结束传送。 中断方式:cpu不主动介入外设数据传输工作,而是 由外部设备在需要进行数据传送时向cpu发出中断请 求,cpu在接到请求后若条件允许,则暂停正在进行 的工作而转去对该外设服务,并在服务结束后回到原 来被中断的地方继续原来的工作。 3.中断向量表的构成,什么是中断向量中断向量是 中断服务程序的首地址。中断向量表位于内存的最低 1K字节,共256个表项存放256个中断向量。每个中 断向量占4个字节,其中低位字存放中断服务程序入 口地址偏移量,高位字存放中断服务程序入口地址的 段地址按中端类型码大小,对应的中断向量在中断向 量表中有规则地顺序存放。 4.cpu处理外部中断的步骤:1、中断请求2、中断源 识别(中断判优)3、中断响应4、中断处理5、中断 返回 5.cpu相应内部中断的过程:获得中断类型码后 (1)将类型码乘4,计算出中断向量的地址(2)硬 件现场保护。(3)清楚IF和TF标志,屏蔽新的 INTR中断和单步中断(4)保存断点,即把断点处的 IP和CS值压入堆栈,先压入CS值,再压入IP值。 (5)根据第一步计算出来的地址从中断向量表中取出 中断服务程序的入口地址(段和偏移),分别送入CS 和IP中。(6)转入中断服务程序执行 6.中断服务程序的一般流程:进入中断服务程序后, 首先要保护在中断服务程序中要使用的寄存器内容, 然后进行相应的中断处理,在中断返回前恢复保护的 寄存器内容,最后执行中断返回指令IRET。IRET的执 行将使cpu按次序恢复断点处的IP CS和标志寄存 器,从而使程序返回到断点处继续执行。(第二种答 案:1、保护软件现场2、开中断3、执行中断处理程 序4、关中断5、恢复现场6、执行中断返回指令 IRET。) 3-12 把内存中首地址为MEM1的200个字节送到手地 址为MEM2的区域中。 MOV SI,OFFSET MEM1

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

微机原理与接口技术试题 微型计算机原理与接口技术综合测试题一 一、单项选择题(下面题只有一个答案是正确的,选择正确答案填入空白处) 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

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

微机原理与接口技术期末考试题库 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引脚的名称各是什么?

微机原理答案 (1)

第1章微型计算机系统概述 1.1 学习指导 简要介绍了微型计算机系统的硬件组成和基本工作方法,以及微型计算机的软件和操作系统。要求了解计算机的硬件组成结构、Intel微处理器的主要成员、系统总线的概念。理解微型计算机的基本操作过程以及指令、程序等基本概念。理解操作系统的重要作用,掌握DOS基本命令的使用。 1.2 习题 1. 简述微型计算机系统的组成。 2. 简述计算机软件的分类及操作系统的作用。 3. CPU是什么?写出Intel微处理器的家族成员。 4. 写出10条以上常用的DOS操作命令。

第2章 计算机中的数制和码制 2.1 学习指导 介绍计算机中数制和码制的基础知识,主要包括各种进制数的表示法及相互转换、二进制数的运算、有符号二进制数的表示方法及运算时的溢出问题、实数的二进制表示法、BCD 编码和ASCII 字符代码等内容。要求重点掌握各种进制数的表示及相互转换、有符号数的补码表示及补码运算。 2.2 补充知识 1. 任意进制数的表示 任意一个数N 可表示成p 进制数: () ∑??==1n m i i i p p k N 其中,数N 表示成m 位小数和n 位整数。 1,,1,0?=p k i L 2. 数制之间的变换 十进制到任意进制(设为p 进制)的变换规则:(1)整数部分:N 除以p 取余数;(2)纯小数部分:N 乘以p 取整数。 任意进制(设为p 进制)到十进制的变换规则:按权展开。 3. 有符号数的补码表示 对于任意一个有符号数N,在机器字长能表示的范围内,可分两步得到补码表示:(1)取N 的绝对值,并表示成二进制数N1;(2)如果N 为负数,则对N1中的每一位(包括符号位)取反,再在最低位加1。这样得到的N1就是有符号数N 的补码表示。 4. 常用字符的ASCII 码 数字0~9:30H~39H;字母A~Z:41H~5AH;字母a~z:61H~7AH;空格:20H;回车(CR):0DH;换行(LF):0AH;换码(ESC):1BH。 2.3 习 题 1. 将下列十进制数转换成二进制数: (1)49;(2)73.8125;(3)79.75; 2. 将二进制数变换成十六进制数: (1)101101B ;(2)1101001011B ;(3)1111111111111101B ; (4)100000010101B ;(5)1111111B ;(6)10000000001B 3. 将十六进制数变换成二进制数和十进制数: (1)FAH ;(2)5BH ;(3)78A1H ;(4)FFFFH 4. 将下列十进制数转换成十六进制数: (1)39;(2)299.34375;(3)54.5625 5. 将下列二进制数转换成十进制数:

相关主题
相关文档 最新文档