当前位置:文档之家› 微机原理答案解析

微机原理答案解析

微机原理答案解析
微机原理答案解析

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

第一章

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→+5810000000→-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-Y]补=[X]补+[-Y]补=10011011+11100010=01111101

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

[X]原=11100101,X的真值为-101;[Y]原=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.6 8086的存储器采用什么结构?

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

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

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

2.10 名词解释

(1)时钟周期:一个时钟脉冲的时间长度,CPU的时钟频率的倒数,也称T状态。(2)总线周期:CPU中,BIU完成一次访问存储器或I/O端口操作所需要的时间,称作一个总线周期,也称机器周期(Machine Cycle)。

(3)指令周期:执行一条指令所需的时间称为指令周期。

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

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

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

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

答:T=1/4μs,那么一个基本的总线周期是4T=1μs。

第三章

3.5 已知某个系统的ROM容量为6K字节,首地址为2800H,求其最后一个单元的地址。答:最后一个单元的地址=2800H+17FFH=3FFFH

3.6采用Intel 2114(1K×4位)RAM芯片,组成64K×8位的存储器,需要多少片2114?答:需要128块。

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

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

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

3.8在8086存储器系统的最高地址区组成32KB的ROM,要求采用2764芯片(8K×8的EPROM),以及利用74LS138译码器进行全译码,请画出这些芯片与系统总线连接的示意图。

74LS138

G1 G2A G2B

&

O

A19 A18 A17 A16 A15 A14 A13 A

B

C

2764 (1)

2764 (2)

2764 (3)

2764 (4)

A12~A0

CE

CE

CE

CE

Y4

Y5

Y6

Y7

O

第四章

4.1 试出指令MOV BX,3040H和MOV BX,[3040H]有什么不同?

1、寻址方式不同:立即数寻址和直接寻址。

2、运行结果不同:

MOV BX,3040H ;BX=3040H

MOV BX,[3040H] ;将DS段3040H和3041H的内容送BX

4.2 指出下列指令是否有错,并说明理由。

(1)MOV [DI],[SI] ;错,内存单元之间不能直接进行数据传送

(2)MOV CS,AX ;错,CS不能做目的操作数

(3)MOV 1200,AX ;错,立即数不能做目的操作数

(4)MOV DS,CS ;错,段寄存器之间不能互相传送

(5)POP CS ;错,CS不能做目的操作数

(6)MOV CL,AX ;错,源、目的操作数长度不一致

(7)MOV [5000H],[1000H];错,内存单元之间不能直接进行数据传送

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

答:堆栈操作是字操作。

入栈时“先减后压”(SP先减2,再压入操作数),执行压栈操作后AL的内容存放在10504H,AH 的内容存放在10505H。

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

法?

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

例如:MOV BL,200

SUB BL,AL

或:NEG AL

ADD AL, 200

4.5 编程求AX累加器和BX寄存器中两个无符号数之差的绝对值,结果放内存(2800H)单元中。

解:CMP AX , BX CMP AX , BX CLC

JA PT1 JA PT1 SUB AX , BX

SUB BX , AX XCHG AX , BX JC PT1

MOV DX , 2800H PT1:SUB AX , BX MOV DI , 2800H

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

HLT HLT HLT

PT1: SUB AX , BX PT1:SUB BX ,AX

MOV DX ,2800H MOV DI ,2800H

MOV DX , AX MOV [DI] , BX

HLT HLT

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

MOV DI , 2000H

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为数据段的一个变量名)

⑴MOV BX, HEX ;将变量HEX的内容传送到BX寄存器

⑵LEA BX, HEX ;取变量HEX的偏移地址送BX

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

⑷MOV BX, SEG HEX ;将变量HEX所在段的段地址传送到BX

4.20 下面是变量定义伪指令,

DA TA SEGMENT

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

CED DB ‘Welcome to you’, ODH , OAH ,‘$’

ADDR DW BUF

COUNT EQU $-CED

DA TA ENDS

问:

⑴按内存单元存放的先后次序,按字节写出数据段中的数据。

05H, 00H, 08H, 00H, 08H, 00H,

05H, 00H, 08H, 00H, 08H, 00H,

05H, 00H, 08H, 00H, 08H, 00H,

57H, 65H, 6CH, 63H, 6FH, 6DH, 65H, 20H, 74H, 6FH, 20H, 79H, 6FH, 75H,

0DH, 0AH, 24H, 00H, 00H

⑵说明对BUF, CED, ADDR等变量施行TYPE, LENGTH SIZE运算符后,其结果分别为多少?

TYPE BUF = 2 LENGTH BUF = 3 SIZE BUF = 6

TYPE CED = 1 LENGTH CED = 1 SIZE CED = 1

TYPE ADDR = 2 LENGTH ADDR = 1 SIZE ADDR = 2

⑶COUNT的值为多少?

19

4.22 编写一个将16位二进制数转换成BCD码数的程序。

DA TA SEGMENT

BIN DB 5C0EH ;待转换数为23567

ADEC DB 5 DUP(?)

TAB DW 10000,1000,100,10,1

DA TA ENDS

CODE SEGMENT

ASSUME CS:CODE, DS:DA TA,

BXEDC PROC FAR

START: MOV AX, DA TA

MOV DS, AX

LEA SI, TAB

LEA DI, ADEC

MOV AX, BIN

LOP0: XOR CL, CL

MOV BX, [SI]

LOP1: SUB AX, BX

JB NEXT

INC CL

JMP LOP1

NEXT: ADD AX, BX

MOV [DI], CL

INC SI

INC SI

INC DI

CMP BX, 1

JNZ LOP0

RET

BXEDC ENDP

CODE ENDS

END START

4.24 编写一个将16位二进制数转化为四位十六进制数的程序,并将十六进制数的各位显示出来。

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

DA TA SEGMENT

BIN DW 1001110101111011B

HEXASC DB 4 DUP(20H)

DB ‘$’

DA TA ENDS

STACK1 SEGMENT PARA STACK

DW 20H DUP(0)

STACKl ENDS

CODE SEGMENT

ASSUME CS:CODE, DS:DA TA, SS:STACKl

BINHEX: MOV CH, 4 ;十六进制数的位数

MOV BX,BIN ;取待转移数据

MOV DI,OFFSET HEXASC ;取存放ASCII码首地址

CONV1: MOV CL,4

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

MOV AL,BL

AND AL,0FH

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 CONVI ;计数未完,继续

LEA DX, HEXASC

MOV AH,09H

INT 21H

CODE ENDS

END BINHEX

很多同学的答案:

DA TA SEGMENT

A DW 4

X DW (16位二进制数)

Y DB 4 DUP(?)

DA TA ENDS

……

START: MOV CX, A

LEA DI, Y

AGAIN: MOV BX, X

PUSH CX

DEC CX

MOVING:SHR BX, 4

LOOP MOVING

POP CX

AND BL, 0FH

CMP BL, 09H

JG DAYU

ADD BL, 30H

JMP XIAOYU

DAYU: ADD BL, 37H

XIAOYU:MOV [DI], BL

INC DI

LOOP AGAIN

LEA DX, Y

MOV AH, 09H

INT 21H

CODE ENDS

END START

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

DA TA SEGMENT

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

MAX DW 0

MIN DW 0

A VG DW 0

DA TA ENDS

STACK SEGMENT PARA STACK‘STACK’

DW 100 DUP (?)

STACK ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DA TA,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 ;和清0

MOV BX,AX ;最大值

MOV DX,AX ;最小值

INC SI

INC SI

MOV CX,9

LOP1: 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];小值?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 A VI,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两个端口读入(输入)一个字到AX。IN AX,DX;间接寻址,从DX和DX+1两个端口读入(输入)一个字到AX。

5.5 某输入设备的接口电路中,其数据端口的地址为3F8H;状态端口地址为3FEH,当其D7位为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端口地址译码器,要求能寻址的端口地址范围分别是:

①340H~347H;②348H~34FH;③350H~357H;④378H~37FH。

答案不唯一。

①340H~347H

74LS138

G1

G2A

G2B

&

A9

A8

A7

A2

A1

A0

A

B

C

Y0

Y7

A6

A5

A4

A3

&

5.16 某8086系统中有三片8259A安排为非缓冲、级连使用,两从片A、B分别接主片的IR2、IR4;三片8259A的端口地址分别为20H、22H、30H、32H、40H、42H;主片及从片A、从片B的IR5 上各接有一个外部中断源,其中断类型号分别为75H、7DH、85H;所有中断都采用电平触发方式、全嵌套、非自动EOI方式。试完成:

①画出该系统中三片8259A级连部分简要的电器原理图;

②编写出全部初始化程序

8259A

8259A CS CS INT INT Y3

Y2

A0

G1

G2A G2B

AB6 AB5 AB4

AB7 ﹠

M/IO AB3

AB2

AB0

138

A0

8259A

CS

INT

A0

C

B

A

Y4

AB1

IR2

IR4

WR

IOR

IOW

去CPU INTR 主片

A

B

RD

WR

RD

WR

RD

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

从片A:ICW1=00011001B=19H ICW2=01111000B=78H ICW3=00000010B=02H ICW4=00000 001B=01H

从片B:ICW1=00011001B=19H ICW2=10000000B=80H ICW3=00000100B=04H ICW4=0000 0001B=01H

主片初始化程序:

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

MOV AL, 19H

OUT 20H, AL ;写入ICW1

MOV AL, 70H

OUT 22H, AL ;写入ICW2

MOV AL, 02H

OUT 22H, AL

MOV AL, 01H

OUT 22H, AL

6.4 设8253计数器0~2和控制字寄存器的I/O地址依次为F8H~FBH,说明如下程序的作用。

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

OUT 0FBH,AL ;写控制字

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

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

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

OUT 0F8H,AL ;写高位字节

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

6.5 设8253的4个端口地址分别为300H、302H、304H和306H,由CLK0输入计数脉冲频率为2MHz。要求通道0输出1.5kHz的方波,通道1、通道2均用通道0的输出作计数脉冲,通道1输出频率为300Hz的序列负脉冲,通道2每秒钟向CPU发50次中断请求。试编写初始化程序,并画出8253相关引脚的连线图。

通道0:输出方波则工作在方式3;计数初值为n0=2MHz/1.5kHz≈1334=536H(1.499kHz)控制字为:00110110B=36H

通道1:输出序列负脉冲则工作在方式2;计数初值为n1=1.5kHz/300Hz=5=05H 控制字为:01010100B=54H

通道2:每秒钟向CPU发50次中断请求则工作在方式2;计数初值为n2=1500/50=30=1EH 控制字为:10010100B=94H

初始化程序:

通道0:MOV DX , 306H

MOV AL , 36H

OUT DX , AL

MOV DX , 300H

MOV AL , 36H

OUT DX , AL

MOV AL , 05H

OUT DX , AL

GA TE0

GA TE1

GA TE2

OUT0

CLK1

CLK2

2MHz

1.5KHz方波

300Hz序列负脉冲

每秒50次中断信号

CS

A1

A0

D7~D0

I/O

译码

M/IO

A7~A0

A2

A1

D7~D0

+5V

OUT2

CLK0

OUT1

WR

RD

WR

RD

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

设端口地址分别为:B0H B2H B4H B6H。系统复位后8255A的所有端口都被置为输入。控制字为:10000000B=80H

输出负跳变:

MOV AL, 80H

OUT B6H, AL

MOV AL, 0BH

OUT B6H, AL

……

MOV AL, 0AH

OUT B6H, AL

输出负脉冲:

MOV AL, 80H

OUT B6H, AL

MOV AL, 0BH

OUT B6H, AL

……

MOV AL, 0AH

OUT B6H, AL

……

MOV AL, 0BH

OUT B6H, AL

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

KEY1: … ;设置行线接输出端口ROWPORT,列线接输入端口COLPORT,并判断是否有键按下

KEY2: MOV AL, 00H

MOV DX, ROWPORT

OUT DX, AL ;行线全为低

MOV DX, COLPORT

IN AL, DX ;读取列值

CMP AL,0FFH

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

PUSH AX ;有闭合键,保存列值

PUSH AX

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

MOV DX, COLPORT

POP AX

OUT DX,AL ;输出列值

MOV DX, ROWPORT

IN AL,DX ;读取行值

POP BX ;结合行列值,此时

MOV AH,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 0FEFEH ;键0的行列值(键值)

DW 0FDFEH ;键1的行列值

DW 0FBFEH ;键2的行列值

…;全部键的行列值

CHAR DB …;键0的代码

DB …;键1的代码

…;全部键的代码

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

设端口地址分别为:B0H B2H B4H B6H

+5V

K3

K2

K1

K0

LED3

LED2

LED1

LED0

PA3

PA2

PA1

PA0

PB3

PB2

PB1

PB0

D7~D0 RD WR RESET

8255A

CS

A1

A0

Y3

C

B

A

G1

G2A

G2B

D7~D0 RD WR RESET

M/IO

A2

A1

A3

A4

A5

A0

A6

A7

8086

≥1

A口、B口都工作在方式0,A口输入,B口输出,C口未用

控制字为:10010000B=90H

MOV AL,90H

OUT 0B6H,AL ;写入控制字

TEST:IN AL,0B0H ;从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 ;

OUT DX,AL ;送除数低字节

INC DX ;DX指向DH

MOV AL,00H

OUT DX,AL ;送除数高字节

MOV DX, 3FBH ;DX指向LCR

MOV AL,1BH ;8位数据位、偶校验、1个停止位

OUT DX,AL

MOV DX, 3FAH

MOV AL,87H ;允许FIFO

OUT DX,AL

微机原理及应用试题库(附答案)

《微机原理及应用》试题库 1. 8086和8088的引脚信号中, D 为地址锁存允许信号引脚。 A.CLK B.INTR C.NMI D.ALE 2. 下面的哪项是有效标识符: B A . 4LOOP: B. DELAYIS: C. MAIN A/B: D. GAMA$1: 3. 如图所示的三态输出电路,当 A 时,V B≈V DD。 A. E(ENABLE)=1, A=1 B. E(ENABLE)=1, A=0 C. E(ENABLE)=0, A=1 D. E(ENABLE)=0, A=0 4. 设(SS)=2000H,(SP)=0100H,(AX)=2107H,则执行指令PUSH AX 后,存放数据21H的物理地址是 D 。 A. 20102H B. 20101H C. 200FEH D. 200FFH 5. 汇编语言中,为了便于对变量的访问, 它常常以变量名的形式出现在程序中, 可以认为它是存放数据存储单元的 A 。 A.符号地址B.物理地址C.偏移地址D.逻辑地址 6. 下列四个寄存器中,不能用来作为间接寻址方式的寄存器是 A 。 A. CX B. BX C. BP D. DI (C)7. 执行下列程序段: MOV AX,0 MOV BX,1 MOV CX,100 AA:ADD AX,BX INC BX LOOP AA HLT 执行后的结果:(AX)= ,(BX)= 。 A. 5050,99 B. 2500,100 C. 5050,101 D. 2550,102 8. 假设V1和V2是用DW定义的变量,下列指令中正确的是 A 。 A.MOV V1, 20H B.MOV V1, V2 C.MOV AL, V1 D.MOV 2000H, V2 9. – 49D的二进制补码为 A 。

微机原理的答案

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

微机原理试卷

安徽建筑工业学院微机原理试题 一、填空题(共26分,每题1分) 1.10001111B= Q= H。 2.已知[X]补=81H,分别求出真值、原码、反码。 3.若AL=41H,问若是无符号数,它代表_____,若是有符号数,它代表_ ,若是BCD码,它代表_____,若是ASCII码,它代表__ __。 4.段寄存器CS存放的内容是__ ,由其如何获得代码段起始地址____。 5.8086CPU中,ALE引脚是________信号。 6.指令MOV CX,[BP+SI+20] 源操作数的物理地址是________。 7.若一个数据块在内存中的起始地址为80A0H:DFF0H,则这个数据块的起始物理地址为。 8.指令ADD [BX+DI],CX 源操作数的寻址方式是_______,目的操作数的寻址方式是_______。 9.已知下列指令执行前,CS=2000H,IP=1000H,SI=2000H,写出下列无条件指令执行后CS和IP值。 (1)EBF4 JMP SHORT L1 CS= ,IP= 。 (2)E3 JMP SI CS= ,IP= 。 10.8259A工作方式中,优先级方式包括_____,_____,_____和_____ 四种。 11.当8255A的PC4—PC7全部为输出线,表明8255A的A端口工作方式是。12.组成32M×8位的存储器,需要1M×4位的存储芯片片。 二、根据要求回答问题(共24分,每题4分) 1.用8位二进制补码计算(-89)+67,并用十六进制数表示机器运算结果,同时判断是否有溢出? 2.如果从存储器的10000H地址开始分配段区,要求代码段占用4 K 字节空间,数据段占2 K字节空间、堆栈段占用512个字节空间。按代码段、数据段和堆栈段的顺序连续分段,写出CS、DS、SS各段寄存器内容是什么? 3.地址总线宽度有什么意义?若地址总线宽度为N,则CPU允许访问的最大存储器空间为多少字节。 4.某数据段定义如下,试列出经汇编后,各存储单元的内容是什么?COUNT值是多少? BUF1的偏移地址是多少? ORG 0200H BUF1 DB 10H,20H BUF2 DW 30H COUNT EQU $–BUF1 5.用什么指令设置哪个标志位,就可以控制CPU是否接受INTR引脚中断请求?

微机原理第二版答案

3.2设(DS)=6000H,(ES)=2000H,(SS)=1500H,(Si)=00A0H,(BX)=0800H,(BP)=1200H,数据变量VAR为0050H. 请分别指出下列各条指令源操作数的寻址方式?它的物理地址是多少? (1) MOV AX,BX (2) MOV DL,80H (3) MOV AX, VAR (4) MOV AX,VAR[BX][SI] (5) MOV AL,‘B' (6) MOV DI, ES: [BX] (7) MOV DX,[BP] (8) MOV BX,20H[BX] 解: (1)寄存器寻址。因源操作数是寄存器,故寄存器BX就是操作数的地址. (2)立即寻址。操作数80H存放于代码段中指令码MOV之后。 (3)直接寻址。 (4)基址一变址一相对寻址.

操作数的物理地址=(DS) × 16+(SI)+(BX)+VAR = 60000H+00A0H+0800H+0050H=608F0H (5)立即寻址 (6)寄存器间接寻址. 操作数的物理地址 = (ES) × 16+(BX) = 20000H+0800H = 20800H (7)寄存器间接寻址。 操作数的物理地址= (SS) × 16+(BP) = 15000H+1200H= 16200H (8)寄存器相对寻址. 操作数的物理地址=(DS) × 16+(BX)+20H = 60000H+0800H+20H= 60820H 3.3 假设(DS)= 212AH,(CS)= 0200H,(IP)= 1200H,(BX)= 0500H,位移量DATA=40H,(217A0H) =2300H,(217E0H)=0400H,(217E2H) =9000H 试确定下列转移指令的转移地址. (1) JMP BX (2) JMP WORD PTR[BX] (3) JMP DWORD PTR[BX+DATA] 解:转移指令分为段内转移和段间转移,根据其寻址方式的不同,又有段内的直接转移和间接转移,以及段间的直接转移和间接转移地址。对直接转移,其转移地址为当前指令的偏移地址(即IP的内容)加上位移量或由指令中直接得出;对间接转移,转移地址等于指令中寄存器的内容或由寄存器内容所指向的存储单元的内容。 (1) 段内间接转移。转移的物理地址=(CS) × l6 +0500H =02000H+0500H=02500H (2)段内间接转移。转移的物理地址= (CS) × 16+ [BX] = (CS) × l6+(217A0H) =02000H+2300H=04300H (3)段间间接转移。转移的物理地址=[BX+DATA] [IP]=[DS×l6+BX+DATA[=[217E0] =(217E2H) × l6+(217E0H) [CS]=[217E2H]=9000H =90000H+0400H=90400H 3.4试说明指令MOV BX,5[BX]与指令LEA BX,5[BX]的区别。 解:前者是数据传送类指令,表示将数据段中以(BX+5)为偏移地址的16位数据送寄存器BX.;后者是取偏移地址指令,执行的结果是(BX)= (BX)+5,即操作数的偏移地址为(BX)+5。 3.5设堆栈指针SP的初值为2300H,(AX)=50ABH,(BX)=1234H。执行指令PUSH AX后,(SP)=?,再执行指令PUSH BX及POP AX之后,(SP)= ?(AX)= ?(BX)=? 解:堆栈指针SP总是指向栈顶,每执行一次PUSH指令SP-2,执行一次POP指令SP+2.所以,执行PUSH AX指令后,(SP)=22FEH;再执行PUSH BX及POP AX后,(SP)=22FEH,(AX)=(BX)=1234H 3.6 指出下列指令的错误: (1) MOV AH,CX (2) MOV 33H,AL (3) MOV AX, [SI][DI] (4) MOV [BX],[SI] (5) ADD BYTE PTR[BP],256 (6) MOV DATA[SI],ES:AX (7) JMP BYTE PTR[BX] (8) OUT 230H,AX (9) MOV DS,BP (10) MUL 39H 解: (1)指令错。两操作数字长不相等

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

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

微机原理及应用习题集库 (请认真复习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 。 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寻址外设可以有两种方式,一种是直接寻址方式,另一种是间 接寻址方式。 9、CPU与外设之间的连接部件称为 I/O接口,它的基本功能是在 CPU与外设之间起缓冲作用。 10、C PU从主存取出一条指令并执行该指令的时间称(),它通常用若干个() 来表示,而后者又包括若干个()。 ①指令周期②机器周期③时钟周期 答:1-2-3 14、数据的输入/输出指的是CPU与 I/O接口进行数据交换。 15.已知X= -120,则X的原码(用八位二进制表示)是____________,补码(用八位二进制表示)是____________。 16、8088中的指令INT n用(N )指定中断类型。 17、8088的ALE引脚的作用是(地址锁存允许)。 18.一片8255A端口A有( 3 )种工作方式,端口B有( 2 )种工作方式。 19.当8255A口工作在方式1输出时,A口输入信号联络线的名称是 IBF ,

微机原理习题解答

第一章微型计算机的基础知识 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=

微机原理[第三版]课后练习答案解析

1 思考与练习题 一、选择题 1.计算机硬件中最核心的部件是( )。C A.运算器 B.主存储器 C.CPU D.输入/输出设备 2.微机的性能主要取决于( )。 A (B——计算机数据处理能力的一个重要指标) A.CPU B.主存储器 C.硬盘 D.显示器 3.计算机中带符号数的表示通常采用( )。C A.原码 B.反码 C.补码 D.BCD码 4.采用补码表示的8位二进制数真值范围是( )。C A.-127~+127 B.-1 27~+128 C.-128~+127 D.-128~+128 5.大写字母“B”的ASCII码是( )。B A.41H B.42H C.61H D.62H 6.某数在计算机中用压缩BCD码表示为10010011,其真值为( )。C A.10010011B B.93H C.93 D.147 二、填空题 1.微处理器是指_CPU_;微型计算机以_CPU_为核心,配置_内存和I/O接口_构成;其特点是_(1)功能强 (2)可靠性高 (3)价格低 (4)适应性强 (5)体积小 (6)维护方便_。P8 P5 2.主存容量是指_RAM和ROM总和_;它是衡量微型计算机_计算机数据处理_能力的一个重要指标;构成主存的器件通常采用_DRAM和PROM半导体器件_。P5 P9 3.系统总线是_CPU与其他部件之间传送数据、地址和控制信息_的公共通道;根据传送内容的不同可分成_数据、地址、控制_3种总线。P9 4.计算机中的数据可分为_数值型和非数值型_两类,前者的作用是_表示数值大小,进行算术运算等处理操作_;后者的作用是_表示字符编码,在计算机中描述某种特定的信息_。P12 5.机器数是指_数及其符号在机器中加以表示的数值化_;机器数的表示应考虑_机器数的范围、机器数的符号、机器数中小数点位置_3个因素。P15 P16 6.ASCII码可以表示_128_种字符,其中起控制作用的称为_功能码_;供书写程序和描述命令使用的称为_信息码_。P18 P19 三、判断题 1.计算机中带符号数采用补码表示的目的是为了简化机器数的运算。( )√ 2.计算机中数据的表示范围不受计算机字长的限制。( )× 3.计算机地址总线的宽度决定了内存容量的大小。( )√ 4.计算机键盘输入的各类符号在计算机内部均表示为ASCII码。( )× (键盘与计算机通信采用ASCII码) 2 思考与练习题 一、选择题 1.在EU中起数据加工与处理作用的功能部件是( )。A A.ALU B.数据暂存器 C.数据寄存器 D.EU控制电路 2.以下不属于BIU中的功能部件是( )。 B A.地址加法器 B.地址寄存器 C.段寄存器 D.指令队列缓冲器

微机原理试题及答案 (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单元中分别存放的是两个双

微机原理答案共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;②状

微机原理习题册答案整理

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.8086CPU通过(A )控制线来区分是存储器访问,还是I/O访问,当CPU执行IN AL,DX 指令时,该信号线为(B )电平。 (1) A. M/ IO B. C. ALE D. N/ (2) A. 高 B. 低 C. ECL D. CMOS 2.n+1位有符号数x的补码表示范围为(B )。 A. -2n < x < 2n B. -2n ≤ x ≤ 2n -1 C. -2n -1 ≤ x ≤ 2n-1 D. -2n < x ≤ 2n 3.若要使寄存器AL中的高4位不变,低4位为0,所用指令为( B )。 A. AND AL, 0FH B. AND AL, 0FOH C. OR AL, 0FH D. OR AL 0FOH 4.下列MOV指令中,不正确的指令是(D )。 A. MOV AX, BX B. MOV AX, [BX] C. MOV AX, CX D. MOV AX, [CX] 5.中断指令INT 17H的中断服务程序的入口地址放在中断向量表地址(C )开始的4个存贮单元内。 A. 00017H B. 00068H C. 0005CH D. 0005EH 6.条件转移指令JNE的条件是( C )。 A. CF=0 B. CF=1 C. ZF=0 D. ZF=1 7. 在8086/8088 CPU中,一个最基本的总线读写周期由(C)时钟周期(T状态)组成,在T1状态,CPU往总线上发(B )信息。 ⑴ A. 1个 B. 2个 C. 4个 D. 6个 ⑵ A. 数据 B . 地址 C. 状态 D. 其它 8. 8086有两种工作模式, 最小模式的特点是(A),最大模式的特点是(C )。 ⑴ A. CPU提供全部控制信号 B. 由编程进行模式设定 C. 不需要8286收发器 D. 需要总线控制器8288 ⑵ A. M/ IN 引脚可直接引用 B. 由编程进行模式设定 C. 需要总线控制器8288 D. 适用于单一处理机系统 9.在8086微机系统的RAM 存储单元器0000H:002CH开始依次存放23H,0FFH,00H,和0F0H四个字节,该向量对应的中断号是( B )。 A. 0AH B. 0BH C. 0CH D. 0DH 10.真值超出机器数表示范围称为溢出,,此时标志寄存器中的( A )位被置位 A. OF B AF C PF D CF 11.8086 系统中内存储器地址空间为1M,而在进行I/O读写是,有效的地址线是( B) A . 高16位 B. 低16位 C. 高8位 D. 低8位 12.8086 CPU中段寄存器用来存放( C ) A. 存储器的物理地址 B. 存储器的逻辑地址 C. 存储器的段基值 D. 存储器的起始地址 13.8259A可编程中断控制器的中断服务寄存器ISR用于( A ) A.记忆正在处理中的中断 B. 存放从外设来的中断请求信号 C.允许向CPU发中断请求 D.禁止向CPU发中断请求 14.8253 可编程定时/计数器的计数范围是( C ) A. 0-255 B. 1-256 C. 0-65535 D. 1-65536

微机原理课后答案

课后练习题 一、填空题 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,则其物理地址为

微机原理和接口技术张颖超叶彦斐第3章习题答案解析

习题 1.指出下列指令中操作数的寻址方式 (1) MOV BX, 20H (2) MOV AX, [1245H] (3) MOV DX, [SI] (4) MOV 100[BX], AL (5) MOV [BP][SI], AX (6) MOV [BX+100][SI], AX (7) MOV [1800H], AL (8) MOV [SI], AX 答: 源操作数目的操作数 1 立即寻址寄存器寻址 2 直接寻址寄存器寻址 3 寄存器间接寻址寄存器寻址 4 寄存器寻址寄存器相对寻址 5 寄存器寻址基址加变址寻址 6 寄存器寻址相对基址加变址寻址 7 寄存器寻址直接寻址 8 寄存器寻址寄存器间接寻址 2. 判断下列操作数寻址方式的正确性,对正确的指出其寻址方式,错误的说明其错误原因:(1) [AX] (2) [SI+DI] (3) BP (4) BH (5) DS (6) [BL+44] (7) [BX+BP+32] (8) [DX] (9) [CX+90] (10) [BX*4] (11) BX+90H (12) SI[100H] 答: (1) 错误,AX不能用于访问内存单元 (2) 错误,两个变址寄存器SI和DI不能同时用于内存单元的有效地址 (3) 正确,寄存器寻址方式 (4) 正确,寄存器寻址方式 (5) 正确,寄存器寻址方式 (6) 错误,寄存器BL不能用于表示内存单元的有效地址 (7) 错误,BX和BP都是基址寄存器,不能同时用于内存单元的有效地址 (8) 错误,DX不能用于表示内存单元的有效地址 (9) 错误,CX不能用于表示内存单元的有效地址 (10)错误,16位寄存器不能乘以比例因子 (11) 错误,没有这样的寻址方式 (12) 错误,书写方式不对,应该写成100H[SI] 3. 已知DS=2000H,ES=1000H,SS=1010H,SI=1100H,BX=0500H,BP=0200H,请指出下列源操作数字段是什么寻址方式?源操作数字段的物理地址是多少? (1) MOV AL, [2500H] (2) MOV AX, [BP] (3) MOV AX, ES:[BP+10] (4) MOV AL, [BX+SI+20]

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

微型计算机原理与接口技术 一、单项选择题 (下面题只有一个答案是正确的,选择正确答案填入空白处) 1.8086CPU通过( 1 )控制线来区分是存储器访问,还是I/O访问,当CPU执行IN AL,DX指令时,该信号线为( 2 )电平。 (1) A. M/IO 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中,一个最基本的总线读写周期由( C1 )时钟周期(T状态)组成,在T1状态,CPU往总线上发( B2 )信息。 ⑴ A. 1个 B. 2个 C. 4个 D. 6个 ⑵ A. 数据 B . 地址 C. 状态 D. 其它 8. 8086有两种工作模式, 最小模式的特点是( 1 ),最大模式的特点是( 2 )。 ⑴ A. CPU提供全部控制信号 B. 由编程进行模式设定

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