当前位置:文档之家› (完整版)微机原理与接口技术(第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

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

CODE ENDS

END START

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

第二章 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 一、选择题(20分,在每小题的4个备选答案中选出一个正确的答案编号填写在该题空白处,每题2分) 1.指令MOV DX,[BX]的寻址方式是 D 。 (A)立即寻址(B)直接寻址(C)寄存器寻址(D)寄存器间接寻址2.若AL的内容为3FH,执行SHL AL,1指令后,AL的内容为 A 。 (A)7EH (B)1FH (C)9FH (D)7FH 解析:shl al ,1 即目的操作数各位左移一次,移动一次,相当于将目的操作数乘以2。3fh=63 63*2=126 126=7eh 故选A 3.属于在工作中需定时刷新的存储器的芯片是 B 。 (A)SRAM (B)DRAM (C)EEPROM (D)EPROM 4.某EPROM芯片上有19条地址线A 0~A 18 ,它的容量为 C 。 (A)128K (B)256K (C)512K (D)1024K 5.8086/8088CPU的SP寄存器是多少位的寄存器 B 。 (A)8位(B)16位(C)24位(D)32位 6.在STOSB指令执行的时候,隐含着寄存器的内容作为操作数的偏移地址, 该寄存器是 D 。 (A)SP (B)BX (C)SI (D)DI 解析:stos数据串存储指令功能:将累加器al或ah中的一个字或字节,传送到附加段中以di为目标指针的目的串中,同时修改di,以指向串中的下一个单元。 7.8255工作在方式0时,下面哪种说法不正确 C 。 (A)A口输入无锁存能力(B)A、B口输出有锁存能力 (C)C口输入有锁存能力(D)A、B、C三个口输出均有锁存能力 解析:对于方式0,规定输出信号可以被锁存,输入不能锁存 8.采用DMA方式来实现输入输出是因为它 A 。 (A)速度最快(B)CPU可不参与操作(C)实现起来比较容易(D)能对突发事件做出实时响应 9.工作在最小模式下,8086/8088CPU芯片中,将地址信号锁存的信号是 C 。 (A)DT/R (B)DEN (C)ALE (D)AEN 10.在LOOP指令执行的时候,隐含着对计数器减1的操作,该计数器是用寄存 器 C 。 (A)AX (B)BX (C)CX (D)DX 解析:loop:循环指令。指令执行前必须事先见重复次数放在cx寄存器中,每执行一次loop指令,cx自动减1。 二、填空题(每小题2分,共10分) 1.两个无符号数相等,该两数相减后ZF标志= 1 。解析:zf: 全零标志位。本次运算结果为0时,zf=1,否则zf=0。 2.执行LODSB后,SI的内容较该指令执行前增加1,说明DF= 0 。

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

范文范例学习指导 第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)

学年第学期微机原理及应用(A)课程试卷 卷16 班级姓名得分任课教师 一、选择题:(每题分,共18分) 1、DMAC向CPU发出请求信号,CPU响应并交出总线控制权后将( 3)。 反复执行空操作,直到DMA操作结束 进入暂停状态, 直到DMA操作结束 进入保持状态, 直到DMA操作结束 进入等待状态, 直到DMA操作结束 2、有一个实时数据采集系统,要求10ms进行一次数据采集,然后进行数据 处理及显示输出,应采用的数据传送方式为( 3 )。 无条件传送方式查询方式 中断方式直接存储器存取方式 3、在数据传送过程中,数据由串行变并行,或由并行变串行的转换可通过 (3 )来实现。 计数器寄存器移位寄存器 D触发器 4、8088 CPU输入/输出指令可寻址外设端口的数量最大可达(4 )个。 128 256 16K 64K 5、CPU响应中断后,通过( 4)完成断点的保护。 执行开中断指令执行关中断指令 执行PUSH指令内部自动操作 6、并行接口芯片8255A具有双向数据传送功能的端口是(1 )。 PA口PB口 PC口控制口 7、8088CPU处理动作的最小时间单位是(2 )。 指令周期时钟周期机器周期总线周期8.堆栈是内存中(4 )。 先进先出的ROM区域后进先出的ROM区域 先进先出的RAM区域后进先出的RAM区域

9、计算机中广泛应用的RS-232C实质上是一种(3 )。 串行接口芯片串行通信规程(协议) 串行通信接口标准系统总线标准 5--1 10、高速缓冲存储器(CACHE)一般是由( 1 )芯片组成。 SRAM DRAM ROM EPROM 11、鼠标器是一种(3 )。 手持式的作图部件手持式的光学字符识别设备 手持式的座标定位部件手持式扫描器 12、传送速度单位“bps”的含义是( 2 )。 bytes per second bits per second baud per second billion bytes per second 二、填空题:(每空1分,共12分) 1、CPU在响应中断后,自动关中。为了能实现中断嵌套,在中断服务程序中, CPU必须在保护现场后,开放中断。 2、在计算机运行的过程中,有两股信息在流动,一股是数据,另 一股则是控制命令。 3、指令MOV BX,MASK[BP]是以 ss 作为段寄存器。 4、指令REPE CMPSB停止执行时,表示找到第一个不相等的字符 或 CX=0 。 5、设CF=0,(BX)= 7E15H,(CL)= 03H,执行指令 RCL BX,CL后, (BX) = ,(CF)=,(CL)=。0F0A9H 1 3 6、在8088 CPU中,一个总线周期是 CPU从存储器或I/O端口存取一个字 节的时间。 8253定时/计数器有 3 个独立的16位计数器,每个计数器都可按二进制或 bcd 来计数。 三、程序设计(共40分) 1.(10分)假设X和X+2单元与Y和Y+2单元中分别存放的是两个双

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

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

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

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

微机原理考试试题3套及答案

微型计算机原理与接口技术综合测试题一 一、单项选择题(下面题只有一个答案是正确的,选择正确答案填入空白处) 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 11.8086 系统中内存储器地址空间为1M,而在进行I/O读写是,有效的地址线是( ) A . 高16位 B. 低16位 C. 高8位 D. 低8位 12.8086 CPU中段寄存器用来存放( ) A. 存储器的物理地址 B. 存储器的逻辑地址 C. 存储器的段基值 D. 存储器的起始地址 13.8259A可编程中断控制器的中断服务寄存器ISR用于( ) A.记忆正在处理中的中断 B. 存放从外设来的中断请求信号 C.允许向CPU发中断请求 D.禁止向CPU发中断请求 14.8253 可编程定时/计数器的计数范围是( ) A. 0-255 B. 1-256 C. 0-65535 D. 1-65536

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

《微机原理与接口技术》习题答案 一、单项选择题 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 语句正确的叙述是()

微机原理期末考试试题及答案

微机原理期末考试试题及答案 上海应用技术学院2008—2009学年第一学期 《微机原理及应用》期末试卷A 课程代码: B203205A学分: 3.5考试时间: 100分钟 课程序号: 1958,1960 班级:学号:姓名: 我已阅读了有关的考试规定和纪律要求~愿意在考试中遵守《考场规则》~如有违反将愿接受相应的处理。 题号一二三四五六七八九十总分应得分20 10 20 15 10 1510 100实得分 试卷共页,请先查看试卷有无缺页,然后答题。 一、填空(每空1分,共20分) 1(MCS-51的EA 管脚接低电平时,CPU只能访问外部程序存储器。 2(MCS-51单片机从外部程序存储器取指令时,使用/PSEN信号作“读”信号,从外 信号作“读”信号。部数据存储器取数据时,使用/RD 3(MCS-51的堆栈设在内部RAM 中,单片机复位后SP的内容为07 H。 4. MOV A,34H中的34H是直接寻址。 MOV A,@R0中的@R0是间接寻址。 5(若PSW=98H,则选择了第3组工作寄存器,此时R7的地址是1F H。 6(MCS-51的数据总线共8位,来自P0口,地址总线共16位,来自P2和P0口。

7(8255A具有( 3 )个8位可编程I/O口。8(若串口工作于方式1,每分钟传送3000个字符,其波特率是( 500 )bit/s。 9(一个8位A/D转换器的分辨率是( 3.9 )‰。 10(若0809 U=5V,输入模拟信号电压为2.5V时,A/D转换后的数字量是( 80H )。REF 11(一个EPROM的地址有A0----A11引脚,它的容量为( 4 )KB。 12(已知1只共阴极LED显示器,其中a笔段为字形代码的最低位,若需显示数字1, 它的字形代码应为( 06H )。 第1页 二、判断题,对者划“?”,错者划“×”。(每小题1分,共10分)1((?)8051单片机的算术运算类指令执行的一般会影响标志位。2((?)8051单片机的外部数据存储器和内部数据存储器的要用不同的指令来访问。3((×)AJMP指令转移范围是-128,127之间。 4((?)DPTR可以分成高8位和低8位分别寻址。 5((×)MCS51内部定时/计数器在溢出时,都必须由软件重装初值才能按原设定值定时 /计数。 6((×)MCS-51系列单片机4个I/O端口都是多功能的。 7((?)MCS-51特殊功能寄存器的字节地址能被8整除者,可以位寻址。8.(×)并行扩展简单I/O口,对芯片的要求是:输入要锁存,输出要缓冲。((?)串行通信要求是互相通信的甲乙双方具有相同的波特率。9 10((?)8255A的PA口具有3种工作方式。

微机原理第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)堆栈指针寄存器。

微机原理试题集题库(带答案)

微机原理试题集题库(带答案)

微机原理及应用习题集库 (2) 一、填空 (2) 二、单项选择题 (6) 三、程序分析题(每小题6分,共 24分) (16) 四、判断题(在对的后面画√,错的后面 画×): (25) 五:分析判断题(判断对错,并指出错误 原因) (31) 六、简答题: (33) 七、程序题 (38) 八、接口芯片的综合编程题 (50) (一)8255A (50) (二)8259A (56) (三). 其它端口编程题 (58) 2

微机原理及应用习题集库 (请认真复习4、5、7、10、11章后的习题) 一、填空 1.87的原码是0101 0111B=57H , 补码是01010111B ,反码 01010111B 。 2.SP总是指向栈顶,若原先 SP=2000H,SS=2000H,问CPU执行指 令PUSH AX后,AL内容压入物理地址 为21FFEH 存储单元中,AH内 容压入物理地址为21FFFH 存储 单元中。 3.以BX基址寻址,约定的段寄存器是 DS ,以BP基址寻址,约定的段寄存 器是SS ,变址寻址约定的段寄存器 是DS 。 3

4.假设某个字的值是1234H,其低位字节地 址是20H,高位字节地址是21H,那么该 字地址是20H 。 5.8086/8088的状态标志有6(SF、PF、 AF、OF、ZF、CF)个。 8086/8088系统中,存储器是分段的,每段最大长度是64K 字节,段内偏移地址从0000H 到FFFFH 。 6、CPU访问存储器进行读写操作时,通常在 T3状态去检测READY ,一旦检测到READY无效,就在其后插入一个T w周期。 7、汇编语言源程序中的语句有三种类型,它 们是指令语句,伪指令语句,宏指令语句。 8、、8086CPU寻址外设可以有两种方式,一 4

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