文档库 最新最全的文档下载
当前位置:文档库 › 微机原理及应用答案_来源

微机原理及应用答案_来源

微机原理及应用答案_来源
微机原理及应用答案_来源

微型计算LOOP NEXT

CH03 汇编语言程序设计

习题与思考题

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

VAR2 DW 5 DUP(?),0

VAR3 DB …HOW ARE YOU??,3 DUP(1,2)

VAR4 DD -1,1,0

解答:字节空间----VAR1:2;VAR2:12;VAR3:20;VAR4:12。

存储空间的分配图:

DS:0000 0A 02 00 00 00 00 00 00—00 00 00 00 00 00 48 4F

0010 57 20 20 41 52 45 20 20—59 4F 55 3F 01 02 01 02

0020 01 02 FF FF FF FF 01 00—00 00 00 00 00 00

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

(3)JMP LAB[CX] (4)JNZ VAR1

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

解答:(1)两个操作数中至少有一个为寄存器;

(2)AL 为字节,VAR1 为字变量,不匹配;

(3)[]中不能用CX,LAB 为标号,非变量;

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

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

(6)SHL 指令中,当所移位数超过1 时,必须用CL 或CX 来取代所移位数。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 开始的单元。(注意保留移出部分) 解答:

DATA SEGMENT

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

SECOND DB 5 DUP(?)

THIRD DB 5 DUP(?)

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

INC SI

INC SI

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

MOV [DI+2] ,DX

;右移2 位

LEA SI,FIRST

LEA DI,THIRD

MOV CX,2

CLC

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

INC SI

INC SI

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

MOV [DI+3] ,DX

MOV AH,4CH

INT 21H

CODE ENDS

END START

5.(14)在当前数据区从400H 开始的256 个单元中存放着一组数据,试编程序将它们顺序

搬移到从A000H 开始的顺序256 个单元中。

解答:

DATA SEGMENT

ORG 400H

DAT1 DB ...;256 DUP (?)

ORG 0A000H

DAT2 DB ...;256 DUP (?)

DATA ENDS

;

STACK SEGMENT

STACK ENDS

;

CODE SEGMENT

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

START: MOV AX,DATA

MOV DS,AX

;CH3-14

LEA SI,DAT1 LEA DI,DAT2

MOV CX,128

AGAIN: MOV AL,[SI]

MOV [DI],AL

INC SI

INC DI

LOOP AGAIN

;CH3-15,将两个数据块逐个单元进行比较,若有错BL=00H,否则BL=FFH

LEA SI,DAT1

LEA DI,DAT2

MOV CX,128

NEXT: MOV AL,[SI]

MOV BL,[DI]

CMP AL,BL

JNZ ERROR

INC SI

INC DI

LOOP NEXT

MOV BL,0FFH

JMP EXIT

ERROR: MOV BL,00H

EXIT: MOV AX,4C00H

INT 21H

CODE ENDS

END START

6.试编程序将当前数据区从BUFF 开始的4K 个单元中均写入55H,并逐个单元读出比较,

看写入的与读出的是否一致。若全对,则将ERR 单元置0H;如果有错,则将ERR 单元

置FFH。

解答:

DATA SEGMENT

BUFF DB 1000H DUP(?)

ERR DB ?

DATA ENDS

;

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

;将55H 依次放入BUFF 开始的4K 个单元

LEA SI,BUFF

MOV CX,1000H MOV AL,55H

NTXT: MOV [SI],AL

INC SI

LOOP NEXT

;取出与55H 比较,全对则ERR=0,否则ERR=FFH

LEA DI,BUFF

LEA SI,ERR

MOV CX,1000H

NEXT1: MOV AL,[DI]

INC DI

CMP AL,55H

JNZ ERROR;若有一个不同,即置ERR=FFH

LOOP NEXT1

MOV AL,00H

MOV [SI],AL;全比较完无错,则置ERR=0

JMP EXIT

ERROR: MOV AL,0FFH

MOV [SI],AL

;返回DOS

EXIT: MOV AH,4CH

INT 21H

CODE ENDS

END START

END

7.在上题中,如果发现有错时,要求在ERR 单元中存放出错的数据个数,则程序该如何修

改?

解答:

DATA SEGMENT

BUFF DB 1000H DUP(?)

ERR DW ?

DATA ENDS

;

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

;将55H 依次放入BUFF 开始的4K 个单元

LEA SI,BUFF

MOV CX,1000H

MOV AL,55H

NTXT: MOV [SI],AL

INC SI

LOOP NEXT

;取出与55H 比较LEA DI,BUFF

LEA SI,ERR

MOV DX,0000H

MOV CX,1000H

NEXT1: MOV AL,[DI]

INC DI

CMP AL,55H

JZ NEXT2;若相同,则比较下一个

INC DX;否则将放出错个数的DX 加1

NEXT2:LOOP NEXT1

MOV [SI],DX

;

EXIT: MOV AH,4CH

INT 21H

CODE ENDS

END START

END

8.试编写程序段,完成将数据区从0100H 开始的一串字节数据逐个从F0H 端口输出,已知

数据串以0AH 为结束符。

解答:

DATA SEGMENT

ORG 0100H

DATA1 DB N DUP(?)

DATA ENDS

;

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

;将DATA1 数据串中的数据取出并从F0H 端口中输出

LEA SI,DATA1

MOV CX,N

MOV BL,0AH

NTXT: MOV AL,[SI]

CMP AL,BL

JZ EXIT

OUT 0F0H,AL

INC SI

LOOP NEXT

;返回DOS

EXIT: MOV AH,4CH

INT 21H

CODE ENDS END START

END

9.(24)内存中以FIRST 和SECOND 开始的单元中分别存放着两个4 位用压缩BCD 码表示

的十进制数, 低位在前。编程序求这两个数的和,仍用压缩BCD 码表示, 并存到以THIRD 开始的单元。

解答:

DATA SEGMENT

FIRST DW 3412H

SECOND DW 7856H

THIRD DB ?,?,?

DATA ENDS

;

STACK SEGMENT

STACK ENDS

;

CODE SEGMENT

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

START: MOV AX,DATA

MOV DS,AX

LEA SI,FIRST

LEA DI,SECOND

LEA BX,THIRD

MOV CX,2

CLC

AGAIN: MOV AL,BYTE PTR[SI]

MOV DL,BYTE PTR[DI]

ADC AL,DL

DAA

MOV BYTE PTR[BX],AL

INC SI

INC DI

INC BX

LOOP AGAIN

JC AA

MOV BYTE PTR[BX],0

JMP EXIT

AA: MOV BYTE PTR[BX],1

EXIT: MOV AX,4C00H

INT 21H

CODE ENDS

END START

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

解答:

DATA SEGMENT

A D

B ?

B DB ?

C DB ?

D DW ?

DATA ENDS

;

STACK SEGMENT

STACK ENDS

;

CODE SEGMENT

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

START: MOV AX,DATA

MOV DS,AX

LEA SI,A

LEA DI,D

MOV AL,[SI]

CMP AL,00

JZ ZERO

ADC DX,AL

LEA SI,B

MOV AL,[SI]

CMP AL,00

JZ ZERO

ADC DX,AL

LEA SI,C

MOV AL,[SI]

CMP AL,00

JZ ZERO

ADC DX,AL

MOV [DI],DX

JMP EXIT

ZERO: MOV AL,0

MOV A,AL

MOV B,AL

MOV C,AL ;

EXIT: MOV AX,4C00H

INT 21H

CODE ENDS

END START

11.(16)试编程序,统计由TABLE 开始的128 个单元中所存放的字符“A”的个数,并将结果存放在DX 中。

解答:

DATA SEGMENT

TABLE DB X1,X2,...X128

DATA ENDS

;

STACK SEGMENT

STACK ENDS

;

CODE SEGMENT

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

START: MOV AX,DATA

MOV DS,AX

LEA SI,TABLE

MOV DX,0

AGAIN: MOV AL,[SI]

CMP AL,'A'

JNZ NEXT

INC DX

NEXT: INC SI

LOOP AGAIN

MOV AX,4C00H

INT 21H

CODE ENDS

END START

12.试编制一个汇编语言程序,求出首地址为DATA 的1000 个字数组中的最小偶数,并把

它存放于MIN 单元中。

解答:

DATA SEGMENT

ARRAY DW X1,X2,...X1000

ARRAY_EVEN DW 1000 DUP(?) MIN DW ?

MAX DW ?

DATA ENDS

;

STACK SEGMENT

STACK ENDS

;

CODE SEGMENT

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

START: MOV AX,DATA

MOV DS,AX

;将数组中的偶数放入ARRAY_EVEN 中

LEA SI,ARRAY

LEA DI,ARRAY_EVEN

MOV CX,1000

AGAIN: MOV AX,[SI]

TEST AX,01h

JNZ NEXT

MOV [DI],AX

INC DI

INC DI

NEXT: INC SI

INC SI

LOOP AGAIN

;找出ARRAY_EVEN 中的最大数

LEA SI,ARRAY_EVEN

MOV CX,999

MOV BX,AX

INC SI

INC SI

NEXT: CMP AX,[SI]

JAE LL

MOV AX,[SI]

LL: INC SI

INC SI

LOOP NEXT

MOV MAX,AX

;找出ARRAY_EVEN 中的最小数(第13 题增加的部分)

LEA SI,ARRAY_EVEN

MOV CX,999

MOV AX,[SI]

MOV BX,AX INC SI

INC SI

NEXT: CMP AX,[SI]

JBE SS

MOV AX,[SI]

SS: INC SI

INC SI

LOOP NEXT

MOV MIN,AX

;返回DOS

MOV AX,4C00H

INT 21H

CODE ENDS

END START

13.在上题中,如果要求同时找出最大和最小的偶数,并把它们分别存放于MAX 和MIN 单元中,试完成程序。

解答:略(见第12 题)。

14.(28)在DATA 字数组中存放有100H 个16 位补码数,试编写一程序求它们的平均值,放

在AX 中,并求出数组中有多少个数小于平均值,将结果存于BX 中。

解答:

DATA SEGMENT

DAT DW X1,X2,...X256

DATA ENDS

;

STACK SEGMENT

STACK ENDS

;

CODE SEGMENT

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

START: MOV AX,DATA

MOV DS,AX

;将数组中的100H 个数求和后求平均值

LEA SI,DAT

MOV CX,100H

CLC

MOV BX,0000

MOV DX,0000

AGAIN: MOV AX,[SI]

ADD BX,AX

JNC NEXT

ADC DX,1 NEXT: INC SI

INC SI

LOOP AGAIN

MOV CX,100H

MOV AX,BX

DIV CX

;找出DAT 中的小于平均值的个数

LEA SI,DAT

MOV CX,100H

MOV DX,0000H

AGAIN0:MOV BX,[SI]

CMP BX,AX;与平均值AX 比较,大于等于则转NEXT0,否则将读数器DX 加1

JGE NEXT0

INC DX

NEXT0: INC SI

INC SI

LOOP AGAIN0

MOV BX,DX

;返回DOS

MOV AX,4C00H

INT 21H

CODE ENDS

END START

15.(17)编写一个子程序,对AL 中的数据进行偶校验,并将经过校验的结果放回AL 中。解答:

DATA SEGMENT

COUNT EQU 7

DATA ENDS

;

STACK SEGMENT

STACK ENDS

;

CODE SEGMENT

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

START: MOV AX,DATA

MOV DS,AX

PUSH AX

MOV DX,0

MOV CX,COUNT

AGAIN: RCR AL,1

JNC L INC DX

L: LOOP AGAIN

POP AX

TEST DX,01

JZ EXIT

OR AL,80

EXIT: MOV AX,4C00H

INT 21H

;ANOTHER METHORD

JP EXIT

OR AL,80H

EXIT: MOV AX,4C00H

INT 21H

CODE ENDS

END START

16.(18)利用上题的予程序,对DATA 开始的256 个单元的数据加上偶校验,试编程序。解答:

DATA SEGMENT

DAT DB ...;256 DUP (?)

RESULT DB ...;256 DUP (?)

NUM EQU 256

COUNT EQU 7

DATA ENDS

;

STACK SEGMENT

STACK ENDS

;

CODE SEGMENT

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

START: MOV AX,DATA

MOV DS,AX

LEA SI,DAT

LEA DI,RESULT

MOV CX,NUM

NEXT: MOV AL,[SI]

CALL SUB1

MOV [DI],AL;MOV [SI],AL INC SI

INC DI

LOOP NEXT

MOV AX,4C00H

INT 21H

SUB1 PROC

PUSH AX

MOV DX,0

MOV CX,COUNT

AGAIN: RCR AL,1

JNC L

INC DX

L: LOOP AGAIN

POP AX

TEST DX,01

JZ QUIT

OR AL,80H

QUIT: RET

SUB1 ENDP

CODE ENDS

END START

17.(19)试编写程序实现将键盘输入的小写字母转换成大写字母并输出。解答:

DATA SEGMENT

MESS DB 'THE INPUT IS NOT CORRECT.',0DH,0AH,'$'

DATA ENDS

;

STACK SEGMENT

STACK ENDS

;

CODE SEGMENT

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

START: MOV AX,DATA

MOV DS,AX

NEXT: MOV AH,01H

INT 21H

CMP AL,'Q'

JZ EXIT

CMP AL,'a' JB ERROR

CMP AL,'z'

JA ERROR

SUB AL,20H

MOV AH,02H

MOV DL,AL

JMP NEXT

ERROR: MOV AH,09H

LEA DX,MESS

INT 21H

JMP NEXT

EXIT: MOV AX,4C00H

INT 21H

CODE ENDS

END START

18.从键盘接收20 个字符,按键入顺序查找最大的字符,并显示输出。解答:

DATA SEGMENT

DAT DB 20 DUP(?)

DATA ENDS

;

STACK SEGMENT

STACK ENDS

;

CODE SEGMENT

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

START: MOV AX,DATA

MOV DS,AX

;从键盘接收20 个字符,并送DAT 中保存

LEA SI,DAT

MOV CX,20

NEXT: MOV AH,01H

INT 21H

MOV [SI],AL

INC SI

LOOP NEXT

;比较20 个字符中的最大字符,并放入AL 中

MOV CX,19

LEA SI,DAT MOV AL,[SI]

INC SI

NEXT1: CMP AL,[SI]

JAE LL

MOV AL,[SI]

LL: INC SI

LOOP NEXT1

;将最大的字符的ASCII 码由AL 送DL 显示

MOV DL,AL

MOV AH,2H

INT 21H

MOV AX,4C00H

INT 21H

CODE ENDS

END START

19.(29)编写汇编程序,接收从键盘输入的10 个数,输入回车符表示结束,然后将这些数加密后存于BUFF 缓冲区中。加密表为:

输入数字:0,1,2,3,4,5,6,7,8,9;密码数字:7,5,9,1,3,6,8,0,2,4

解答:

DATA SEGMENT

BUFF DB 10 DUP(?)

TABLE DB 7,5,9,1,3,6,8,0,2,4

DATA ENDS

;

STACK SEGMENT

STACK ENDS

;

CODE SEGMENT

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

START: MOV AX,DATA

MOV DS,AX

;

LEA DI,BUFF

NEXT: MOV AH,01H

INT 21H;从键盘上接收单个字符

CMP AL,0AH;与0AH 比,判是否要结束

JZ EXIT

SUB AL,30H;否则,将0~9 的ASCII 码转换为十进制数

LEA BX,TABLE

XLAT;用查表指令进行加密

MOV [DI],AL INC DI

JMP NEXT

;退出并返回DOS

EXIT: MOV AX,4C00H

INT 21H

CODE ENDS

END START

20.(23)有一个100 个字节的数据表,表内元素已按从大到小的顺序排列好,现给定一元素,

试编程序在表内查找,若表内已有此元素,则结束;否则,按顺序将此元素插入表中适当的位置,并修改表长。

解答:

;调试时用了十个数据,本程序已通过调试

DATA SEGMENT

TABLE_LEN DB ?

X DB 99H

TABLE DB 98H,90H,80H,70H,60H,50H,40H,30H,20H,10H;X1,X2,...,X100 COUNT EQU $-TABLE

DATA ENDS

;

STACK SEGMENT

STACK ENDS

;

CODE SEGMENT

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

START: MOV AX,DATA

MOV DS,AX

;将数组中的100H 个数求和后求平均值

MOV DX,0000

LEA SI,TABLE

MOV CX,COUNT

MOV AL,X;假设X 为给定元素

;在TABLE 中是否有元素X

AGAIN: MOV BL,[SI]

CMP BL,AL

JZ EXIT

INC SI

LOOP AGAIN

;X 元素不在表中,将X 插入表中适当位置

LEA SI,TABLE

MOV DI,SI;DI 为表的末地址

ADD DI,COUNT-1

MOV CX,COUNT AGAIN0:MOV BL,[SI]

CMP BL,AL

JA NEXT0

BB: CMP DI,SI

JZ AA

MOV AH,[DI]

MOV [DI+1],AH;将比X 小的元素后移一位

DEC DI

JMP BB

AA: MOV [DI+1],BL

MOV [DI],AL

MOV TABLE_LEN,COUNT+1

JMP EXIT

NEXT0: INC SI

LOOP AGAIN0

MOV [DI+1],AL;若比较后,X 元素为最小,则放在最末单元的后面,并将表长加1 MOV TABLE_LEN,COUNT+1

;退出并返回DOS

EXIT: MOV AX,4C00H

INT 21H

CODE ENDS

END START

21.(26)在当前数据段(DS),偏移地址为DATAB 开始的顺序80 个单元中,存放着某班80

个同学某门考试成绩。按要求编写程序:

①编写程序统计≥90 分;80 分~89 分;70 分~79 分;60 分~69 分,<60 分的人数各

为多少,并将结果放在同一数据段、偏移地址为BTRX 开始的顺序单元中。

②试编程序,求该班这门课的平均成绩为多少,并放在该数据段的AVER 单元中。

解答:

;统计学生成绩

DATA SEGMENT

DATAB DB X1,X2,...,X80

N EQU $-DATAB

ORG 100H

BTRX DW 0

S8 DW 0

S7 DW 0

S6 DW 0

S5 DW 0

ORG 110H

AVER DW ?

DATA ENDS

STACK SEGMENT STACK STA DB 20 DUP (0)

TOP EQU $—STA

STACK ENDS

CODE SEGMENT

MAIN PROC FAR

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

START:PUSH DS

SUB AX,AX

PUSH AX

MOV AX,DATA

MOV DS,AX

MOV CX,N

MOV BX,0000H

MOV DX,0000H

LEA SI,DATAB ;成绩表首地址

COMPARE:MOV AL,[SI]

CMP AL,60 ;<60?

JL FIVE

CMP AX,70 ;<70?

JL SIX

CMP AX,80 ;<80?

JL SEVEN

CMP AX,90 ;<90?

JL EIGHT

INC S9

JMP CHA

EIGHT:INC S8

JMP CHA

SEVEN:INC S7

JMP CHA

SIX:INC S6

JMP CHA

FIVE:INC S5

JMP CHA

CHA:

ADD BX,AL

JNC NEXT

ADC DX,0

NEXT: INC SI ;循环学生人数

LOOP COMPARE

MOV AX,BX

MOV CX,N

DIV CX MOV AVER,AX

MOV AH,4CH

INT 21H

RET

MAIN ENDP

CODE ENDS

END START

CH04 存储系统

习题与思考题

1.存储器的哪一部分用来存储程序指令及像常数和查找表一类的固定不变的信息?哪一部分用来存储经常改变的数据?

解答:只读存储器ROM;随机存储器RAM。

2.术语“非易失性存储器”是什么意思?PROM 和EPROM 分别代表什么意思?

解答:“非易失性存储器”是指当停电后信息会丢失;PROM--可编程序的只读存储器PROM(Programmable ROM),EPROM--可擦除的可编程的只读存储器EPROM(Erasible Programmable ROM)。

3.微型计算机中常用的存储器有哪些?它们各有何特点?分别适用于哪些场合?

解答:

双极型半导体存储器

随机存储器(RAM)

MOS 存储器(静态、动态)

主存储器可编程只读存储器PROM

可擦除可编程只读存储器EPROM,EEPROM

只读存储器(ROM) 掩膜型只读存储器MROM

快擦型存储器

存储器磁盘(软盘、硬盘、盘组)存储器

辅助存储器磁带存储器

光盘存储器

缓冲存储器

4.现代计算机中的存储器系统采用了哪三级分级结构,主要用于解决存储器中存在的哪些问题?

解答:目前在计算机系统中通常采用三级存储器结构,即使用高速缓冲存储器、主存储器和辅助存储器,由这三者构成一个统一的存储系统。从整体看,其速度接近高速缓存的速度,其容量接近辅存的容量,而位成本则接近廉价慢速的辅存平均价格。三级结构主要用于解决速度、容量和成本的问题。

5.试比较静态RAM 和动态RAM 的优缺点,并说明有何种方法可解决掉电时动态RAM 中信息的保护。

解答:静态RAM----存储一位信息的单元电路可以用双极型器件构成,也可用MOS 器件构成。双极型器件构成的电路存取速度快,但工艺复杂,集成度低,功耗大,一般较少使

用这种电路,而采用MOS 器件构成的电路。静态RAM 的单元电路通常是由6 个MOS 管子组成的双稳态触发器电路,可以用来存储信息“0”或者“1”,只要不掉电,“0”

或“1”状态能一直保持,除非重新通过写操作写入新的数据。同样对存储器单元信息

的读出过程也是非破坏性的,读出操作后,所保存的信息不变。使用静态RAM 的优点

是访问速度快,访问周期达20~40ns。静态RAM 工作稳定,不需要进行刷新,外部电

路简单,但基本存储单元所包含的管子数目较多,且功耗也较大,它适合在小容量存储

器中使用。

动态RAM----与静态RAM 一样,由许多基本存储单元按行和列排列组成矩阵。最简单

的动态RAM 的基本存储单元是一个晶体管和一个电容,因而集成度高,成本低,耗电少,但它是利用电容存储电荷来保存信息的,电容通过MOS 管的栅极和源极会缓慢放

电而丢失信息,必须定时对电容充电,也称刷新。另外,为了提高集成度,减少引脚的

封装数,DRAM 的地址线分成行地址和列地址两部分,因此,在对存储器进行访问时,

总是先由行地址选通信号RAS 把行地址送入内部设置的行地址锁存器,再由列地址选

通信号CAS 把列地址送入列地址锁存器,并由读/写信号控制数据的读出或写入。所以

刷新和地址两次打入是DRAM 芯片的主要特点。动态RAM 需要配置刷新逻辑电路,

在刷新周期中,存储器不能执行读/写操作,但由于它的单片上的高位密度(单管可组

成)和低功耗(每个存储单元功耗为0.05mw,而静态RAM 为0.2mw),及价格低廉等优点,使之在组成大容量存储器时作为主要使用器件。

6.计算机的电源掉电后再接电时(系统中无掉电保护装置),存储在各类存储器中的信息是否仍能保存?试从各类存储器的基本原理上来分析说明。

解答:

7.什么是存储器的位扩充和字扩充方式?它们分别用在什么场合?

解答:位扩充--如果存储器芯片的容量满足存储器系统的要求,但其字长小于存储器系统的要求,这时,就需要用多片这样的芯片通过位扩充的方法来满足存储器系统对字长的要求。字扩充--如果存储器芯片的字长符合存储器系统的要求,但其容量太小,就需要使用多片这样的芯片通过字扩充(或容量扩充)的方法来满足存储器系统对容量的要求。

8.要用64K×1 的芯片组成64K×8 的存储器需要几片芯片?

要用16K×8 的芯片组成64K×8 的存储器需要几片芯片?

解答:8 片;4 片。

9.试画出容量为4K×8 的RAM 连接图(CPU 用8088,RAM 用2114—1K*4),要求R AM

地址从0400H 开始,并写出各芯片的地址分配范围。

解答:地址分配范围:

C B A

端口地址

12 13 14 15 A A A A 8 9 10 11 A A A A 4 5 6 7 A A A A 0 1 2 3 A A A A

0 0 0 0 0 0 0××××××××××0 y

0000H~03F

FH

0 0 0 0 0 0 1×××××××××× 1 y

0400H~07F

FH

0 0 0 0 0 1 0×××××××××× 2 y

0800H~0B

FFH

0 0 0 0 0 1 1×××××××××× 3 y

0C00H~0F

FFH 0 0 0 0 1 0 0×××××××××× 4 y

1000H~13F

FH

0 0 0 0 1 0 1×××××××××× 5 y

1400H~17F

FH

0 0 0 0 1 1 0×××××××××× 6 y

1800H~1B

FFH

0 0 0 0 1 1 1××××××××××7 y

1C00H~1F

FFH

10.试画出容量为12K×8 的ROM 连接图(CPU 用8088,EPROM 用2716—2K*8),并写出各芯片的地址分配范围。

解答:

11.在上题基础上,若要求ROM 地址区从1000H 开始,硬件设计该如何修改?并写出各芯片的地址分配范围。若要求ROM 地址区从C000H 开始,硬件设计又该如何修改?

并写出各芯片的地址分配范围。

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

《微机原理及应用》试题库 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 。

微机原理及应用复习题

练习题 一、单项选择题 1.下列字符中,ASCII码值最小的是(A )。 A. K B.Y C. a D.i 2.已知SRAM2114芯片容量为1K×4位,若要组成16KB的系统存储器,则共需( A )芯片。 (1)32片(2)16片 (3)8片;(4)4片 3.8088CPU内部的数据总线有( B )条。 (1)8条; (2)16条; (3)20条;(4)32条 4. 若(AL)=0FH,(BL)=04H,则执行CMP AL,BL后,AL和BL的内容为( A )。 (1)OFH和04H;(2)0B和04H;(3)0F和0BH;(4)04和0FH 5.在下列伪指令中定义字节变量的是( A )。 (1)DB; (2)DW; (3)DD; (4)DT 6.在并行可编程电路8255中,8位的I/O端口共有( C )。 (1)1个 ;(2)2个; (3)3个; (4)4个 7.可编程计数/定时器电路8253的工作方式共有(D )。 (1)3种; (2)4种; (3)5种; (4)6种 8. 若8086/8088系统采用单片8259A,其中断类型号为46H时,试问其中断矢量指针是(C)。 A:184H B:178HC:118HD:280H 12. 已知DRAM2118芯片容量为16K*1位,若需组成64KB的系统存储器,则组成的芯片组数和每个芯片数为( D )。 A:2和8 B:1和16C:4和16 D:4和8 13.CPU与外设间数据传送的控制方式有( D ) A.中断方式 B.DMA方式C.程序控制方式 D.以上三种都是 14.8086 CPU内标志寄存器中的控制标志位占(C ) A.9位B.6位 C.3位 D.16位 15.CPU与I∕O设备间传送的信号有( D) A.数据信息 B.控制信息 C.状态信息 D.以上三种都是 17.8255A这既可作数据输入、出端口,又可提供控制信息、状态信息的端口是( D) A.B口B.A口 C.A、B、C三端口均可以 D.C口 18.设串行异步通信的数据格式是:1个起始位,7个数据位,1个校验位,1个停止位,若传输率为1200,则每秒钟传输的最大字符数为( C) A.10个 B.110个 C.120个D.240个 19.堆栈的工作方式是( D) A.先进先出 B.随机读写C.只能读出,不能写入D.后进先出 20.指令MOV AX,[3070H]中源操作数的寻址方式为( B) A.寄存器寻址 B.直接寻址 C.立即寻址 D.间接寻址 21.Reset信号到来后,8086 CPU的启动地址为( C)

微机原理及应用试卷及答案

····································密························封························线································ 学生答题不得超过此线 一、单项选择题(每小题1分,共20分。请将答案填入答题单) 1.8086CPU由两个独立的工作单元组成,它们是执行单元EU和( ). A)总线控制逻辑器 B)内部通信寄存器 C)指令寄存器 D)总线接口单元 2.8086系统若用256KB*1动态存储器芯片可望构成有效存储系统的最小容量是( ). A)256KB B)512KB C)640KB D)1MB 3.Intel8255A使用了()个端口地址。 A)1 B)2 C)3 D)4 4.PC机中为使工作于一般全嵌套方式的8259A中断控制器能接受下一个中断请求,在中断服务程序结束处就( ). A)发送OCW2指令 B)发送OCW3指令 C)执行IRET指令 D)执行POP指令 5.RAM是随机存储器,它分为( )两种. A)ROM和SRAM B)DRAM和SRAM C)ROM和DRAM D)ROM和CD-ROM 6.在程序运行过程中,确定下一条指令的物理地址的计算表达式是() A)CS×16+IP B)DS×16+SI C)SS×16+SP D)ES×16+DI 7.( )是以CPU为核心,加上存储器,I/O接口和系统总线构成的. A)微处理器 B)微型计算机 C)微型计算机系统 D)计算机 8.对于掉电,8086/8088CPU是通过( )来处理的. A)软件中断 B)可屏蔽中断 C)非屏蔽中断 D)DMA 9.计算机的存储器采用分级存储体系的主要目的是()。 A)便于读写数据 B)减小机箱的体积 C)便于系统升级 D)解决存储容量、价格和存取速度之间的矛盾 10.8259A的OCW1----中断屏蔽字( )设置. A)在ICW之前 B)只允许一次 C)可允许多次 D)仅屏蔽某中断源时11.将十六进制数163.5B转换成二进制数是)( ) A)1101010101.1111001 B)110101010.11001011 C)1110101011.1101011 D)101100011.01011011 12.Intel 8086/8088微处理器有()地址线,直接寻址内存空间的范围是()。 A)10条,64KB B)20条,64KB C)16条,1M D)20条,1M 13.Intel 8086/8088微处理器的标志寄存器中,作为记录指令操作结果的标志是()。 A)CF,OF,PF,AF,SF,ZF B) CF,PF,ZF,SF C) OF,DF,IF,SF,ZF,CF D) IF,DF,OF,CF 14.下述对标志寄存器中标志位不产生影响的指令是()。 A)JMP NEXT B) TEST AL,80H C) SHL AL,1 D) INC SI 15.简单的汇编语言程序可以通过()来建立、修改和执行。 A)连接程序 B) 调试程序 C) 汇编程序 D) 编辑程序 16.累加器AL中的内容是74H,执行CMP AL,47H指令后,累加器AL中的内容是()。

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

微机原理及应用综合练习一

2012电子微机原理综合练习一 一、简答题。 1.8086CPU标志寄存器中的控制位有几个?简述它们的含义。 2.8086工作于最小方式或最大方式,如何设置?两种模式的主要区别是什么 3. 简述8086和8088CPU引脚信号的区别。 4. 何为时钟周期?它和指令周期、总线周期三者之间的关系是什么? 5. 简述标志位中溢出位和进位位的区别。 6. 简述8088和8086对存储器进行字访问的异同。 7. 在8086系统中,下一条指令所在单元的物理地址是如何计算的? 8.简述半导体存储器的分类和特点。 9.简述高位地址总线译码方法的种类和特点。 10. SRAM芯片6116是4K×8位的存储器,其地址线和数据线的分别有多少条?并简述它的3条控制线、和的含义和功能。 11. CPU与外设间的接口信息有哪几种? 12.简要说明8086/8088中断的分类,以及优先级顺序。 13. 8086/8088CPU响应可屏蔽中断INTR的条件是什么? 14.CPU与外设数据传送的方式有哪几种?什么情况下数据传送要采用无条件传送方式?它有什么特点? 15. 简述查询式数据传送方式的工作过程。 16.比较串行通信和并行通信的优缺点。 17.何为波特率?设数据传送的速率是120字符/秒,而每一个字符格式中的数据位7位,停止位,校验位各1位,则传送的波特率为多少? 18. 异步通信中,字符的格式是由哪些部分组成? 19.8253的方式0~方式3各是何种工作方式?为了便于重复计数,最好选用那些工作方式? 二、综合题 1.设8088的时钟频率为5MHZ,总线周期中包含2个T w等待周期。问: (1)该总线周期是多少?(2)该总线周期内对READY信号检测了多少次? 2.某微机有8条数据线、16条地址线,现用SRAM 2114(容量为1K×4位)存储芯片组成存储系统。问采用线译码方式时,系统的最大存储容量最大是多少?此时需要多少个2114存储芯片 3. 设有一个具有15位地址和16位字长的存储器,试计算: (1)该存储器能存储多少字节信息? (2)如果存储器由2K×4位的RAM芯片组成,需多少RAM芯片?需多少位地

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

《微机原理及应用》试题库 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, V1D. MOV2000H, V2 9. –49D 的二进制补码为A。

微机原理及应用(广西大学)

微机原理期末复习要点(必看) 一、填空题(每空1分,共30分) 1、CPU访问存储器时,在地址总线上送出的地址称为物理地址。 2、80X86系统中,执行指令PUSH AX后,SP= SP-2 ;若执行指令POP AX 后,SP= SP+2 。 3、指令“MOV AX,2000H”源操作数的寻址方式为立即数 ;指令“MOV AX,[BX+SI+6]”源操作数的寻址方式为带偏移量的基础加变址。 4、设(DS)=24EOH,(SS)=2410H,(ES)=2510H,(DI)=0206H,则指令“MOV AX,[DI+100H]”源操作数的有效地址为 0306H ,物理地址为 25106H 。 5、80486可访问两个独立的地址空间,一个为I/O地址空间,其大小为 64K 字节。 6、执行指令“XOR AX,AX”后,标志位ZF的值为 1 。 7、若(AL)=10011000B,(BL)=01100111B,则执行指令“ADD AL,BL”后,(AL)=11111111B;执行指令“AND AL,BL”后,(AL)= 0 。 8、可屏蔽中断从CPU的 INTR 引脚进入,只有当中断允许标志IF为 1 时,该中断才能得到响应。 9、中断向量表存放在从 00000H 至 003FFH 存储空间中。 10、在实地址方式下,中断类型号为20H的中断所对应的中断向量,存放在内存 从 00080H 开始的四个连续字节单元中,若这四个字节单元的内容由低地址到 高地址依次为00H,50H,00H,60H,则中断服务程序的入口地址 65000H 。 11、80X86的I/O指令中,要寻址的16位的端口地址存放在 DX 中。 12、现要用6116静态RAM芯片构成8K×32位的存储器,此种芯片共需16 片。 13、8255A在“方式1输出”与外设之间的一对"握手"信号是 ACK和OBF 。 14、由实地址方式上,由逻辑地址获得物理地址的计算公式为:

微机原理及应用期末试卷及答案

微机原理与汇编语言(期末试卷A答案) 一、单项选择题(每题2分,共40分) 1.(B )用来存放即将执行的指令的偏移地址的寄存器是 A.SP B.IP C.BP D.CS 2.(A )源变址寄存器是 A.SI B.DI C.SP D.BX 3.(B )设SP=1110H,执行PUSH AX后,SP中的内容为 A.SP=1112H B.SP=110EH C.SP=1111H D.SP=110FH 4.(D )语句DA1 DB 2 DUP(3,5,7)汇编后,与该语句功能等同的语句是A.DA1 DB 3,5,7 B.DA1 DB 2,3,5,7 C.DA1 DB 3,5,7,2 D.DA1 DB 3,5,7,3,5,7 5.( B )下面四个寄存器中,不能用来作为间接寻址的寄存器是 A.BX B.CX C.BP D.DI 6.( C )确定下列哪些数据在汇编语言中是非法的 A.19AH B.1372 C.102B D.145 7.(D)若栈顶的物理地址为20100H,当执行完指令PUSH AX后,栈顶的物理地址为 A.20102H B.20101H C.200FFH D.200FEH 8.( C )当执行完下列指令序列后,标志为CF和SF的值是 MOV AL,0C4H ADD AL,9DH A.0,0 B.0,1 C.1,0 D.1,1 9.( D )JMP WORD PTR[BX]的转移目标地址是 A.BX中的内容B.SP+BX的和 C.IP+[BX]之和D.BX指示的内存单元的内容 10.( B )8086/8088CPU的I/O指令采用间接寻址时,可以使用的寄存器是A.BX B.DX C.SI D.DI 11.(C )完成将BX清零,并使标志寄存器CF清零,下面指令错误的是A.SUB BX , BX B.XOR BX ,BX C.MOV BX,0 D.AND BX,0000H 12.(D )下面数据传送指令中,正确的是 A.MOV BUF1,BUF2 B.MOV CS,AX C.MOV CL,1000 D.MOV DX,WORD PTR[BP+DI] 13.(D )下列存储器哪一种存取速度最快 A.硬盘B.DROM C.ROM D.Cache 14.(B )完成将有符号数BX的内容除以2的正确指令是 A.SHR BX,1 B.SAR BX,1 C.ROR BX,1 D.RCR BX,1 15.( C )指令LOOPZ的循环执行条件是 A.CX≠0且ZF=0 B.CX≠0或ZF=0 C.CX≠0且ZF=1 D.CX≠0或ZF=1 16.(B )以8086/8088为CPU的微机内存最大容量为 A .4M B B.1MB C.640KB D.64KB 17 (C )与1A.5H不等的数据是 A.26.3125D B.11010.0101B C.32.5Q 18.( A )8位二进制补码表示的整数数据范围是 A.-128~127 B.-127~127 C.-128~128 D.-127~128 19.( A )下列四个寄存器中,不允许用传送指令赋值的寄存器是 A.CS B.DS C.ES D.SS 20.( B )指令MOV 100[SI][BP],AX的目的操作数的隐含段为 A.数据段 B.堆栈段 C.代码段 D.附加段 二、填空题(每空2分,共20分) 1.225D= 11100001 B= E1 H 2.已知X=-1011011,求[X]补= 10100101 。 3.地址2000H:0480H,其物理地址是20480H ,段地址是2000H ,偏移地址是0480H 。 4.按存储器的位置,可以将存储器分为内存储器和外存储器。5.8086最多可处理256 种中断,对每一个中断设置一个中断类型码。 三、判断题(共10分,对的画√,错的画×) 1.(×)在8位补码表示中,10000000表示的真值为-0 2.(×)奇偶标志位PF,当运算结果的低8位中有偶数个1时,被置为0。3.(×)CS、DS、ES和SS段都可以存放指令代码。 4.(×)MOV CS,[SI] 5.(×)MOV [DI],[SI] 6.(√)两数相等时转移可用JZ指令。 7.(×)OUT [BX],AL 8.(×)当IF=0时,CPU不能响应NMI中断。 9.(√)已知AL,BX为带符号数,计算AL*BX的乘积,使用下述程序段。 CBW IMUL BX 10.(√)在8位补码表示法中,对-128求补会产生溢出。 四、简答题(共20分) 1.冯·诺依曼型计算机的结构由哪些部分组成?各部分的功能是什么?(10分) 答:冯·诺依曼型计算机在硬件结构上主要由运算器,控制器,存储器,输

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

CH04 存储系统 习题与思考题 1.存储器的哪一部分用来存储程序指令及像常数和查找表一类的固定不变的信息?哪一部分用来存储经常改变的数据? 解答:只读存储器ROM;随机存储器RAM。 2.术语“非易失性存储器”是什么意思?PROM和EPROM分别代表什么意思? 解答:“非易失性存储器”是指当停电后信息会丢失;PROM--可编程序的只读存储器PROM(Programmable ROM),EPROM--可擦除的可编程的只读存储器EPROM(Erasible Programmable ROM)。 3.微型计算机中常用的存储器有哪些?它们各有何特点?分别适用于哪些场合? 解答: 双极型半导体存储器 随机存储器(RAM) MOS存储器(静态、动态) 主存储器可编程只读存储器PROM 可擦除可编程只读存储器EPROM,EEPROM 只读存储器(ROM)掩膜型只读存储器MROM 快擦型存储器 存储器磁盘(软盘、硬盘、盘组)存储器 辅助存储器磁带存储器 光盘存储器 缓冲存储器 4.现代计算机中的存储器系统采用了哪三级分级结构,主要用于解决存储器中存在的哪些问题? 解答:目前在计算机系统中通常采用三级存储器结构,即使用高速缓冲存储器、主存储器和辅助存储器,由这三者构成一个统一的存储系统。从整体看,其速度接近高速缓存的速度,其容量接近辅存的容量,而位成本则接近廉价慢速的辅存平均价格。三级结构主要用于解决速度、容量和成本的问题。 5.试比较静态RAM和动态RAM的优缺点,并说明有何种方法可解决掉电时动态RAM中信息的保护。 解答:静态RAM----存储一位信息的单元电路可以用双极型器件构成,也可用MOS器件构成。双极型器件构成的电路存取速度快,但工艺复杂,集成度低,功耗大,一般较少使用这种电路,而采用MOS器件构成的电路。静态RAM的单元电路通常是由6个MOS 管子组成的双稳态触发器电路,可以用来存储信息“0”或者“1”,只要不掉电,“0” 或“1”状态能一直保持,除非重新通过写操作写入新的数据。同样对存储器单元信息的读出过程也是非破坏性的,读出操作后,所保存的信息不变。使用静态RAM的优点是访问速度快,访问周期达20~40ns。静态RAM工作稳定,不需要进行刷新,外部电

微机原理及应用练习题(1)

https://www.wendangku.net/doc/1218091913.html, 1000H X DB 12H Y DW X Z DD Y (DS)=3800H, (BX)=1000H, (SI)=0002H 求下列指令执行完后指定寄存器的内容 MOV AX, [1000H] ; (AX)= 0012 H MOV AX, [BX+SI] ; (AX)= 0110 H LEA DX,Y ; (DX)= 1001 H 2.(AX)=4F08H,(CF)=0,(CL)=4,则 ROR AX,CL指令执行完后,(AX)= 84F0H,(CF) = 1。 3.执行以下程序后,DI的值为 1234。sp=1FFEH AX=00F0H DX=0ACF0H MOV SP,2000H MOV AX,0F0H MOV SI,1234H MOV DX,5678H PUSH SI POP DI SHL DX,1 TEST AX,DX PUSH DX HLT 4.MOV AX, 80C9H MOV BX, 5312h MOV SP, 1070H PUSH BX PUSH AX NOT AX POP BX 程序执行后: (AX)= 7F36H (BX)= 80C9H SS:[106EH]= 12H (SP)= 106EH 5.执行下列程序: MOV AX,0 MOV BX,1 MOV CX,100 A: ADD AX,BX INC BX LOOP A HLT 执行后的结果为(BX)= 101 。

6.MOV BL, 3BH XOR AL, AL OR BL, AL MOV AL, BL AND AL, F2H MOV AH, AL STC RCR AL, 1 程序执行后(AX)= 3299H (BL)= 003BH CF 0 7.MOV AX,0 MOV DX, AX L: MOV BL, AL INC DX ADD AL, 1 JNZ L 程序执行后 (BL)= 25510H (AL)= 00H (DX)= 0010H CF= 1 8.设初值(AX)=4321H,(DX)=8765H,则 MOV CL,04H SHL DX,CL MOV BL,AH SHL AX,CL SHR BL,CL OR DL,BL 上述程序执行后(DX)= 7654H ,(AX)= 3210H 9.设CPU各个标志位的初始状态均为0,执行指令: MOV AX,0 DEC AX 后,请问AX= 0FFFFH ,SF= 1 ,CF= 0 ? 10.设初值为AX=1234H,BX=5678H,DX=0ABCDH,则下面一段程序: MOV CL,4 SHL DX,CL MOV BL,AH SHL AX,CL SHR BL,CL OR DL,BL 执行后,请问AX= 2340H ,BX= 5610H ,DX= 0BCDH

最新微机原理及应用试卷答案

微机原理及应用试卷答案 一、填空题: 1、锁存复用线上的地址 2、确定是否在T3周期后插入T w周期 3、IP由寻址方式决定的16位偏移量SP 4、微处理器存储器I/O接口电路 5、825908H—OFH 6、n 7、3 2 8、接收移位发送移位 二、判断题: 1、√ 2、√ 3、√ 4、√ 5、√ 6、× 7、√ 8、× 9、×10、√ 11、×12、√13、√14、√ 三、简答题: 1、答:①在刷新周期,是用只有行地址的方法,选中一行对它进行刷新。(3分) ②有效将行地址存入行地址锁存器,被这个地址选中的那一行中的所有单元都读出 和重写,达到刷新的目的。(3分) 2、答:①CUP输出控制字CW=16H,指定它的工作方式;(1.5分) ②CPU向它写入计数初值LSB=4;(1.5分) ③装入计数值后开始计数,一个CLK使计数值减2;(1.5分) ④当计数到0时,使输出改变状态。同时重装这个计数值,开始新的计数。(1.5分) 3、答:①当CPU响应中断时,将发出高电平的中断响应信号;(2分) ②由于F/FA没有中断请求,它的输出为低电平,故A2输出为高,相当于将中断响 应信号传递下去;(2分) ③因为F/FB有中断请求,F/FB输出为高,故B1输出为高,即中断输出2为高,用它去控制转至中断2的服务程序的入口。(2分) 四、问答题: 1、答:①20位物理地址的形成如下图所示:(2分)

②段寄存器内容左移4位与16位偏移量相加,形成20位物理地址。(2分) 2、答:①这是在一个周期内完成的;(2分) ②读出某一单元的内容,修改后再写回这个单元。(2分) 3、答:①停止位和空闲位都是高电平; ②停止位是字符格式中规定好的,是传递字符的一部分;(2分) ③两个互相通信的系统,在传输线上没有字符传送时是高电平。这个高电平称为空 闲位。(2分) 4、答:①全译码方式:存储器芯片中的每一个存储单元对应一个唯一的地址。译码需要的 器件多;(3分) ②部分译码方式:存储器芯片中的一个存储单元有多个地址。译码简单;(3分) ③线选:存储器芯片中的一个存储单元有多个地址。地址有可能不连续。不需要译 码。(2分) 五、应用题: 1、答:可用2种方法实现: ①8255A工作于方式O时,端口C可以指定为输出。每隔1/2方波周期改变其中一位的状态,其它位不变。就可以通过端口C的某一条线输出连续的方波。(4.5分) ②用对端口C某一位置位/复位的方法实现。即每隔1/2方波周期时间,对端口 C 的某一位交替进行置位、复位,即可从端口C的某一条线输出连续的方波。(4.5分) 2、答:①分配给32K×8ROM芯片的地址为:F8000H-FFFFFH(4.5分) ②分配给8K×8ROM的地址为下述4组地址之一: F0000H-F1FFFH F2000H-F3FFFH F4000H-F5FFFH F6000H-F7FFFH(4.5分)

微机原理及应用习题105道

《微机原理与应用》习题 1. 求ADDRI 开始单元中连续存放的两个双字数据之和,将结果存放在ADDR2开始的单元,并将结果在显示器上显示出来。(假定和不超过双字) 2. 在一个首地址为STR 、长度为N 的字符串中查找“空格”,找到则向DL 中送1,否则向DL 中送-1。 3. 将两位十六进制数转换成ASCII 码,并送屏幕显示,要求使用顺序结构实现。 4. 使用分支结构实现将1位十六进制数转换成ASCII 码。假设需要转换的十六进制数已存放在AL 的低4位上,转换结果仍存放到AL 中。 5. 一个32位数存放在以数据段的BUF 单元开始的位置。编写子程序统计该数中含“1”的个数,并将其结果存入RSLT 字节单元。 6. 用查表法将1位十六进制数转换成相应的ASCII 码,并将结果送屏幕显示。 7. 将数据段中首地址为ADDR 、长度为N 的一组数据加1,并送回原处。 8. 将数据段ADDR1地址处的200个字节数据,传送到数据段地址为ADDR2处。 9. 编写程序,已知有某字串BUF1的首址为2000H ,并且数据段与附加段重合。欲从BUF1处开始将20个字数据顺序传送至BUF2处。 10. 有First 和Second 开始的2个长度相等的字符串,交换2个字符串的内容。 11. 编写程序能够完成矩阵A 与向量B 相乘,结果存放在向量C 中。 已知:矩阵142321598765A ????=?????? ,向量[]T 2457B =。 提示:对于[][]11 121314T T 21 22232412341233132 3334a a a a a a a a b b b b c c c a a a a ?????=?????? 计算公式为:41, 1,2,3i ij j j C a b i ===∑;汇编语言程序采用双循环结构。 12. 假设在内存BUF 为首地址的数据区中,有50个字节的无符号数,编一程序能够找出数据块中的最大者,并把它送至MAX 单元中。 13. 编写程序,给一串字符加上奇校验位,采用堆栈传递参数。 14. 编写程序,分别将M1、M2、M3中两个压缩型BCD 码求和,并将结果保存。 15. 编写程序,求ARRAY 开始的100个带符号字节数据的绝对值,结果放在Result 开始的100个字节中。

微机原理及应用试题

扬州大学试题纸Array ( 2009-2010学年第1学期) 广陵学院07 班(年)级课程微机原理及应用 (A)卷 1. 以程序存储和程序控制为基础的计算机结构提出者是(B ) A.布尔 B.冯﹒诺依曼 C.图灵 D.帕斯卡尔 2.十进制数95转换成二进制数是(D ) A. 10010101 B. 01100101 C. 0100110 D. 01011111 3.大写字母C的ASCII码是(C ) A. 11001100B B. 00001100B C. 01000011B D. 01000111B 4.在微机中,主机和高速硬盘进行数据交换,一般采用的方式是( D) A. 程序直接控制方式 B. 程序中断控制方式 C. 无条件传送方式 D. DMA方式 5.将寄存器AX的内容求反的正确指令是( C ) A. NEG AX B. CMP AX,0FFFFH C. NOT AX D. CMP AX,AX 6. 指令MOV ARRAY[DI],DX 源操作数的寻址方式是(B ) A.变址寻址 B.寄存器寻址 C.基址寻址 D.基址变址寻址 7. 8086/8088响应不可屏蔽中断时,其中断类型号是(A ) A.由CPU自动产生 B.从外设取得 C.由指令INT给出 D.由中断控制器提供 8.8086指令队列的长度是 ( C ) A. 4个字节 B.5个字节 C.6个字节 D.8个字节 M/、WR、RD信号的状态依次9. 在最小模式下,CPU从外设读取数据操作,IO 为( A ) A. 0,1,0 B. 0,三态,0 C. 0,0,1 D. 1,1,0 10.在8086系统中,CPU被启动后,IP及四个段寄存器的初始状态是(D )

(完整word版)微机原理与应用试卷-有答案

微机原理与应用试卷 一、单项选择题(每小题 1 分共 10 分) 1.十进制33.25转换成十六进制数为( ) A. B1.4H B. 1B.19H C. 21.4H D. 33.4H 2. 若有16条地址线,那么可访问的内存地址范围为。( ) A. 0001H~FFFFH B. 0000H~FFFFH C. 00000H~FFFFFH D. 00001H~FFFFFH 3. 8086 CPU内有指示下条指令有效地址的指示器是( ) A. IP B. SP C. BP D. SI 4.下列指令中语法有错误的是( ) A. IN AX,20H B. LEA SI,[2000H] C. OUT DX,AL D. SHL AX,2 5. 8088CPU内部的数据总线有多少条( ) A. 8条 B. 16条 C. 20条 D. 32条 6. 若(AL)=0FH,(BL)=04H,则执行CMP AL,BL后,AL和BL的内容为( ) A. 0FH和04H B. 0BH和04H C. 0FH和0BH D. 04H和0FH 7. 指令MOV AX,[BX][SI]中源操作数的寻址方式是。( ) A. 寄存器间接寻址 B. 变址寻址 C. 基址变址寻址 D. 相对寻址 8. 与MOV BX,OFFSET X等价的指令是( ) A. MOV BX,X B. LDS BX,X C. LES BX,X D. LEA BX,X 9. 不能实现将AX清零和CF清零的指令是() A. SUB AX,AX B. MOV AX,0 C. XOR AX,AX D. AND AX,0 10.可编程计数/定时器8253的工作方式有几种() A. 3 B. 4 C. 5 D. 6 二、填空题(每空2分,共20分) 1. 计算机通常___________和___________是核心部件,合称为中央处理单元CPU。 2. 8086CPU通过数据总线对__________进行一次访问所需要的时间为一个总线周期,一个总线周期至少包括__________时钟周期。 3. 组成16M*8位的存储器,需要1M*4位的存储芯片___________片。 4. 微机中一般采用__________芯片作为串行通信接口。 5.在8086CPU系统中,设某中断源的中断类型码为08H,中断矢量为0100H:1000H,则相应的中断矢量存储地址为__________;从该地址开始,连续的4个存储单元存放的内容依次为__________。

微机原理及应用习题2套(含答案)

一.填空题 01.________由中央处理器、存储器、输入/输出接口和总线组成。 02.微机系统中,有四级(或四层)总线,分别是片内总线、片总线、内总线和________。 03.与十进制数2006等值的十六进制数是________,与十六进制数AC04H等值的十进制数是________。 04.设[X]补=10101010B,则用8位二进制数表示的[ X 8 1 ]补的值是________B;若[X]补=00110101B,则[-2X]补=________B。 05.字符串‘Win98’的ASCII代码是________。 06.8086/8088的地址空间最多可分为________个逻辑段。 07.一个数据的有效地址EA = 1234H,且DS =5678H,则该数据在内存中的物理地址是________,该数据段的首末单元的物理地址是________。 08.若当前堆栈指针SP指向2006H单元,则向堆栈中压入5个字的内容后,SP应指向________。 09.若8086/8088 CPU引脚状态是M/IO=1,RD=1,WR=0,则此时执行的操作是________。 10.一台8微机的地址总线为16条,其RAM存储器容量为16KB,首地址为2000H,且地址是连续的,则可用的最高地址是________。 11.某中断类型号是20H,则中断向量地址是________。 12.某微机中断级联系统中,共采用3片8259A可编程中断控制器,则该系统最多可管理________级中断源。13.某微机系统采用一块8253芯片,时钟频率为1MHz。若要求通道0工作于方式3,输出的方波周期为0.5ms,则时间常数应设定为________,通道控制字应设定为________。 14.一个串行字符由一个起始位,7个数据位,一个奇偶效验位和一个停止位构成,若每秒传送240个字符,则数据传送的波特率是________,传送每位信息所占用的时间是________。 15.异步串行通信工作方式下,一个串行字符由一个起始位,7个数据位1101110,一个奇效验位和一个停止位构成,则先后发送该帧字符信息的数据位是________。 二.简答题

微机原理及应用习题答案

《微机原理及应用》习题答案 教材:《80X86/Pentium 微型计算机原理及应用》答案第一章 计算机基础 1-3 (1)01101110 真值=110 (2)10001101 真值=-13 1-4 (1)+010111 [+010111]原=[+010111]反=[+010111]补=00010111 (2) +101011 [+101011]原=[+101011]反=[+101011]补=00101011 (3) - 101000 [-101000]原=10101000 [-101000]反= 11010111 [-101000]补=11011000 (4) -111111 [-111111]原=10111111 [-111111]反= 11000000 [-111111]补=11000001 1- 6 (1) [x1+y1] 补=[x1]补+ [y1]补 =00010100+00100001=00110101 (2) [x2-y2]补=[x2]补+ [-y2]补 =11101100+00100001=00001101 1- 7 (1) 85+60 解:[-85] 补=10101011 [60] 补=00111100 [-85] 补+[60] 补=10101011+00111100=11100111 (11100111)补=10011001 真值=—25 CS= 0, CP=0, CS? CP= 0 无溢出 (4)-85-60 [-85] 补=10101011 [-60] 补=11000100 [-85] 补+[-60] 补=10101011+11000100=101101111 CS=1, CP=0 CS? CP=1 有溢出1- 8 (1) [x] 补+ [y] 补=01001010+01100001=10101011 CS=0, CP=1 CS? CP=1 有溢出⑵[X] 补-[y]补=[x]补+ [-y]补 =01001010- 01100001=01001010+10101010 =100010110 CS=1, CP=1 CS? CP=0 无溢出1- 9 (1) (127)10=(000100100111)BCD (2) (74)H=(116)10=(000100010110)BCD (1) 41H 代表 A (2) 72H 代表r (3) 65H 代表e (4) 20H 代表SP 1-14 (1) 69.57 (69.57)10=(1000101.100)B=0.1000101100 X 27 =0.1000101100 X 2+111 浮点规格数为011101000101 (2) -38.405 (-38.405)10=(-100110.011)B -100110.011= -0.100110011 x 26 = - 0.100110011 x 2110 浮点规格数为011011001100 (3) - 0.3125 (-0.3125)10=(-0.0101)2=(-0.101)2 x 2-001 浮点规格数为111111010000 1. +0.00834 2. (+0.00834)10=(0.000000100010001)2=(0.100010 001)2 x 2-110 3. 浮点规格数为101001000100 4. 1-15 5. (1) (69.57)10=(1000101.10010001111010111)2 6. =(1.00010110010001111010111)2 x 2110 7. p=6+127=133=(10000101)2 8. 单精度浮点数为 01000010100010110010001111010111 9. ( 2) (-38.405)10=(-100110.011001111010111000)2 10. = - (1.00110011001111010111000)2 x 2101 11. p=5+127=132=(10000100)2 12. 单精度浮点数为 11000010000110011001111010111000 13. (3) (-0.3125)10=(-0.0101)2=(-1.01)2 x 2-10 14. p=-2+127=125=(1111101)2 15. 单精度浮点数为 10111110101000000000000000000000 第二章80X86/Pentium 微处理器 2- 3 IO/M DT/R DEN RD WR 读存储器0 0 0 0 1 写存储器0 1 0 1 0 2- 17 PA=CS x 16+IP IP 的范围为OOOOH?FFFFH而CS 为 A000H 因此PA的范围即现行代码段可寻址的存储空间范围为 1-10

单片微机原理及应用课后习题答案

第一章单片机基础 1-1单片机的发展分为几个阶段?答:单片机的发展到目前为止大致分为5个阶段:第一阶段:单片机发展的初级阶段。 第二阶段:低性能单片机阶段。 第三阶段:高性能单片机阶段。 第四阶段:16位单片机阶段。 第五阶段:单片机在集成度、功能、速度、可靠性、应用领域等方面向更高水平发展。1-2说明单片机的主要应用领域?答:由于单片机具有体积小、重量轻、价格便宜、功耗低、易扩展、可靠性高、控制功能强及运算速度快等特点,在国民经济建设、军工产品及家用电器等各个领域均得到广泛应用。主要有:①工业自动化;②智能仪表;③消费类电子产品;④通信方面;⑤军工产品;⑥终端及外部设备控制;⑦多机分布式系统。 1-3MCS-51系列单片机片内包含哪些功能部件?各功能部件的功能是什么?答:MCS-51系列单片机的内部结构:1.中央处理器CPU。其主要完成单片机的运算和控制功能,MCS-51系列单片机的CPU不仅可以处理字节数据,还可以进行位变量的处理。2.片内数据存储器RAM。RAM用于存储单片机运行中的工作变量、中间结果和最终结果等。3.片内程序存储器ROM/EPROM。程序存储器既可以存放已编制的程序,也可以存放一些原始数据和表格。4.特殊功能寄存器SFR。SFR用以控制和管理内部算术逻辑部件、并行I/O口、定时/计数器、中断系统等功能模块的工作。5.并行口。一共有4个8位的并行I/O口:P0、P1、P2、P3。P0是一个三态双向口,可作为地址/数据分时复用口,也可作为通用I/O口。P1只能作为通用I/O口。P2可以作为通用I/O口,也可作为在单片机扩展外部设备时,高8位地址总线使用。P3除了作为通用准双向I/O接口外,各引脚还具有第二功能。6.串行口。有一个全双工的串行口,可以实现单片机与外设之间数据的逐位传送。7.定时/计数器。可以设置为定时方式或计数方式。 1-4MCS-51系列单片机引脚中有多少I/O线?它们和单片机对外的地址总线和数据总线有什么关系?地址总线和数据总线各是多少位?说明准双向口的含义?答:MCS-51一共有32个I/O引脚。P0口有8位数据总线和地址总线的低8位,P2口有地址总线的高8位,因此单片机的地址总线位是16位,寻址空间为64KB,数据总线位宽为8位。同时在P3口还R/W控制信号线。“准双向口”即不是真的双向口的意思。双向口与准双向口的区别为双向口有高阻态,输入为真正的外部信号,准双向口内部有上拉,故高电平为内部给出不是真正的外部信号!软件做处理时都要先向口写“1”!P0是双向口,P1、P2、P3均为准双向口。 1-5MCS-51系列单片机的EA引脚的作用是什么?该引脚分别接高电平和低电平时各有何种功能?答:EA为访问外部程序存储器控制信号,低电平有效。当EA端保持高电平时,单片机访问片内程序存储器;当EA保持低电平时无论片内有无程序存储器,均只访问外部程序存储器。 1-6MCS-51系列单片机的RST引脚的作用是什么?说明单片机上电复位的工作过程?答:RST是复位信号输入端,高电平有效。当单片机运行时,再该引脚出现持续时间大于两个机器周期的高电平,就可完成复位操作。上电复位利用电容两端电压不能突变的原理,在上电瞬间RST引脚与VCC引脚电压相等,随着电容充电两端电压逐渐上升,RST引脚逐渐下降。在充电过程中能够提供足够的高电平,使单片机能够可靠的复位。 1-7MCS-51系列单片机存储器从物理结构、寻址空间分布及功能上如何分类?寻址范围为多少?答:51单片机存储器从物理结构上可分为:片内、片外程序存储器与片内、片外数据存储器4个部分。从寻址空间分布和功能上分为128字节的片内RAM区、128字节的特殊功能寄存器区、64KB的外部RAM区、64KB的外部ROM区、4KB的片内f

相关文档
相关文档 最新文档