微机原理习题参考答案1.docx

微机原理习题参考答案1.docx
微机原理习题参考答案1.docx

习题与思考题(参考答案)

第一章

1.6将下列十进制数转换成二进制数。

256D =10000000B 237. 135D=11101101.0010001B

12. 58D=1100. 100101B 0. 374D二0. 0101B

1.7写出下列二进制数对应的十进制数、八进制数、十六进制数。

1101110B二110D二156Q二6EH 111011000B二472D二730Q二1D8H

1101111. 1001B-111. 5625D二157.44Q二6F? 9H

1.8填空:

10101. 001B= (21. 125) D= (25. 1) Q= (15.2) H

2DE. 6H= (1011011110.011) B= (1336. 3) Q= (734. 375) D 1.9试写出下列用补码表示的二进制数的真值。

00111010 -00111010-+58 10000000--128

10000101->11111011->-123 11111110->10000010->-2 01111110-

01111110-+126

1.10已知X=35, Y = -89,试用补码运算法则,求出:X + Y = ?

[X]补= 00100011 [Y]原=11011001 [ Y]补=10100111

[X + Y]补=[X]补 + [Y]补= 00100011+10100111 = 11001010 X + Y = = 10110110B=-54

1.11 已知[X]补=10011011, [X + Y]补=10111001,试求:

①[x —Y ]补=? (有溢出,结果出错。)

因为[X + Y]补=[X]补 + [Y]补=10111001

所以[Y]补=[X + Y]补一[X]补= 00011110

[-Y]补=11100010

[X — Yh=[X]补+[—丫]补=10011011+11100010 = 01111101

②X、Y的真值各为多少?

[X]原= 11100101, X 的真值为一101;[丫]原=00011110, Y 的

真值为30

第二章

2.3 8086CPU的ALE信号的功能是什么?

答:ALE (Address Latch Enable)是8086CPU提供给地址锁存器的控制信号,在任何一个总线周期的T1状态,ALE输出有效电平(正脉冲),以表示当前地址/数据、地址/状态复用总线上输出的是地址信息,锁存器可利用它的下降沿将地址锁存起来。ALE信号不能浮空。

2.4 8086CPU内部的寄存器由哪几种类型组成?各自的作用是什么?

答:8086CPU内部有14个16位寄存器,可以分为以下三组:分别是通用寄

存器组,段寄存器组,控制寄存器。

通用寄存器组可以分为两组:数据寄存器和地址指针与变址寄存器。数据寄存器主要用来保存算术、逻辑运算的操作数、中间结果和地址。

地址指针与变址寄存器主要用于存放或指示操作数的偏移地址。

段寄存器组:8086 / 8088CPU内部设置了4个16位段寄存器,它们分别是代码段寄存器CS、数据段寄存器DS、堆栈段寄存器SS、附加段寄存器ES, 由它们给出相应逻辑段的首地址,称为“段基址”。

控制寄存器:含指令指针IP及标志位寄存器FR。

IP用来存放将要执行的下一条指令在现行代码段中的偏移地址。

标志寄存器FR用来存放运算结果的特征。

2.68086的存储器采用什么结构?

答:8086的存储器采用分体结构。1M的存储空间分成两个存储体:偶地址存储体和奇地址存储体,各为512K字节。

2.78086CPU访问存储器时物理地址是如何形成的?

答:8086CPU访问存储器时根据所执行的操作,自动选择某个段寄存器,将其中的内容(16位)自动左移4位形成20位地址的高16位,而20位地址的低4位自动添0,然后通过20位地址加法器再与16位偏移量相加,形成对应的物理地址。

2.10名词解释

(1)时钟周期:一个时钟脉冲的时间长度,CPU的时钟频率的倒数,也称T 状态。

(2)总线周期:CPU中,BIU完成一次访问存储器或I/O端口操作所需要的时间,称作一个总线周期,也称机器周期(Machine Cycle)o (3)指令周期:执行一条指令所需的时间称为指令周期。

(4)等待周期:在T3和T4之间插入的周期。

(4)空闲状态:CPU不执行总线周期时的状态。

(5)时序:计算机操作运行的时间顺序。

2.12如果8086的CLK引脚输入的时钟脉冲频率为4MHz,那么一个基本的总线周期是多少?

答:T=l/4us,那么一个基本的总线周期是4T=1 use

第三章

3.5已知某个系统的ROM容量为6K字节,首地址为2800H,求其最后一个单元的地址。

答:最后一个单元的地址=2800H+17FFH = 3FFFH

3.6采用Intel 2114 (1KX4位)RAM芯片,组成64KX8位的存储器,需要多少片2114?

答:需要128块。

注:扩展时需要的芯片数量可以这样计算:要构成一个容量为MX7位的存储器,若使用pXk位的芯片(p

3.7某RAM芯片的存储容量为4096X8位,则该芯片的引脚中有几条数据线和几条地址线?已知某RAM芯片引脚中有8条数据线,12条地址线,那么该芯片的存储容量是多少?

答:该芯片的外部引脚应有8条数据线,12条地址线。

RAM芯片引脚中有8条数据线,12条地址线,那么该芯片的存储容量是4K X8位。

3.8在8086存储器系统的最高地址区组成32KB的ROM,要求采用2764芯片(8KX8的EPROM),以及利用74LS138译码器进行全译码,请画出这些芯

第四章

4. 1试出指令MOV BX, 3040H 和MOV BX, [3040H]有什么不同? 1、 寻址方式不同:立即数寻址和直接寻址。 2、 运行结果不同:

MOV BX, 3040H ; BX 二3040H

MOV BX, [304011]

;将 DS 段 304011 和 3041II 的内容送 BX

内存单元之间不能直接进行数

据传送 CS 不能做目的操作数 立即数不能做目的操作数 段寄存器之间不能互相传送 CS 不能做目的操作数 源、目的操作数长度不一致

[1000II];错,内存单元之间不能直接进

行数据传送

4.3在8086中,堆栈操作是字操作还是字节操作?已知SS 二1050H, SP 二0006H, AX 二1234H,若对AX 执行压栈操作(即执行PUSH AX );试问AX 的 内容存

放在何处?

答:堆栈操作是字操作。

入栈时“先减后压”(SP 先减2,再压入操作数),执行压栈操作后AL 的内容存

放在10504H,AH 的内容存放在10505Ho

4.4假如要从200中减去AL 中的内容,用SUB 200, AL 对吗?如果不对, 应采

用什么方法?

答:不对,立即数不能作为目的操作数。先把立即数传送到一个存储器 或寄存器当中。

例如:MOV BL, 200

SUB BL, AL

或:NEG AL

ADD AL, 200

(2) MOV CS, AX (3) MOV 120( J, AX (4) MOV DS, CS

(5) POP CS

(6) MOV

CL, AX

(7) MOV [500( 川],

4.2指出下列指令是否有错,并说明理由。 (1) MOV [DI], [SI] 错,

错, 错, 错, 错, 错,

4.5编程求AX累加器和BX寄存器中两个无符号数之差的绝对值,结果

放内存(2800H)单元中。

解:CMP A X ,BX CMP AX , BX CLC

JA PT1 JA PT1 SUB AX , BX

SUB BX ,AX XCHG AX , BX JC PT1

MOV DX ,280011 PT1:SUB AX , BX MOV DI , 2800II

MOV DX ,BX MOV [2800H], AX MOV [DI] , AX

HLT HLT HLT

PT1: SUB A X ,BX PT1:SUB BX ,AX

MOV DX ,2800H MOV DI ,2800H

MOV DX ,AX MOV [DI] , BX

HLT HLT

4.6若有两个4字节的无符号数相加,这两个数分别存放在2000H和3000II 开始的存储单元,将所求的和存放在2000II开始的内存单元中,试编制程序。

MOV DI , 2000II

LEA SI , 3000H

MOV AX , [DI]

MOV DX , [DI+2]

ADD AX , [SI]

ADC DX , [SI+2]

MOV [DI], AX

MOV [DI+2] ,DX

4.7用两种方法写出从88H端口读入信息的指令,再用两种方法写出从

44H端口输出数据56H的指令。

方法一:IN AL , 88H 方法二:MOV DX, 0088H

IN AX , DX

MOV AL , 56H MOV AL ,56H

OUT 44H ,AL MOV DX ,0044H

OUT DX , AL

4. 19 指出以下四条指令的作用 (HEX 为数据段的一个变量名) (1) MOV BX, HEX

将变量HEX 的内容传送到BX 寄存器

(2) LEA BX, HEX ;取变量HEX 的偏移地址送BX (3) MOV

BX, OFFSEG HEX ;BX 指向变量HEX 的偏移地址

(4) MOV

BX, SEG HEX

;将变量HEX 所在段的段地址传送到BX

4. 20下面是变量定义伪指令,

DATA SEGMENT

BUF DW 3 DUP(5,2 DUP(8))

CED DB "Welcome to you , , ODH , OAH , '$, ADDR DW

BUF

COUNT EQU $-CED DATA

ENDS

问:

(1)按内存单元存放的先后次序,按字节写出数据段中的数据。 05H, OOH, 08H, OOH, 08H, OOH, 05H, OOH, 08H, OOH, 08H, OOH,

05H, OOH, 08H, OOH, 08H, OOH,

57H, 65H, 6CH, 63H, 6FH,

I

5DH, 65H, 20H, 74H, 6FH, 20H, 79H, 6FH,

75H,

ODH, OAH, 24H, OOH, OOH

⑵ 说明 对BUF, CED, ADDR 等变量施行TYPE, LENGTH SIZE 运算符后,

⑶COUNT 的值为多少? 19

4. 22编写一个将16位二进制数转换成BCD 码数的程序。 DATA SEGMENT

其结果分别为多少?

TYPE BUF 二 2 TYPE CED 二 1 TYPE ADDR 二 2 LENGTH BUF 二 3 LENGTH CED 二 1 LENGTH ADDR 二 1

SIZE BUF 二 6 SIZE CED 二 1 SIZE ADDR 二 2

BXEDC PROC FAR START :

MOV AX, DATA MOV DS, AX

LEA

SI, TAB

LEA

DI, ADEC

MOV

AX, BIN LOPO :

XOR CL, CL

MOV

BX, [SI] L0P1:

SUB AX, BX

JB NEXT

INC

CL

JMP

L0P1

NEXT :

ADD AX,

BX

MOV [DI], CL

INC

SI

INC

SI

INC

DI

CMP

BX, 1

JNZ

LOPO

RET

BXEDC ENDP

CODE

ENDS

END START

4. 24编写一个将16位二进制数转化为四位十六进制数的程序,并将十

BIN ADEC TAB

DB DB DW 5C0EH 5 DUP (?)

10000,1000,100,10,1

DATA ENDS

CODE

SEGMENT

ASSUME CS :CODE, DS:DATA,

;待转换数为23567

六进制数的各位显示出来。

注:答案中给了一个假定的16位二进制数。

DATA SEGMENT

BIN DW 1001110101111011B

HEXASC DB 4 DUP (20H)

DB '$'

DATA ENDS

STACK1 SEGMENT PARA STACK

DW 20H DUP(0)

STACK1 ENDS

CODE SEGMENT

ASSUME CS:CODE, DS:DATA, SS: STACK1

BINHEX: MOV CH, 4 ;十六进制数的位数MOV BX, BIN取待转移数据

MOV DI, OFFSET I1EXASC ;取存放ASCII码首地址CONVl: MOV CL, 4

ROL BX, CL ;取4位二进制数

MOV AL, BL

AND AL, OFH

CMP AL, 09H是0-9吗?

JBE ASCI ;是,转移

ADD AL, 07H是A-F,先加07H

ASCI: ADD AL, 30H ;加30H

MOV [DI], AL ;存结果

INC DI ;修改指针

DEC CH

JNE CONVl ;计数未完,继续

LEA DX, HEXASC

MOV AH, 09H

I NT 21H

CODE ENDS

END BINHEX

很多同学的答案:

DATA SEGMENT

A DW 4

X DW (16位二进制数) Y DB 4 DUP(?)

DATA ENDS

START : MOV

CX, A LEA DI, Y AGAIN : MOV

BX, X

DAYU : ADD BL, 37H XIAOYU :MOV [DI], BL

INC

DI

LOOP AGAIN LEA DX, MOV AH, 09H

I NT

21H

CODE ENDS

END START

PUSH DEC

MOVING :SHR LOOP POP AND CMP JG ADD

JMP

CX CX

BX, 4

MOVING CX BL, OFH BL, 09H DAYU BL, 30H

XIAOYU

4.26从BUF单元开始有10个带符号数:-1, 3, 248, 90, 42, 9042, -4539, 0, -28792o试找出它们的最大值、最小值和平均值,并分别送MAX、MIN和AVG单元。试编写完整的汇编语言程序。

DATA SEGMENT

BUFER DW -1, 3, 248, 90, 42, 9042, -4539, 0, -28792

MAX DW 0

MIN DW 0

AVG DW 0

DATA ENDS

STACK SEGMENT PARA STACK 'STACK'

DW 100 DUP (?)

STACK ENDS

CODE SEGMENT

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

START PROC FAR

BEGIN: PUSH DS

MOV AX, 0

PUSH AX

MOV AX, DATA

MOV DS, AX

LEA SI, BUFFER

MOV AX, SI ;和清o

MOV BX, AX ;最大值

MOV DX, AX ;最小值

INC SI

INC SI

MOV CX, 9

L0P1: ADD AX, [SI]

CMP DX, [SI] ;与最小值单元中的值相比较

JE NEXT1 ;相等转至NEXT1

JG NEXT2 ;若大于转至NEXT2

MOV DX, [SI] ;把小的值送至DX NEXT1:CMP BL, [DI];

JB NEXT2 ;若低于转移

MOV BL, [DI];小值T BL(2分)NEXT2:MOV DL, [DI];取一字节数据

ADD AX, DX ;累加和

INC DI

LOOP LOP1

MOV MAX, BH;送大值

MOV MIN, BL;送小值

MOV DL, 6

DIV DL, ;求平均值

MOV AVI, AL;送平均值

RET

START ENDP

CODE ENDS

END BEGIN

5.1 8086CPU对其I/O端口的寻址采用哪种方式?它的四条输入指令:

IN AL, PORT; IN AL, DX ; IN AX, PORT; IN AX, DX 的作用有何区别?答:8086CPU对其I/O端口的寻址采用I/O端口单独寻址方式。

IN AL, PORT;直接寻址,从PORT端口读入(输入)一个字节到AL。

IN AL, DX ;间接寻址,从DX所指端口读入(输入)一个字节到AL。

IN AX, PORT;直接寻址,从PORT和PORT+1两个端口读入(输入)

一个字到AXo

IN AX, DX;间接寻址,从DX和DX+1两个端口读入(输入)一个字到AX o

5.5某输入设备的接口电路中,其数据端口的地址为3F8H;状态端口地址为3FEH,当其D?位为1时,表示输入数据已准备好。试编写采用查询方式的数据传送程序段,要求从该设备读取100个字节,并存放到自2000H: 2000H 开始的内

存单元之中。

MOV AX, 2000H

MOV DS, AX ;设定段基址

MOV DI, 2000H ;目的地址送DI

MOV CX, 100 ;字节数

READ: MOV DX, 3FEH ;指向状态口

IN AL, DX ;读入状态位

TEST AL, 80H ;数据准备好否?

JZ READ ;否,循环检测

MOV DX, 3F8H ;指向数据口

IN AL, DX ;已准备好,读入数据

MOV [DI], AL ;存到内存缓冲区中

INC DI ;修改地址指针

LOOP READ ;未传送完,继续传送

5.6设计一个采用74LS138的I/O端口地址译码器,要求能寻址的端口地址范围分别是:

①340II?34711;②34811 ?34F1I;③350II-3571I;④37811 ?37FI1。答案不

唯一。

5. 16某8086系统中有三片8259A 安排为非缓冲、级连使用,两从片A 、 B

分别接主片的IR2、IRi ;三片8259A 的端口地址分别为20H 、22H 、30H 、32H 、

40H 、42H ;主片及从片A 、从片B 的I&上各接有一个外部中断源,其中断类 型号

分别为75H 、7DH 、85H ;所有中断都采用电平触发方式、全嵌套、非自动 E0I 方式。试完成:

① 画出该系统中三片8259A 级连部分简要的电器原理图; ② 编写出全部初始化程序

①340H-347H

A 9

人8

A7 Ae A5 A 4 A3

AB7 M/IO AB3 AB2 AB5 AB4

AB0 AB6 I0W

主片:ICW1 二00011001B二19H ICW2二01110000B二70H ICW3二00010100B二14H ICW4二00000001B二01H

从片A: ICW1 二00011001B二1911 ICW2二01111000B二7811 ICW3二00000010B二0211

ICW4=00000001B=01H

从片B: ICW1 二00011001B二19H ICW2二10000000B二80H ICW3二00000100B二04H ICW4 二00000001B 二0111

主片初始化程序:

ICW1写入到偶端口地址20H; ICW2写入到奇端口地址22H

MOV AL, 19H

OUT 20H, AL ;写入ICW1

MOV AL, 70H

OUT 22H, AL ;写入ICW2

MOV AL, 02H

OUT 2211, AL

MOV AL, 01H

OUT 22H, AL

6. 4设8253计数器0?2和控制字寄存器的I/O地址依次为F8H?FBH,

说明如下程序的作用。

MOV AL, 33H ;00110011B计数器0,先低位后高位,方式1,BCD

码计数

OUT OFBH, AL ;写控制字

MOV AL, 80H ;置计数初值低位字节80H

OUT 0F8H, AL ;先写低位字节

MOV AL, 50H ;置计数初值高位字节50H

OUT 0F8H, AL ;写高位字节

程序的作用为:使计数器0工作在方式1,用BCD码计数,计数初值为5080o

6.5设8253的4个端口地址分别为300H、302H、304H和306H,由CLK。

输入计数脉冲频率为2MHzo 要求通道0输出1.5kHz 的方波,通道1、通道2 均用通道0的输出作计数脉冲,通道1输出频率为300Hz 的序列负脉冲,通 道2每秒钟向CPU 发50次中断请求。试编写初始化程序,并画出8253相关 引脚的连线图。

通道0:输出方波则工作在方式3;计数初值为n°二2MHz/l ?5kHz" 1334=53611

(1.499kllz)

控制字为:00110110B=36H

通道1 :输出序列负脉冲则工作在方式2 ;计数初值为 m 二1. 5kHz/300Hz 二

5二05H

控制字为:01010100B=54H

通道2:每秒钟向CPU 发50次中断请求则工作在方式2;计数初值为

匕二1500/50二30二1EH 控制字为:10010100B 二 94H

初始化程序: 通道0:

MOV DX , 306H MOV AL , 36H OUT DX , AL MOV DX , 30011 MOV AL , 36H OUT DX , AL MOV AL , 05H

OUT DX , AL

+5V

M/TO A7 ?A0

300战序列负脉冲

每秒50次中断信

2MIIz 1.5KHz 方波

7.3编程使8255A的PG端输出一个负跳变。如果要求PG端输出一个负脉冲,则程序又如何编写?

设端口地址分别为:BOII B2H B4II B6IIo系统复位后8255A的所有端口都被置为输入。

控制字为:10000000B 二80H

输出负跳变■

?

MOV AL, 80H

OUT B6H, AL

MOV AL, OBH

OUT B6H, AL

MOV AL, OAH

OUT B6H, AL

输出负脉

冲:MOV AL, 8011

OUT B6H, AL

MOV AL, OBH

OUT B6H, AL

MOV AL, OAH

OUT B6H, AL

MOV AL, OBH

OUT B6H, AL

7.4假设图7. 15 键盘接口电路中8255A的A、B、C 口和控制口地址为218H?21BH,写出完整的行反转法键盘扫描子程序。

KEY1:…;设置行线接输岀端口ROWPORT,列线接输入端口COLPORT,并判

断是否有键按下

KEY2: MOV AL, 0011

MOV DX, ROWPORT

OUT DX, AL ;行线全为低

MOV DX, COLPORT

IN AL, DX ;读取列值

CMP AL,OFFH

JZ KEY2 ;无闭合键,循环等待

PUSH AX

PUSH AX

;有闭合键,保存列值

? ? ?

MOV DX, COLPORT

POP AX

;设置行线接输入端口ROWPORT,列线接输出端口COLPORT

OUT DX,AL

MOV DX, ROWPORT

;输出列值

IN AL,DX ;读取行值

POP BX ;结合行列值,此时

MOV All, BL

;查找键代码

;AL=行值,AH二列值

MOV SI, OFFSET TABLE ;TABLE为键值表

MOV DI, OFFSET CHAR ;CHAR为键对应的代码

MOV CX, 64 ;键的个数

KEY3:CMP AX, [SI] ;与键值比较

JZ KEY4 ;相同,说明查到

INC SI

INC SI

INC DI

LOOP KEY3

;不相同,继续比较

JMP KEY1 ;全部比较完,仍无相同,说明是重键

KEY4:MOV AL,[DI] ;获取键代码送AL

? ? ?;判断按键是否释放,没有则等待CALL DELAY ;按键释放,延时消除抖动? ? ?;后续处理

TABLE DW OFEFEH ;键0的行列值(键值)

DW OFDFEH ;键1的行列值

DW OFBFEH ;键2的行列值

? ? ?;全部键的行列值

CHAR DB…;键0的代码

DB…;键1的代码

? ? ?;全部键的代码

7. 5设某工业控制系统中,有四个有触点开关Ko~K3控制,分别用于代表四种不同的工作状态,另有四个发光二极管L O~L3,要求CPU反复检测K O~K3的状态,并控制L O~L3的发光用来表示四个开关的状态,其中L O~L3分别与K。?K3对应,即当某Ki开关闭合时,则使对应的发光二极管Li点亮发光,开关心打开则对应发光二极管b不亮。试画出系统的电器原理图并编写相应的程序。

设端口地址分别为:B0I1 B21I B41I B61I

A 口、

B 口都工作在万式0, A 口输入, B 口输出,

C 口未用

控制字为:10010000B=90H

;写入控制字

MOV OUT

AL, 90H 0B6H, AL TEST : IN

AL, OBOH ;从A 口读入开关状态 OUT

0B2H, AL ;B 口控制LED,指示开关状态 JMP

TEST

;循环检测

8.4 设16550采用18. 432MHZ 基准时钟,端口地址为3F8?3FFH,要求 的波特

率为19200,字符格式为8位数据位、偶校验、1个停止位,试写出其 初始化程序。

LCR 地址:3FBH

① DL 地址:3F8 (DLAB=1) DH 地址:3F9 (DLAB=1) 除数=60=003CH

② LCR 的值:00011011B 二 1BH

③ FIFO 地址:3FAH ;赋值 10000111B=87H

MOV DX, 3FBH ; DX 指向 LCR

MOV AL, 80H ;置 DLAB=1

OUT

DX, AL

MOV DX, 3F8H ; DX 指向 DL MOV AL, 3CH

8086

D7 ?DO RD

WR

RESET

PA3 PA2

PAI

PA O

cs

8255A

PB3

PB2

PB1

PB O

Al AO

D7 ?DO

RD WR M/10 A7

A0 A6

A3 A4

A2 Al

Y

A B G1G2G2c B A

Ko

3 2 10 D D D D E E E E L L L L

z 丄

KK-

微机原理的答案

第二章8086/808816位微处理器习题解答 1.试说明8086/8088CPU中有哪些寄存器?各有哪些用途? 答:寄存器组有(1)数据寄存器,含AX、BX、CX、DX四个通用寄存器,用来暂时存放计算过程中所遇到的操作数,结果和其它信息。(2)指针及变址寄存器,含SP、BP、SI、DI四个十六位寄存器,它们可以像寄存器一样在运算过程中存放操作数只能以字为单位使用。还用来在段内寻址时提供偏移地址。(3)段寄存器,含CS、DS、SS、ES,用来专门存放段地址。(4)控制寄存器,包括IP和PSW两个16为寄存器。IP是指令指针寄存器,用来存放代码段中的偏移地址。 PSW为程序状态字寄存器,由条件码标志和控制标志构成。条件码标志用来纪录程序运行结果的状态信息。包括OF、SF、ZF、CF、AF、PF。控制标志位有三个寄存器DF、IF、TF组成。 2.是说明8086/8088CPU中标志位寄存器中各标志位的意义? 答:OF溢出标志,在运算过程中,如操作数超出了机器能表示的范围则置1,否则置0。SF符号标志,运算结果为负时置1,否则置0。 ZF零标志,运算结果为0置1,否则置0 。 CF进位标志,记录运算是最高有效位产生的进位。 AF辅助进位标志,记录第三位的进位情况。 PF奇偶标志位,用来为机器中传送信息时可能产生的出错情况提供检验条件,当结果操作数中的1的个数为偶时置1。 DF方向标志位,在串处理指令中控制处理信息的方向。当DF=1时,每次操作后变址寄存器减量,这样就使串处理从高地址向低地址方向处理。IF中断标志,当IF=1时,允许中断,否则间断中断。TF陷阱标志,用于单步操作方式,当TF为1时,每条指令执行完后产生陷阱,由系统控制计算机。当TF为0时,CPU正常工作不产生陷阱。 3.哪些操作只能隐含使用某个段寄存器,而不能用其它段寄存器代替?哪些操作出隐含使用某个段寄存器外,还可以使用其它段寄存器? 答:计算程序的地址隐含使用CS,正在执行的程序隐含使用SS,而数据的地址隐含使用ES和DS。4.8086/8088系列违纪在存储器中寻找存储单元时,逻辑地址由哪两个部分组成的? 答:由段地址和偏移地址两部分构成。 5.设IBM PC微机内存中某个单元的物理地址是12345H,试完成下列不同的逻辑地址表示: (1)1234H:___H (2)____H:0345H 答:(1)1234H:05H (2) 1200H:0345H 6.假设某程序执行过程中,(SS)=0950H,(SP)=64H,试问该用户程序的堆栈底部物理地址是多少?答:(SS)*10H+(SP)=09564H 7.设堆栈段寄存器(SS)=0E4BH,程序中设堆栈长度为200H个字节。试计算出堆栈底部字单元物理地址,堆栈指针SP初始值(即堆栈中没有数据时)和SP初始值指向的物理地址。 答:物理地址为:3E4B0H, SP的初始值为200H,指向的物理地址为:3E6B1H.。 8.设某用户程序(SS)=0925H,SP=30H,(AX)=1234H,(DX)=5678H,问堆栈的地址范围是多少?如现有两条进展指令: PUSH AX PUSH DS 试问两指令执行后,(SP)=? 答:寻址范围:09250H~09280H,SP减4为2CH。 9.8086CPU与 8088CPU由哪些相同之处?又有哪些区别? 答:他们内结构基本相同,不同之处仅在于8088有8条外部数据总线,因此为准16位。 8088有16条外部数据总线,两个CPU的软件完全兼容,程序的编制也完全相同。 10.8086CPU从功能上分为几部分?各部分由什么组成?各部分的功能是什么? 答:8086CPU从功能上分外两大部分,一是执行部件(EU),二是总线接口部件(BIU)。

(完整版)微机原理课后习题参考答案

第一章 2、完成下列数制之间的转换。 (1)01011100B=92D (3)135D=10000111B (5)10110010B=262Q=B2H 3、组合型BCD码和非组合型BCD码有什么区别?写出十进制数254的组合型BCD数和非组合型数。 答:组合型BCD码用高四位和低四位分别对应十进制数的个位和十位,其表示范围是0~99;非组合型BCD码用一个字节的低四位表示十进制数,高四位则任意取值,表示范围为0~9。 组合型:254=(001001010100)BCD 非组合型:254=(00000010 00000101 00000100)BCD 7、计算机为什么采用补码形式存储数据?当计算机的字长n=16,补码的数据表示范围是多少? 答:在补码运算过程中,符号位参加运算,简化了加减法规则,且能使减法运算转化为加法运算,可以简化机器的运算器电路。+32767~ -32768。 9、设计算机字长n=8,求下列各式的[X+Y]补和[X-Y]补,并验证计算结果是否正确。 (1)X=18,Y=89 [X+Y]补=00010010+01011001=01101011B=107D 正确 [X-Y]补=10111001B=00010010+10100111=(-71D)补正确 (2)X=-23,Y=-11 [X+Y]补=11101001+11110101=11011110B=(-34D)补正确[X-Y]补=11101001+00001011=11110100B=(-12D)补正确 (3)X=18,Y=-15 [X+Y]补=00010010+11110001=00000011B=(3D)补正确 [X-Y]补=00010010+00001111=00100001B=(33D)补正确 (4)X=-18,Y=120 [X+Y]补=11101110+01111000=01100110B=(102D)补正确[X-Y]补=11101110+10001000=01110110B=(123D)补由于X-Y=-138 超出了机器数范围,因此出错了。 13、微型计算机的主要性能指标有哪些? 答:CPU字长、存储器容量、运算速度、CPU内核和IO工作电压、制造工艺、扩展能力、软件配置。 第二章 2、8086标志寄存器包含哪些标志位?试说明各标志位的作用。 答:进位标志:CF;奇偶校验:PF;辅助进位:AF;零标志:ZF;符号标志:SF;溢出标志:OF。 5、逻辑地址与物理地址有什么区别?如何将逻辑地址转换为物理地址? 答:物理地址是访问存储器的实际地址,一个存储单元对应唯一的一个物理地址。逻辑地址是对应逻辑段内的一种地址表示形式,它由段基址和段内偏移地址两部分组成,通常表示为段基址:偏移地址。 物理地址=段基址*10H+偏移地址。 6、写出下列逻辑地址的段基址、偏移地址和物理地址。 (1)2314H:0035H (2)1FD0H:000AH 答:(1)段基址:2314H;偏移地址:0035H;物理地址:23175H。 (2)段基址:1FD0H;偏移地址:000AH;物理地址:1FD0AH。 8、设(CS)=2025H,(IP)=0100H,则当前将要执行指令的物理地址是多少? 答:物理地址=(CS)*10H+(IP)=20350H 9、设一个16字的数据区,它的起始地址为70A0H:DDF6H(段基址:偏移地址),求这个数据区的首字单元和末字单元的物理地址。

微机原理试题及答案

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 将下列十进制数转换为二进制数、十六进制数。 (1)110 (2)1 039 (3)0.75 (4)0.156 25 1-2 将下列十进制数转换为BCD 码。 (1)129 (2)5 678 (3)0.984 (4)93.745 1-3 将下列二进制数转换为十进制数、十六进制数。 (1)10101010 (2)10000000 (3)11000011.01 (4)01111110 1-4 将下列十六进制数转换为二进制数、十进制数。 (1)8E6H (2)0A42H (3)7E.C5H (4) 0F19.1DH 1-5 将下列二进制数转换为BCD 码。 (1)1011011.101 (2)1010110.001 1-6 将下列BCD 码转换为二进制数。 (1)(0010 0111 0011) BCD (2)(1001 0111.0010 0101) BCD 1-7 完成下列二进制数的运算。 (1)1001.11+11.11 (2)1101.01-0110.11 (3)1000.011-1001.101 (4)1111+1101 1-8 完成下列十六进制数的运算。 (1)6AH+0A6H (2)0AB1FH+0EFCH (3)12ADH-1DEH (4)117H-0ABH 1-9 已知X=01H,Y=0FFH ,在下面的情况下比较两数的大小。 (1)无符号数 (2)符号数 (均为补码) 1-10 计算下列各表达式。 (1)101+‘A’+01101001B+0D5H+57Q (2)127.8125+10111101.101+375.63Q+1FC.8AH 1-11 写出下列字符串的ASCII 码。 (1)HELLO (2)A8=

微机原理课后习题答案

李伯成《微机原理》习题第一章 本章作业参考书目: ①薛钧义主编《微型计算机原理与应用——Intel 80X86系列》 机械工业出版社2002年2月第一版 ②陆一倩编《微型计算机原理及其应用(十六位微型机)》 哈尔滨工业大学出版社1994年8月第四版 ③王永山等编《微型计算机原理与应用》 西安电子科技大学出版社2000年9月 1.1将下列二进制数转换成十进制数: X=10010110B= 1*27+0*26+0*25+1*24+0*23+1*22+1*21 +0*21 =128D+0D+0D+16D+0D+0D+4D+2D=150D X=101101100B =1*28+0*27+1*26+1*25+0*24+1*23+1*22+0*21+0*20 =256D+0D+64D+32D+0D+16D+4D+0D=364D X=1101101B= 1*26+1*25+0*24+1*23+1*22+0*21 +1*20 =64D+32D+0D+8D+4D+0D+1D=109D 1.2 将下列二进制小数转换成十进制数: (1)X=0.00111B= 0*2-1+0*2-2+1*2-3+1*2-4+1*2-5= 0D+0D+0.125D+0.0625D+0.03125D=0.21875D (2) X=0.11011B= 1*2-1+1*2-2+0*2-3+1*2-4+1*2-5= 0.5D+0.25D+0D+0.0625D+0.03125D=0.84375D (3) X=0.101101B= 1*2-1+0*2-2+1*2-3+1*2-4+0*2-5+1*2-6= 0.5D+0D+0.125D+0.0625D+0D+0.015625D=0.703125D 1.3 将下列十进制整数转换成二进制数: (1)X=254D=11111110B (2)X=1039D=10000001111B (3)X=141D=10001101B 1.4 将下列十进制小数转换成二进制数: (1)X=0.75D=0.11B (2) X=0.102 D=0.0001101B (3) X=0.6667D=0.101010101B 1.5 将下列十进制数转换成二进制数 (1) 100.25D= 0110 0100.01H (2) 680.75D= 0010 1010 1000.11B 1.6 将下列二进制数转换成十进制数 (1) X=1001101.1011B =77.6875D

微机原理及应用 第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。

微机原理答案共16页文档

1.8086/8088 CPU由哪两部分组成?它们的主要功能各是什么?它们之间是如何协调工作的? 微处理器(CPU)总线接口部件(BIU):负责与存储器、I/O 端口传送数据执行部件(EU):负责指令的执行协调工作过程:总线接口部件和执行部件并不是同步工作的,它们按以下流水线技术原则来协调管理: ①每当8086 的指令队列中有两个空字节,或者8088 的指令队列中有一个空字节时,总线接口部件就 ②每当执行部件准备执行一条指令时,它会从总线接口部件的指令队列前部取出指令的代码,然后用几个时钟周期去执行指令。在执行指令的过程中,如果必须访问存储器或者输入/输出设备,那么,执行部件就会请求总线接口部件进入总线周期,完成访问内存或者输入/输出端口的操作;如果此时总线接口部件正好处于空闲状态,那么,会立即响应执行部件的总线请求。但有时会遇到这样的情况,执行部件请求总线接口部件访问总线时,总线接口部件正在将某个指令字节取到指令队列中,此时总线接口部件将首先完成这个取指令的操作,然后再去响应执行部件发出的访问总线的请求。 ③当指令队列已满,而且执行部件又没有总线访问请求时,总线接口部件便进入空闲状态。 ④在执行转移指令、调用指令和返回指令时,由于程序执行的顺序发生了改变,不再是顺序执行下面一条指令,这时,指令队列中已经按顺序装入的字节就没用了。遇到这种情况,指令队列中的原有内容将被自动消除,总线接口部件会按转移位置往指令队列装入另一个程序段中的指令 2.8086/8088 CPU中有哪些寄存器?各有什么用途?标志寄存器F有哪些标志位?各在什么情况下置位? 通用寄存器:用于存放操作数和指针 段寄存器CS 控制程序区DS 控制数据区SS 控制堆栈区ES 控制数据区 标志寄存器F 的标志位:①控制标志:OF、DF、IF、TF;②状

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

6、[+42]原=00101010B=[+42]反=[+42]补 [-42]原=B [-42]反=B [-42]补=B [+85]原=01010101B=[+85]反=[+85]补 [-85]原=B [-85]反=B [-85]补=B 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)

学年第学期微机原理及应用(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.将二进制数转换为十六进制数为。 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.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__________引脚。

微机原理考试试题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

微机原理答案

第3章8086/8088指令系统与寻址方式习题 3.3 8086系统中,设DS=1000H,ES=2000H,SS=1200H,BX=0300H,SI=0200H, BP=0100H,VAR的偏移量为0600H,请指出下列指令的目标操作数的寻址方式,若目标操作数为存储器操作数,计算它们的物理地址。 (1)MOV BX,12 ;目标操作数为寄存器寻址 (2)MOV [BX],12 ;目标操作数为寄存器间址 PA=10300H (3)MOV ES:[SI],AX ;目标操作数为寄存器间址 PA=20200H (4)MOV VAR,8 ;目标操作数为存储器直接寻址 PA=10600H (5)MOV [BX][SI],AX ;目标操作数为基址加变址寻址 PA=10500H (6)MOV 6[BP][SI],AL ;目标操作数为相对的基址加变址寻址 PA=12306H (7)MOV [1000H],DX ;目标操作数为存储器直接寻址 PA=11000H (8)MOV 6[BX],CX ;目标操作数为寄存器相对寻址 PA=10306H (9)MOV VAR+5,AX ;目标操作数为存储器直接寻址 PA=10605H 3.4 下面这些指令中哪些是正确的?那些是错误的?如果是错误的,请说明原因。 (1)XCHG CS,AX ;错,CS不能参与交换 (2)MOV [BX],[1000] ;错,存储器之不能交换 (3)XCHG BX,IP ;错,IP不能参与交换 (4)PUSH CS (5)POP CS ;错,不能将数据弹到CS中 (6)IN BX,DX ;输入/输出只能通过AL/AX (7)MOV BYTE[BX],1000 ;1000大于255,不能装入字节单元 (8)MOV CS,[1000] ;CS不能作为目标寄存器 (9)MOV BX,OFFSET VAR[SI] ;OFFSET只能取变量的偏移地址 (10)MOV AX,[SI][DI] ;SI、DI不能成为基址加变址 (11)MOV COUNT[BX][SI],ES:AX ;AX是寄存器,不能加段前缀 3.7 设当前 SS=2010H,SP=FE00H,BX=3457H,计算当前栈顶的地址为多少?当执行PUSH BX 指令后,栈顶地址和栈顶2个字节的内容分别是什么? 当前栈顶的地址=2FF00H 当执行PUSH BX 指令后,栈顶地址=2FEFEH (2FEFEH)=57H (2FEFFH)=34H 3.8 设DX=78C5H,CL=5,CF=1,确定下列各条指令执行后,DX和CF中的值。 (1) SHR DX,1 ;DX=3C62H CF=1 (2) SAR DX,CL ;DX=03C6H CF=0 (3) SHL DX,CL ;DX=18A0H CF=1 (4) ROR DX,CL ;DX=2BC6H CF=0 (5) RCL DX,CL ;DX=18B7H CF=1 (6) RCR DH,1 ;DX=BCC5H CF=0; 3.9 设AX=0A69H,VALUE字变量中存放的内容为1927H,写出下列各条指令执行后寄存器和CF、ZF、OF、SF、PF的值。 AX CF ZF OF SF PF (1)XOR AX,VALUE ; 134EH 0 0 0 0 1 (2)AND AX,VALUE ; 0821H 0 0 0 0 1 (3)SUB AX,VALUE ; F142H 1 0 0 1 1 (4)CMP AX,VALUE ; 0A69H 1 0 0 1 1 (5)NOT AX ; F596H X X X X X (6)TEST AX,VALUE ; 0A69H 0 0 0 0 1

微机原理课后习题答案

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

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

微机原理期末考试试题及答案 上海应用技术学院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) 二、单项选择题 (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

相关文档
最新文档