当前位置:文档之家› 微机原理与接口技术(第2版)牟琦主编习题答案

微机原理与接口技术(第2版)牟琦主编习题答案

微机原理与接口技术(第2版)牟琦主编习题答案
微机原理与接口技术(第2版)牟琦主编习题答案

习题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.6)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]补=1111111111111110

③ [-3212]补=1111011101011100

=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) 寄存器间接寻址,PA=2000H×10H+00A0=200A0H

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

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

(7) 寄存器寻址,无PA

(8) 立即数寻址,无PA

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)=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) (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) 寄存器相对寻址方式,只能使用基址或变址寄存器,不能使用CX寄存器。

(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 未定义,无法做比较指令;

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

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

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

SECOND DB 5 DUP(?)

THIRD DB 5 DUP(?)

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

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

答:

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

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

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

CODE ENDS

END START

9. 内存中以FIRST和SECOND开始的单元中分别存放着两个16位组合的十进

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

第二章 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位地址空间进行访问,就需要两部分地址

微机原理课后作业答案第五版

第一章 6、[+42]原=00101010B=[+42]反=[+42]补 [-42]原 [-42]反 [-42]补 [+85]原=01010101B=[+85]反=[+85]补 [-85]原 [-85]反 [-85]补 10、微型计算机基本结构框图 微处理器通过一组总线(Bus)与存储器和I/O接口相连,根据指令的控制,选中并控制它们。微处理器的工作:控制它与存储器或I/O设备间的数据交换;进行算术和逻辑运算等操作;判定和控制程序流向。 存储器用来存放数据和指令,其内容以二进制表示。每个单元可存8位(1字节)二进制信息。 输入——将原始数据和程序传送到计算机。 输出——将计算机处理好的数据以各种形式(数字、字母、文字、图形、图像和声音等)送到外部。 接口电路是主机和外设间的桥梁,提供数据缓冲驱动、信号电平转换、信息转换、地址译码、定时控制等各种功能。 总线:从CPU和各I/O接口芯片的内部各功能电路的连接,到计算机系统内部的各部件间的数据传送和通信,乃至计算机主板与适配器卡的连接,以及计算机与外部设备间的连接,都要通过总线(Bus)来实现。 13、8086有20根地址线A19~A0,最大可寻址220=1048576字节单元,即1MB;80386有32根地址线,可寻址232=4GB。8086有16根数据线,80386有32根数据线。

1、8086外部有16根数据总线,可并行传送16位数据; 具有20根地址总线,能直接寻址220=1MB的内存空间; 用低16位地址线访问I/O端口,可访问216=64K个I/O端口。 另外,8088只有8根数据总线 2、8086 CPU由两部分组成:总线接口单元(Bus Interface Unit,BIU) BIU负责CPU与内存和I/O端口间的数据交换: BIU先从指定内存单元中取出指令,送到指令队列中排队,等待执行。 执行指令时所需的操作数,也可由BIU从指定的内存单元或I/O端口中获取,再送到EU去执行。 执行完指令后,可通过BIU将数据传送到内存或I/O端口中。 指令执行单元(Execution Unit,EU) EU负责执行指令: 它先从BIU的指令队列中取出指令,送到EU控制器,经译码分析后执行指令。EU的算术逻辑单元(Arithmetic Logic Unit,ALU)完成各种运算。 6、见书P28-29。 7.(1) 1200:3500H=1200H×16+3500H=15500H (2) FF00:0458H=FF00H×16+0458H=FF458H (3) 3A60:0100H=3A80H×16+0100H=3A700H 8、(1)段起始地址 1200H×16=12000H,结束地址 1200H×16+FFFFH=21FFFH (2)段起始地址 3F05H×16=3F050H,结束地址 3F05H×16+FFFFH=4F04FH (3)段起始地址 0FFEH×16=0FFE0H,结束地址 0FFEH×16+FFFFH=1FFD0H 9、3456H×16+0210H=34770H 11、堆栈地址范围:2000:0000H~2000H(0300H-1),即20000H~202FFH。执行 两条PUSH指令后,SS:SP=2000:02FCH,再执行1条PUSH指令后,SS: SP=2000:02FAH。 12、(2000H)=3AH, (2001H)=28H, (2002H)=56H, (2003H)=4FH 从2000H单元取出一个字数据需要1次操作,数据是 283AH; 从2001H单元取出一个字数据需要2次操作,数据是 5628H; 17、CPU读写一次存储器或I/O端口的时间叫总线周期。1个总线周期需要4个系统时钟周期(T1~T4)。8086-2的时钟频率为8MHz,则一个T周期为125ns,一个总线周期为500ns,则CPU每秒最多可以执行200万条指令。

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

范文范例学习指导 第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,在实地

微机原理及应用 第2章 习题及答案

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]=0B7H,[21203H]=65H。

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

习题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章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个不同的逻辑空间时,应采用不同形式的指令,以产生不同存储空间的选

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

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

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

第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)) 则

《微机原理与接口技术》第二次作业答案

《微机原理与接口技术》第二次作业答案 (C ) A. 10100000B B. 01000001B C. 01000000B D. 10100001B 6.二进制数 10110101B-11011011B (即2014年09月11日)后显示在题目旁边。 一、单项选择题。本大题共 20个小题,每小题 3.0分,: 选项中,只有 ?项是符合题目要求的。 1. “ A 的 ASCII 码值是() (B ) A. 51H B. 41H C. 61H D. 31H 2. 二进制数10101101 转换为十进制数的值是( ) (C ) A. 174 B. 175 C. 173 D. 172 3. 十六进制数ECH 转换为十进制数的值是() (A ) A. 236 B. 235 C. 234 D. 237 4. 设A=186,B=273Q,C=0BBH ,它们之间的关系是 (D ) A. A>B>C B. A

A. 11001011B B. 01011010B C. 11011010B D. 01011011B 7.二进制数 10010111B 与11010011B 求和后, ZF 与CF 标志位的值为() A. 1、1 B. 0、1 C. 1、0 D. 0、0 8. 二进制数 10010111B (B ) 与11010011B 求和后, PF 与OF 标志位的值为() (A ) A. 1、 1 B. 0、 1 C. 1、 0 D. 0、 0 9. 标志寄存器中属于控制标志位的是( (D ) A. DF ,OF ,SF B. OF ,CF ,PF C. AF ,OF ,SF D. DF ,IF ,TF 0、0 10. 8088/8086 存储器分段,每个段不超过( ) (D ) A. 64K 个字 B. 32K 个字节 C. 1兆个字节 D. 64K 个字节 (A ) A. END 语句是一可执行语句 B. END 语句表示程序执仃到此结束 C. END 语句表示源程序到此结束 D. END 语句在汇编后要产生机器码 11.在汇编语言程序中,对 END 语句正确的叙述是()

微机原理第2章作业及答案

第2章8086微处理器及其系统 习题解答 1. 8086 CPU 由哪两部分构成,它们的主要功能是什么在执行指令期间,EU 能直接访问存储器吗,为什么 【解】8086CPU由执行部件(EU)和总线接口部件(BIU)两部分组成。 执行部件由内部寄存器组、算术逻辑运算单元(ALU)与标志寄存器(FR)及内部控制逻辑等三部分组成。寄存器用于存储操作数和中间结果;算术逻辑单元完成16位或8位算术逻辑运算,运算结果送上ALU内部数据总线,同时在标志寄存器中建立相应的标志;内部控制逻辑电路的主要功能是从指令队列缓冲器中取出指令,对指令进行译码,并产生各种控制信号,控制各部件的协同工作以完成指令的执行过程。 总线接口部件(BIU)负责CPU与存储器、I/O设备之间传送数据、地址、状态及控制信息。 每当EU部件要执行一条指令时,它就从指令队列头部取出指令,后续指令自动向前推进。EU要花几个时钟周期执行指令,指令执行中若需要访问内存或I/O设备,EU就向BIU 申请总线周期,若BIU总线空闲,则立即响应,若BIU正在取一条指令,则待取指令操作完成后再响应EU的总线请求。 2. 8086CPU与传统的计算机相比在执行指令方面有什么不同这样的设计思想有什么优点【解】8086 CPU与传统的计算机相比增加了指令队列缓冲器,从而实现了执行部件(EU)与总线接口(BIU)部件的并行工作,因而提高了8086系统的效率。 3. 8086 CPU 中有哪些寄存器,各有什么用途 【解】8086共有8个16位的内部寄存器,分为两组: ①通用数据寄存器。四个通用数据寄存器AX、BX、CX、DX均可用作16位寄存器也可用作8位寄存器。用作8位寄存器时分别记为AH、AL、BH、BL、CH、CL、DH、DL。 AX(AH、AL)累加器。有些指令约定以AX(或AL)为源或目的寄存器。实际上大多数情况下,8086的所有通用寄存器均可充当累加器。 BX(BH、BL)基址寄存器。BX可用作间接寻址的地址寄存器和基地址寄存器,BH、BL 可用作8位通用数据寄存器。 CX(CH、CL)计数寄存器。CX在循环和串操作中充当计数器,指令执行后CX内容自动修改,因此称为计数寄存器。 DX(DH、DL)数据寄存器。除用作通用寄存器外,在I/O指令中可用作端口地址寄存器,乘除指令中用作辅助累加器。 ②指针和变址寄存器。 BP(Basic Pointer Register)基址指针寄存器。 SP(Stack Pointer Register)堆栈指针寄存器。

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

微机原理与接口技术期末考试题库 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、在微型计算机中,微处理器的主要功能是进行( )。 D A、算术运算 B、逻辑运算 C、算术、逻辑运算 D、算术、逻辑运算及全机的控制 2、Pentium I属于()位CPU C A、16 B、8 C、32 D、64 3、Intel 8086属于()位CPU A A、16 B、8 C、32 D、64 4、CPU与I/O设备间传送的信号通常有( ) D A、控制信息 B、状态信息 C、数据信息 D、以上三种都有 5、存储器用来存放计算机系统工作时所需要的信息,即( )。 D A、程序 B、数据 C、技术资料 D、程序和数据 6、运算器的核心部件是( )。 D A、加法器 B、累加寄存器 C、多路开关 D、算逻运算单元 二、填空 1、内存可分为2大类:随机存储器RAM 和 2、数据总线是向的,地址总线是向的。 3、计算机的五大部件是:、、、、输出设备 4、总线可分为三类:、、 5、存储程序工作原理最先由提出 6、在计算机内部,一切信息的存取、处理和传送都是以形式进行的。 1、只读存储器ROM 2、双、单 3、运算器、控制器、存储器、输入设备 4、地址总线、数据总线、控制总线 5、冯·诺依曼 6、二进制 三、简答 1、冯·诺依曼型计算机的特点是什么? (1).以二进制表示指令和数据 (2).程序和数据存放在存储器中,从存储器中取指令并执行 (3).由运算器、控制器、存储器、输入设备、输出设备构成计算机硬件系统。 一、选择 1、在机器数______中,零的表示形式是唯一的()。BD A、原码 B、补码 C、反码 D、移码 2、计算机内部表示带符号整数通常采用()。C A、原码 B、反码 C、补码 D、移码

微机原理习题答案2

《微机原理》习题2 (P40)参考答案 为什么说计算机只能“识别”二进制数,并且计算机内部数的存储及运算也都采用二进制?解:因为二进制是计算机刚出现时就奠定的计算机内的进位记数制,之所以选用它来表示计算机内的信息,是因为两个状态的物理器件容易制造和实现,将这两个状态抽象为数字就可用0、1来表示;此外,采用二进制的运算规则较为简单,容易实现。 在进位记数制中,“基数”和“位权(或权)”的含义是什么?一个以b为基数的任意进制数N,它按位权展开式求值的一般通式是如何描述的? 解:在进位记数制中,常常要用“基数”(或称底数)来区别不同的数制,而进位制的基数就是该进位制所用的字符或数码的个数。 在一个进位记数制中,每一位都有特定的权,称为位权或简称权。每个位权由基数的 n次幂来确定。 数N的按位权展开式的一般通式为:N=±(k i×b i) 式中,k i为第i位的数码;b为基数;b i为第位的位权;n为整数的总位数;m 为小数的总位数。 将下列十进制数分别转化为二进制数。 (1)147 (2)4095 (3) (4) 解:(1) 147 D= B (2) 4095 D= B (3) D= B (4) D= B 将下列二进制数分别转换为BCD码。 (1)1011 (2) (3) (4) 解:(1) 1011 B=1×23+0×22+1×21+ 1×20=11 D=(0001 0001)BCD (2) B=1×2-2= D= 0101)BCD (3) B =1×24+1×22+1×20+1×2-1+1×2-3 = D =(0010 0010 0101)BCD (4) =1×24+1×23+1×21+1×20+1×2-3= =(0010 0010 0101)BCD

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

《微机原理与接口技术》复习参考资料 第一章概述 一、计算机中的数制 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码)相符。

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