当前位置:文档之家› 微计算机原理第二版课后word全部答案

微计算机原理第二版课后word全部答案

微计算机原理第二版课后word全部答案
微计算机原理第二版课后word全部答案

一习题答案

1-1解释和区别下列名词术语。

(1). 微处理器μP,微计算机μC,微处理器系统μPS。

(5). 位、字节、字和双字。

(7). RAM和ROM

(8). I/O接口和I/O设备。

(9). 芯片总线、片总线、内总线和外总线。

答:(1). 把CPU的复杂电路,包括运算器和控制器作在一片或几片大规模集成电路的半导体芯片上,这种集成电路叫微处理器μP。

微处理器为核心,配上RAM、ROM,I/O接口及有关辅助电路组成的微型化的主计算机装置称为微计算机μC。

微处理器为核心构成的专用系统称为微处理器系统μPS。

(5)一个二进制的位称作位、8个相邻二进制位称作字节、2个字节称作字,2个字(4个字节)称作双字。(7)能进行随即读写操作的存储器称作RAM。只读存储器叫ROM。

(8)输入/输出接口电路称作I/O接口,通过I/O接口接入的外部设备如监视器,键盘、鼠标称作I/O设备。(9)位于CPU芯片内部,用来实现CPU内部各功能单元电路之间的相互连接和信号的传递的总线叫芯片总线。

片总线是微计算机主板或单板微计算机上以CPU芯片为核心,芯片与芯片间连接的总线。

内总线指微计算机系统中实现插件板之间的连接的总线。如IBM PC 的PC总线,PC-XT总线,PCI、ISA总线等等。

外总线用于系统之间的连接,完成系统与系统之间通信的总线。如RS-232,IEE488、USB等等。

1-6 将下列十进制数转换为二进制数、十六进制数和BCD数

(1)124.625

(6)268.875

解:

(1)124=01111100B=7CH,0.625×16=10,所以0.625=0.AH=0.1010B

∴124.625=7C.AH=01111100.1010B=000100100100.011000100101BCD

(2)268=256+12=100001100B=10CH,0.875×16=14,∴0.875=0.EH=0.1110B.

∴268.875=10C.EH=100001100.111B=001001101000.100001110101BCD

1-7 用16位二进制数表示出下列十进制数的原码、反码和补码。

(1)+128

(4)-5

解:

(1)+128 的原码和补码反码均为0000000100000000B

(4)-5的原码为1000000000000101B,反码为1111111111111010B,补码为1111111111111011B。

1-9 写出系列字母、符号的ASCII码

(1)B (2)H (3)SP(空格)(4)5 (5)$ (6)CR(回车符)(7)LF(换行)

解:(1)42H、(2)48H、(3)20H、(4)35H、(5)24H、(6)0DH、(7)0AH

1-10 试绘出以下十六进制数在内存中存放的示意图。设存放地址均为00H。

解:

(1)F7H (2)03BAH (3)C804326BH (4)1122334455667788H

2-1 请将左边的术语和右边的含义联系起来,在括号中填入你选择的代号字母: 1. 字长 (i )a. 指由8个二进制位组成的通用基本单元。 2. 字节 (a )b. 是CPU 执行指令的时间刻度。

3. 指令 (h )c. μPS 所能访问的存储单元数,与CPU 地址总线条数有关。

4. 基本指令执行周期(g )d. 唯一能代表存储空间每个字节单元的地址,用5位十六进制数表示。

5. 指令执行时间 (j )e. CPU 访问1次存储器或I/O 操作所花的时间。

6. 时钟周期 (b )f. 由段基址和偏移地址两部分组成,均用4位十六进制数表示。

7. 总线周期 (e )g.. 指寄存器加法指令执行所花时间。

8. Cache (k )h. 完成操作的命令。

9. 虚拟存储器 (l )i. 指μP 在交换,加工,存放信息时信息的基本长度。 10. 访存空间 (c )j. 各条指令执行所花的时间不同,不同指令,该值不一。

11. 实际地址 (d )k. 为缓解CPU 与主存储器间交换数据的速度瓶颈而建立的高速存储器。 12. 逻辑地址 (f )l. CPU 执行程序时看到的一个速度接近内存却具有外存容量的假想存储器。 2-2 下面列出计算机中常用的一些单位,试指出其用途和含义。 (1)

MIPS (2)KB (3)MB (4)GB (5) TB

解:(1)MIPS 用来表示计算机运行的速度。1MIPS =1百万条指令/秒。 (2)KB 用来表示计算机访存空间大小。1KB =1024(210)B (字节) (3)MB 用来表示计算机访存空间大小。1MB =1048576(220)B (字节) (4)GB 用来表示计算机访存空间大小。1GB =1024M (230)B (字节) (5)TB 用来表示计算机访存空间大小。1TB =1024G (240)B (字节)

2-4 试将左边的标志和右边的功能联系起来。 要求:

(1) 在括号中填入右边功能的代号; (2) 填写其类型(属状态标志者填S :属控制标志者填C )。 (3)

写出各标志为0时表示的状态。

F7H

00H

内容 地址

2-6 试画出8086/8088的寄存器结构,并说出它们的主要用途。

解:AX、BX、CX、DX用作数据寄存器,用作存放操作数、中间结果。

SP堆栈指针、BP基址指针、SI源变趾、DI目的变趾。

IP 指令指针,FH 控制标志、FL 状态标志。

CS 存储代码段首趾、DS存储数据段首趾、SS 存储堆栈段首趾、ES 附加数据段首趾。

2-8 若一个程序段开始执行之前,(CS)=97F0H,(IP)=1B40H,试问该程序段启动执行指令的实际地址是什么?

解:启动执行指令的实际地址PA=97F0H×10H+1B40H=99A40H

2-9 若堆栈段寄存器(SS)=3A50H,堆栈指针(SP)=1500H,试问这时堆栈顶的实际地址是什么?解:栈顶的实际地址=(SS)×10H+(SP)=3A50H×10H+1500H=3BA00H

2-11 将8086下列工作方式的特点填于表中。

解:

2-13 有一32位的地址指针67ABH :2D34H 存放在00230开始的存储器中,试画出它们的存放示意图。 解:示意图如下

2-21 列表填写 8086/8088 的存储器和I/O 的保留空间及其用途: 解:

3-1 指令由 操作码 字段和 操作数 字段组成。8086的指令长度在 1~6个字节 范围。

3-2 分别指出下列指令中源操作数和目的操作数的寻址方式。若是存储器寻址,试用表达式表示出EA =?PA =? (1)

MOV SI,2100H (4) ADC AX,[BX][SI] (7)MOV AX,ES:[BX]

解(1)源操作数是立即数寻址,目的操作数是寄存器寻址。

(4)源操作数是基址变趾寻址,EA =(BX)+(SI),PA =16×(DS)+(BX)+(SI), 目的操作数是寄存器寻址。

(7)源操作数是寄存器间接寻址,其中EA =(BX ),PA =16×(ES)+(BX ), 目的操作数是寄存器寻址。

3-3 已知 8086 中一些寄存器的内容和一些存储单元的内容如图3-20所示,试指出下列指令执行后,AX 中的内容(即(AX )=?)。 (1)MOV AX,2010H (2) MOV AX,BX (3) MOV AX,[1200H] (4) MOV AX,[BX]

(5)MOV AX,1100H[BX] (6)MOV AX,[BX][SI] (7)MOV AX,1100H[BX+SI] (8)LEA AX,[SI] 0100H BX SI DS

3000H

0002H CPU

12H

30100H 30101H 30102H 30103H

78H 34H 56H M

解:(1)(AX)=2010H(2)(AX)=0100H(3)(AX)=4C2AH(4)(AX)=3412H (5)(AX)=4C2AH (6)(AX)=7856H (7)(AX)=65B7H (8)(AX)=0002H

3-4

已知(AX)=2040H,(DX)=380H,端口(PORT)=(80H)=1FH,(POR T+1)=45H,

执行下列指令后,指出结果等于?

解:(1)OUT DX,AL;端口(DX)=40H

(2)OUT DX,AX;端口(DX)=40H,(DX+1)=20H

(3)IN AL,PORT;(AL)=1FH

(4)IN AX,80H;(AX)=451FH

(5)OUT PORT1,AL;端口(PORT1)=40H

(6)OUT PORT1,AX;端口(PORT1)=40H

端口(PORT1+1)=20H

3-5 已知:(SS)=0A2F0H,(SP)=00C0H,(AX)=8B31H,(CX)=0F213H,试画出下列指令执行到位置1和位置2时堆栈区和SP指针内容的变化示意图。图中应标出存储单元的实际地址PA。

PUSH AX

PUSH CX;位置1

POPF ;位置2

3-7 3

结果是什么?2.

解:

(1)LEA SI,NUM1;4-2T+6T

MOV A X,[SI];2-10T

ADD AX,4[SI];3-9T+9T

MOV 8[SI],AX;3-10T

ADD SI,2;3-4T

MOV A X,[SI];2-10T

ADC AX,4[SI];3-9T+9T

MOV 8[SI],AX;3-10T

位置1栈顶

SS

SP

总计23个字节,84个时钟周期运行结果如图中SUM所示。

(2)

MOV AX,NUM1;3-10T Array ADD AX,NUM2;4-9T=6T

MOV SUM,AX;3-10T

MOV AX,NUM1+2;3-10T

ADC AX,NUM2+2;4-9T+6T

MOV SUM+2,AX;3-10T

总计20个字节,70个时钟周期。

可见

1. 两个程序运行结果相同。

2. 第二个程序占20个字节,比前者少3个字节,运行时间比前者少14个时钟周期。

3-11 已知数据如图3-21所示,低位在前,按下列要求编写程序段:

1. NUM1 和 NUM2 两个字数据相乘(均为无符号数),乘积放在SUM开始的单元。

解:

MOV AX,NUM1

MUL WORD PTR NUM2

MOV SUM,AX

MOV SUM+2,DX

2. NUM1 和NUM2 两个字数据相乘(均为带符号数),乘积放在SUM开始的单元。

解:

MOV AX,NUM1

IMUL WORD PTR NUM2

MOV SUM,AX

MOV SUM+2,DX

3. NUM1单元的字节数据除以13(均为无符号数),商和余数依次放入SUM开始的两个字单元。解: MOV A L,NUM1

MOV A H,0

MOV C L,13

DIV CL

MOV S UM,AX

4. NUM1字单元的字数据除以NUM2字单元的字,商和余数依次放入SUM开始的两个字单元。

MOV A X,NUM1

MOV D X,0

MOV C X,NUM2

DIV CX

MOV S UM,AX

MOV S UM+2,DX

3-13 已知(AL)=0C4H,DA TA单元中内容为5AH,写出下列每条指令单独执行后的结果。

①AND AL,DA TA;(AL)=40H

②OR AL,DA TA;(AL)=0DEH

③XOR AL,DA TA;(AL)=9EH

④NOT DA TA;(DA TA)=0A5H

⑤AND AL,0FH;(AL)=04H

⑥OR AL,01H;(AL)=0C5H

⑦XOR AL,0FFH;(AL)=3BH

⑧TEST AL,80H;(AL)=0C4H

所有指令执行后都对标志寄存器有影响。

3-19 写出下面指令序列完成的数学计算是什么?

解:MOV CL,3;(CL)←3

SHL AX,CL;(AX)←(AX)×8

SHL BL,CL;(BL)←(BL)×8

SHL CX,CL;(CX)←(CX)×8,此时(CL)=18H

SHL DH,CL;DH算术左移24位后(DH)=0,CF=0

3-20 写出能替代下列重复操作指令完成同样功能的的指令序列

1. REP MOVSW

2. REP CMPSB

3. REP SCASB

4. REP LODSW

解:

1 AGAIN: MOVSW 3 AGAIN:SCASB

DEC CX DEC CX

JNZ AGAINN JNZ AGAIN

2 AGAIN: CMPSB 4 AGAIN:LODSW

DEC CX DEC CX

JNZ AGAIN JNZ AGAIN

3-23 下面两条短转移指令的转移地址ADDR1和ADDR2分别是多少(用十六进制表示)?

1.0220 EB 0A JMP ADDR1

2.0230 EB F7 JMP ADDR2

解:JMP ADDR1 的下一条指令的地址偏移为0222H,0222H+0AH=022CH。

∴ADDR1地址偏移量为022CH。

JMP ADDR2下一条指令的地址偏移量为0232H,0232H+0FFF7H=0229H。

∴ADDR2地址偏移量为0229H。

3-27试编写一个程序段,能完成下列数学表达式的功能。

-1 (X≤-1)

X=0 (-1

1 (X≥1)

解:设带符号数(WORD)在AX中,程序段如下

GETX: TEST AX,AX

JNS TZERO

MOV A X,0FFFFH

JMP TEND

TZERO:JZ TEND

MOV A X,1

TEND: RET

3-28 8086的中断机构中共允许256级中断,其专用中断有5个,分别为类型0中断(除数为0的中断)、类型1中断(单步中断)、类型2中断(非屏蔽中断NMI)、类型3中断(断点中断)和类型4中断(溢出中断)。

3-30 用DOS功能调用编写一个程序,能将3-17题中的结果在屏幕上显示出来。

解: MOV C L,4

MOV A L,87H

MOV B L,AL

SHR BL,CL

AND AL,0FH

OR AL,30H

MOV D L,AL

MOV A H,2

INT 21H

AND BL,0FH

OR BL,30H

MOV D L,BL

INT 21H

4-2 计算下列表达式的值(设A1=50,B1=20,G1=2 )

解:

1. A1*100+B1=50*100+20=5020

2. A1 MOD G1+B1=50 MOD 2 +20=20

3. (A1+2)*B1-2=(50+2)*20-2=1038

4. B1/3 MOD 5=20/3 MOD 5=1

5.(A1+3)*(B1 MOD G1)=(50+3)*(20 MOD 2)=0

6. A1 GE G1= 50 GE 2 =11111111B

7. B1 AND 7=20 AND 7= 4

8. B1 SHL 2 + G1 SHR 1= 20 SHL 2 + 2 SHR 1= 81

4-3 已知数据段定义如下,设该段从03000H开始:

DSEG SEGMENT

ARRAY1 DB 2 DUP(0,1,?)

ARRAY2 DW 100 DUP(?)

FHZ EQU 20H

ARRAY3 DB 10 DUP(0,1,4 DUP (2),5)

DSEG ENDS

试用分析算符OFFSET,LENGTH,SIZE,SEG,TYPE 求出ARRAY1,ARRAY2,ARRAY3的段、偏移量和类型,以及它们的LENGTH和SIZE。

解:求段:

SEG ARRAY1=0300H

SEG ARRAY2=0300H

SEG ARRAY3=0300H

求偏移量:

OFFSET ARRAY1=0000H

OFFSET ARRAY2=0006H

OFFSET ARRAY3=00EEH

求类型:

TYPE ARRAY1=1

TYPE ARRAY2=2

TYPE ARRAY3=1

求LENGTH:

LENGTH ARRAY1=6

LENGTH ARRAY2=100

LENGTH ARRAY3=70

求SIZE:

SIZE ARRAY1=6

SIZE ARRAY2=200

SIZE ARRAY3=70

4-7 下述程序段执行后,寄存器CX,SI的内容是多少?

ARRY DW 20 DUP(5)

XOR AX,AX

MOV C X,LENGTH ARRY

MOV S I, SIZE ARRY-TYPE ARRY

解:(CX)=20

(SI)=40-2=38

4-8 试定义一个结构,它应包括一个学生的下列信息:姓名、学号及三门课程的成绩。然后给出3条结构预置语句,将3个学生的情况送入3个结构变量中。

解:

DA TA SEGMENT

STUDENT STRUC

NAME DB 4 DUP(?)

NO DB ?

ENG DB ?

MA T DB ?

PHY DB ?

STUDENT ENDS

S1 STUDENT<…ZHAN?,20H,78H,95H,80H>

S2 STUDENT<…WANG?,21H,88H,91H,90H>

S3 STUDENT<…LILI?,22H,79H,75H,70H>

DA TA ENDS

4-9 试定义一条宏指令,它可以实现任一数据块的传送(假设无地址重叠),源地址、目的地址和块长度作为参数处理。

MOVDATA MACRO SN,DN,CN,PN

MOV AL,PN

CLD

TEST AL,#80H

JZ CONT

STD

CONT: MOV SI,OFFSET SN

MOV DI,OFFSET DN

MOV CX,CN

REP MOVS DN,SN

ENDM

4-10 设V AR1和VAR2为字变量,LAB为标号,试指出下列指令的错误,并改正之。

(1)ADD VAR1,VAR2 (2)SUB AL,VAR1 (3)JMP LAB[SI]

(4)JNZ VAR1 (5)JMP NEAR LAB (6)MOV AL,VAR2

解:

(1)MOV AX,VAR1 (2)MOV AH,0 (3)JMP OFFSET LAB [SI] ADD AX,VAR2 SUB AX,VAR1

(4)MOV SI,VAR1 (5)JMP NEAR PTR LAB (6)MOV AX,VAR2 JNZ TARGET

……

TARGET:JMP [SI]

4-11 已知数据定义如下,问L1和L2等于多少?

B1 DB 1,2,3,?123?

B2 DB 0

L1 EQU $-B1

L2 EQU B2-B1

解:$=7,∴$-B1=7-0=7

即L1等于7

L2=B2的偏移地址6-B1的偏移地址0=6

4-15 用查表法将存放于数据段中的一个有序的十六进制数串(范围:0~FH)翻译成ASCII码表仍放于数据段中。

解:

DA TA SEGMENT

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

TBASCII DB …0123456789ABCDEF?

DA TA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DA TA

MAIN PROC FAR

START: PUSH DS

MOV A X,0

PUSH AX

MOV A X,DATA

MOV D S,AX

MOV C X,16

MOV S I,OFFSET XDHEX

MOV B X,OFFSET TBASCII

MOV A H,0

AGAIN: MOV A L,[SI]

MOV D I,AX

MOV A L,[BX+DI]

MOV [SI],AL

INC SI

LOOP AGAIN

RET

START ENDP

CODE ENDS

END START

4-16 试编写一程序,把X和Y中的大者存于BIG单元,若X=Y,则把其中之一存入BIG单元。解:DA TA SEGMENT

X DW ?

Y DW ?

BIG DW ?

DA TA ENDS

;------------------------------

CODE SEGMENT

ASSUME CS:CODE,DS:DA TA

MAIN PROC FAR

START: PUSH DS

MOV A X,0

PUSH AX

MOV A X,DATA

MOV D S,AX

MOV A X,X

CMP A X,Y

JNC STOBIG;无符号数判断,有符号数用JGE

MOV A X,Y

STOBIG:MOV BIG,AX

RET

START ENDP

CODE ENDS

END START

4-17试编写一程序,比较两个字符串STRING1和STRING2 所含字符是否完全相同,若相同显示“MA TCH”,反之,则显示“NO MATCH”。

解:

DA TA SEGMENT

STRING1 DB 50 DUP(?)

STRING2 DB 50 DUP(?)

MA T DB …MA TCH$?

NMA T DB …NO MA TCH$?

DA TA ENDS

;------------------------------

CODE EGMENT

ASSUME CS:CODE,DS:DA TA,ES:DA TA

MAIN PROC FAR

START: PUSH DS

MOV A X,0

PUSH AX

MOV A X,DATA

MOV D S,AX

MOV E S,AX

MOV C X, LENGTH STRING1

LEA SI, STRING1

LEA DI, STRING2

LEA DX,MA T

CLD

REPE CMPSB

JE PLAY

LEA DX,NMA T

PLAY: MOV A H,09

INT 21H

RET

START ENDP

CODE ENDS

END START

4-19 假设已编好5个乐曲程序,它们的入口地址(含段首趾和偏移地址)存放在数据段中的跳越表MUSICTAB中。试编写一个管理程序,其功能是:根据键盘输入的乐曲编号00~04 转到所点乐曲入口,执行乐曲程序。

解:

DA TA SEGMENT

MUSICTAB DW OFFSET MUSIC0,SEG MUSIC0

DW OFFSET MUSIC1,SEG MUSIC1

DW OFFSET MUSIC2,SEG MUSIC2

DW OFFSET MUSIC3,SEG MUSIC3

DW OFFSET MUSIC4,SEG MUSIC4

DA TA ENDS

;------------------------------

CODE EGMENT

ASSUME CS:CODE,DS:DA TA

MAIN PROC FAR

START: PUSH DS

MOV A X,0

PUSH AX

MOV A X,DATA

MOV D S,AX

;---------------------------------------------------------------

KEYIN: MOV A H,1

INT 21H

SUB AL,30H

MOV C L,4

ROL AL,CL

MOV B L,AL

MOV AH,1

INT 21H

SUB AL,30H

ADD AL,BL

MOV AH,0

ADD AX,AX

ADD AX,AX

LEA BX, MUSICTAB

MOV SI,AX

JMP DWORD PTR[BX][SI];见教科书116页,④段间间接寻址

MUSIC0:…

MUSIC1:…

MUSIC2:…

MUSIC3:…

MUSIC4:…

EXIT: RET

START ENDP

CODE ENDS

END START

4-21 在数据段中存有一字符串(≤80个字符),以回车CR结束。编一程序统计此字符串的长度,并将它存入数据区LENTH单元,也显示在屏幕上。

解:设字符串为STRING字节单元开始,程序采用DO_WHILE的循环结构,CX寄存器用作字符串长度计数。循环结束条件两个:(1)找到CR,屏幕上显示字符串长度-LENTH。(2)未找到CR,屏幕上显示“ERROR”。DA TA SEGMENT

STRING DB '12345678'

DB 0DH

DB 71 DUP(?)

LENTH DB 80 DUP(?)

ERR DB 'ERROR$'

DA TA ENDS

;-------------------------------------

CODE SEGMENT

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

MAIN PROC FAR

START: PUSH DS

MOV A X,0

PUSH AX

MOV A X,DATA

MOV D S,AX

MOV E S,AX

;-------------------------------------------------

MOV D I,OFFSET STRING

CLD

MOV C X,80

MOV A L,0DH

REPNZ SCASB

JNZ PLAYER

MOV AX,80

SUB AX,CX

MOV CL,10

DIV CL

MOV DL,AL

OR DL,30H

PUSH AX

MOV A H,2

INT 21H

POP AX

MOV DL,AH

OR DL,30H

MOV AH,02

INT 21H

RET

PLAYER:MOV DX,OFFSET ERR

MOV A H,9

INT 21H

RET

;----------------------------------------------------

MAIN ENDP

CODE ENDS

END START

4-22 试用串操作指令将一个数组BLOCK(均为字节数)中的奇数和偶数分开存放。

解:1设数组BLOCK在数据段,程序运行后把数组中的奇数存放在数据段数组PODA TA、偶数存放在数据段数组PEDA TA中。

2程序分两次扫描,第一次搜索奇数,并存放于PODATA中、第二次搜索偶数,并存放于PEDA TA中。

3 两次搜索均用FOR语句结构。

DATA SEGMENT

BLOCK DB 1,2,3,4,5,6,7,8,9,90,21,33 COUNT EQU $-BLOCK

PODATA DB COUNT DUP(?)

PEDATA DB COUNT DUP(?)

DATA ENDS

;----------------------------------------- CODE SEGMENT

MAIN PROC FAR

ASSUME CS:CODE,DS:DATA

START: PUSH DS

MOV AX,0

PUSH AX

MOV AX,DATA

MOV DS,AX

;----------------------------------------- MOV SI,OFFSET BLOCK

MOV DI,OFFSET PODATA

MOV CX,COUNT

AGAIN: MOV AL,[SI]

INC SI

TEST AL,1

JZ ELOP

MOV [DI],AL

INC DI

ELOP: LOOP AGAIN

;------------------------------------------ MOV SI,OFFSET BLOCK

MOV DI,OFFSET PEDATA

MOV CX,COUNT

AGAIN1: MOV AL,[SI]

INC SI

TEST AL,1

JNZ ELOP1

MOV [DI],AL

INC DI

ELOP1: LOOP AGAIN1

;------------------------------------------ RET

;------------------------------------------ MAIN ENDP

CODE ENDS

;------------------------------------------

4-23 编一个程序,其功能是将一个字数组ARRAY中的正数和负数分开存放于以PLUS和MINNUS开始的单元中,并在屏幕上显示出正数和负数的个数。设该数组长度放在数组的第一个字单元中。

解:①搜索采用FOR 语句结构循环程序。②程序每次循环采用正负数分支完成该次正数与负数分离存储。

DATA SEGMENT

ARRAY DW 10H,8 DUP(1FH,-12)

PLUS DW 10H DUP(?,?)

MINUS DW 10H DUP(?,?)

DATA ENDS

;--------------------------------

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

MAIN PROC FAR

START: PUSH DS

XOR AX,AX

PUSH AX

MOV AX,DATA

MOV DS,AX

MOV ES,AX

;--------------------------------

MOV SI,OFFSET ARRAY

MOV DI,OFFSET PLUS

MOV BX,OFFSET MINUS

LODSW

MOV CX,AX

AGAIN: LODSW

TEST AX,8000H

JNZ MINS

PLS: STOSW

LOOP AGAIN

JMP COMOUT

MINS: XCHG BX,DI

STOSW

XCHG BX,DI

LOOP AGAIN

COMOUT: MOV AX,ARRAY

SUB DI,OFFSET PLUS

SUB BX,OFFSET MINUS

MOV AX,DI

MOV CL,10

DIV CL

OR AL,30H

OR AH,30H

PUSH AX

MOV AH,2

INT 21H

POP AX

MOV DL,AH

MOV AH,2

INT 21H

MOV DL,0DH

MOV AH,2

INT 21H

MOV DL,0AH

INT 21H

MOV AX,BX

MOV CL,10

DIV CL

OR AL,30H

OR AH,30H

MOV DL,AL

PUSH AX

MOV AH,2

INT 21H

POP AX

MOV DL,AH

MOV AH,2

INT 21H

MOV DL,0DH

MOV AH,2

INT 21H

RET

;-----------------------

MAIN ENDP

CODE ENDS

END START

4-24 现有一组无序的字:25,46,3,75,-5,30,要求对它们进行排序,其算法如图4-31所示。试编写完成此功能的程序。

解:

DATA SEGMENT

ARRAY DW 25,46,3,75,-5,30 COUNT EQU $-ARRAY

DATA ENDS

;----------------------------------- STACK SEGMENT PARA STACK 'STACK'

DB 60 DUP(?)

STACK ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,SS:STACK SORT_ PROC FAR

START: PUSH DS

MOV AX,0

PUSH AX

MOV AX,DATA

MOV DS,AX

MOV CX,COUNT/2-1

CLD

AGAIN0: MOV DI,CX

MOV SI,OFFSET ARRAY

AGAIN1: LODSW

CMP AX,[SI]

JNL NEXT

XCHG [SI],AX

MOV [SI-2],AX

NEXT: DEC DI

JNZ AGAIN1

LOOP AGAIN0

RET

SORT_ ENDP

;---------------------------------

CODE ENDS

END START

4-25 试编写一程序求级数12+22+32+…的前几项和刚大于1000的项数n。解:采用DO_WHILE循环结构,程序结束时CL中存放n

DATA SEGMENT

N DB ?

DATA ENDS

;------------------------------

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

MAIN PROC FAR

START: PUSH DS

MOV AX,0

PUSH AX

MOV AX,DATA

MOV DS,AX

;--------------------------------

MOV CL,0

MOV BX,0

AGAIN: INC CL

MOV AL,CL

MUL CL

ADD BX,AX

CMP BX,1000

JBE AGAIN

MOV N,CL

MOV AL,CL

CBW

MOV CL,10

DIV CL

OR AL,30H

MOV CL,AH

MOV DL,AL

MOV AH,2

INT 21H

MOV DL,CL

OR DL,30H

INT 21H

RET

;----------------------------------

MAIN ENDP

CODE ENDS

END START

4-27 数据区中存放着一字节数组BLOCK(其个数为任意),均为组合的十进制数。试编写一程序求该数组之和,并存入SUM单元(和>1字节)。

解:采用最简单的FOR语句循环结构,寄存器CX作循环控制即可。

DATA SEGMENT

ARRAY DB 12H,13H,14H,15H

DB 16H,17H,18H,19H

计算机原理试题与答案

全国2004年4月高等教育自学考试 计算机原理试题 课程代码:02384 第一部分选择题(共25分) 一、单项选择题(本大题共25小题,每小题1分,共25分) 在每小题列出的四个选项中只有一个选项是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。 1.计算机中一次处理的最大二进制位数即为() A.位B.字节 C.字长D.代码 2.下列算式中属于逻辑运算的是() A.1+1=2 B.1-1=0 C.1+1=10 D.1+1=1 3.下图所示的门电路,它的逻辑表达式是() A.F=CD AB B.F=ABCD C.F=AB+CD D.F=ABCD 4.八进制数中的1位对应于二进制数的() A.2位B.3位 C.4位D.5位 5.下列叙述正确的是() A.原码是表示无符号数的编码方法 B.对一个数据的原码的各位取反而且在末位再加1就可以得到这个数据的补码

C.定点数表示的是整数 D.二进制数据表示在计算机中容易实现 6.浮点数0.00100011B×2-1的规格化表示是() A.0.1000110B×2-11B B.0.0100011B×2-10B C.0.0100011B×20B D.0.1000110B×21B 7.两个定点数作补码加法运算,对相加后最高位出现进位1的处理是() A.判为溢出B.AC中不保留 C.寄存在AC中D.循环加到末位 8.运算器中通用寄存器的长度一般取() A.8位B.16位 C.32位D.等于计算机字长 9.目前在大多数微型机上广泛使用宽度为32/64位的高速总线是() A.ISA B.EISA C.PCI D.VESA 10.某计算机指令的操作码有8个二进位,这种计算机的指令系统中的指令条数至多为 ()A.8 B.64 C.128 D.256 11.间接访内指令LDA @Ad的指令周期包含CPU周期至少有() A.一个B.二个 C.三个D.四个 12.在程序中,可用转移指令实现跳过后续的3条指令继续执行。这种指令的寻址方式是() A.变址寻址方式B.相对寻址方式

计算机组成原理答案

第二章运算方法和运算器练习 一、填空题 1. 补码加减法中,(符号位)作为数的一部分参加运算,(符号位产生的进位)要丢掉。 2. 为判断溢出,可采用双符号位补码,此时正数的符号用(00)表示,负数的符号用(11)表示。 3. 采用双符号位的方法进行溢出检测时,若运算结果中两个符号位(不相同),则表明发生了溢出。若结果的符号位为(01),表示发生正溢出;若为(10),表示发生负溢出。 4. 采用单符号位进行溢出检测时,若加数与被加数符号相同,而运算结果的符号与操作数的符号(不一致),则表示溢出;当加数与被加数符号不同时,相加运算的结果(不会产生溢出)。 5. 利用数据的数值位最高位进位C和符号位进位Cf的状况来判断溢出,则其表达式为over=(C⊕Cf)。 6. 在减法运算中,正数减(负数)可能产生溢出,此时的溢出为(正)溢出;负数减(正数)可能产生溢出,此时的溢出为(负)溢出。 7. 补码一位乘法运算法则通过判断乘数最末位Yi和Yi-1的值决定下步操作,当 YiYi-1=(10)时,执行部分积加【-x】补,再右移一位;当YiYi-1=(01)时,执行部分积加 【x】补,再右移一位。 8. 浮点加减运算在(阶码运算溢出)情况下会发生溢出。 9. 原码一位乘法中,符号位与数值位(分开运算),运算结果的符号位等于(两操作数符号的异或值)。 10. 一个浮点数,当其补码尾数右移一位时,为使其值不变,阶码应该(加1)。 11. 左规的规则为:尾数(左移一位),阶码(减1)。 12. 右规的规则是:尾数(右移一位),阶码(加1)。 13. 影响进位加法器速度的关键因素是(进位信号的传递问题)。 14. 当运算结果的补码尾数部分不是(11.0×××××或00.1×××××)的形式时,则应进行规格化处理。当尾数符号位为(01)或(10)时,需要右规。 15. (进位信号的产生与传递逻辑)称为进位链。

最新微型计算机原理答案(1)

微型计算机原理答案 (1)

微型机原理及接口技术参考答案 第一章微型计算机系统慨论 一、选择填空题 1.B 2.B 3.D 4.C 5.C 6.A 7.A 8.A 9.C 10.B 11.D 1.分析:微处理器和微型计算机系统是微机三个层次的底层和最高层。 3.分析:此题是求最小值,所以必定是负数,符号位为1。补码负数的特点 是数值位对应的真值越小,其绝对值越大,即负得越多,真值越小。所 以,由4个1和4个0组成的补码数中,真值最小的补码数为:10000111,即真值为:-121。 4.分析:在微程序控制器中,每条指令的操作步骤由执行一个微操作序列完成,每个微操作对应一条微指令。所以,A、B均不合题意。 5. 分析:计算机运算的“溢出”与操作数的存储格式(或表示方式)有关,只 有C含有题意。需要说明的是任何类型的数据,无论定点数还是浮点数,其存储格式一旦确定,它所能表示的数值范围是有限的。 6. 分析:程序计数器存放下一条要执行的指令的地址,而指令是预存在存 储器中的,所以它的位数取决于存储器的容量。 7. 分析:有符号补码数的扩展,是用符号位充填高位,其真值保持不变。 9. 分析:无论是具有还是不具有指令流水线结构的CPU,其指令的执行时 间主要取决于CPU的时钟周期。

10. 分析:程序设计语言有机器语言、汇编语言和高级语言三个层次。机器 语言和汇编语言是面向机器的编程语言,统称为低级语言。高级语言不依赖于具体机器,它是采用接近于习惯的自然语言和数学语言编写程序。机器语言程序是计算机能直接识别和执行的程序,而汇编语言和高级语言程序则是计算机不能直接识别和执行的。需对汇编语言和高级语言程序进行加工处理生成机器语言程序才能执行,这一加工处理过程分别叫作汇编和编译。 11.分析:Cache存储器常采用高速SRAM,存取速度快,在CPU与内存间设置这样的存储器可以保证CPU以尽可能快的速度与内存打交道。 二、对错判断题 1.× 2.√ 3.√ 4.× 1.分析:指令操作码需显式给出,但操作数可以是显式的也可以是隐含的。 4.分析:运算和控制功能是任何微机处理器必不可少的功能。存储功能也 是微机处理器的功能之一,但不是必备的功能,如单片机有存储功能, 高档微机80486、80586也含一定数量的Cache存储器具有存储功能。三、填空题 1.程序计数器、字节数、转移指令、调用指令、中断指令 分析:计算机每读一条指令,总是自动调整程序计数器到下一条指令的存放地址,只有遇到控制转移类指令,才会改变指令的执行顺序。 2.数据传送与交换指令、算术与逻辑类指令、程序控制类指令

微机原理习题及答案

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

计算机组成原理课后答案

… 第一章计算机系统概论 什么是计算机系统、计算机硬件和计算机软件硬件和软件哪个更重要 计算机系统:计算机硬件、软件和数据通信设备的物理或逻辑的综合体 计算机硬件:计算机的物理实体 计算机软件:计算机运行所需的程序及相关资料 硬件和软件在计算机系统中相互依存,缺一不可,因此同样重要 如何理解计算机系统的层次结构 实际机器M1向上延伸构成了各级虚拟机器,机器M1内部也可向下延伸而形成下一级的微程序机器M0,硬件研究的主要对象归结为传统机器M1和微程序机器M0,软件研究对象主要是操作系统及以上的各级虚拟机 》 说明高级语言、汇编语言和机器语言的差别及其联系。 机器语言是可以直接在机器上执行的二进制语言 汇编语言用符号表示指令或数据所在存储单元的地址,使程序员可以不再使用繁杂而又易错的二进制代码来编写程序 高级语言对问题的描述十分接近人们的习惯,并且还具有较强的通用性 如何理解计算机组成和计算机体系结构 计算机体系结构是对程序员可见的计算机系统的属性 计算机组成对程序员透明,如何实现计算机体系结构所体现的属性 冯·诺依曼计算机的特点是什么 。 由运算器、控制器、存储器、输入设备、输出设备五大部件组成 指令和数据以同一形式(二进制形式)存于存储器中 指令由操作码、地址码两大部分组成 指令在存储器中顺序存放,通常自动顺序取出执行 以运算器为中心(原始冯氏机) 画出计算机硬件组成框图,说明各部件的作用及计算机硬件的主要技术指标。 计算机硬件各部件 运算器:ACC, MQ, ALU, X ' 控制器:CU, IR, PC 主存储器:M, MDR, MAR I/O设备:设备,接口 计算机技术指标: 机器字长:一次能处理数据的位数,与CPU的寄存器位数有关 存储容量:主存:存储单元个数×存储字长 运算速度:MIPS, CPI, FLOPS 解释概念 & 主机:计算机硬件的主体部分,由 CPU+MM(主存或内存)组成 CPU:中央处理器,是计算机硬件的核心部件,由运算器+控制器组成 主存:计算机中存放正在运行的程序和数据的存储器,可随机存取;由存储体、各种逻辑部件及控制电路组成

微机原理与接口技术作业(含答案)剖析

浙江大学远程教育学院 《微机原理与接口技术》课程作业 姓名:学号: 年级:学习中心: 第2章P52 2.80C51单片机引脚有哪些第二功能? 第一功能第二功能 P0.0~P0.7 地址总线Ao~A7/数据总线D0~D7 P2.0~P2.7 地址总线A8~A15 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 INT0外部中断0) P3.3 IINT1(外部中断1) P3.4 TO(定时器/计数器0的外部输入) P3.5 T1(定时器/计数器0的外部输出) P3.6 WR(外部数据存储器或I/O的写选通) P3.7 RD外部数据存储器或I/O的读选通) 4.80C51单片机的存储器在结构上有何特点?在物理上和逻辑上各有哪几种地址空间?访问片内RAM和片外RAM的指令格式有何区别? 1、80C5l单片机采用哈佛结构,即将程序存储器和数据存储器截然分开,分别进行寻址。不仅在片内驻留一定容量的程序存储器和数据存储器及众多的特殊功能寄存器,而且还具有较强的外部存储器扩展能力,扩展的程序存储器和数据存储器寻址范围都可达64 KB。 2、在物理上设有4个存储器空间 ·片内程序存储器; ·片外程序存储器; ·片内数据存储器;. ·片外数据存储器。 在逻辑上设有3个存储器地址空间 ●片内、片外统一的64 KB程序存储器地址空间。 ●片内256字节(80C52为384字节)数据存储器地址空间。 片内数据存储器空间在物理上又包含两部分: ●对于80C51型单片机,0~127字节为片内数据存储器空间;128~255字节为特殊 功能寄存器(SFR)空间(实际仅占用了20多个字节)。 ●对于80C52型单片机,O~127字节为片内数据存储器空间;128~255字节共128 个字节是数据存储器和特殊功能寄存器地址重叠空间。 片外64 KB的数据存储器地址空间。 3、在访问3个不同的逻辑空间时,应采用不同形式的指令,以产生不同存储空间的选

计算机组成原理试题及答案

A .(7CD )16 B. ( 7D0)16 C. (7E0)16 D. 3. 下列数中最大的数是 _______ 。 A .(10011001) 2 B. (227) 8 C. (98)16 4. ____ 表示法主要用于表示浮点数中的阶码。 A. 原码 B. 补码 C. 反码 D. 移码 5. 在小型或微型计算机里,普遍采用的字符编码是 A. BCD 码 B. 16 进制 C. 格雷码 6. 下列有关运算器的描述中, ______ 是正确的 A. 只做算术运算,不做逻辑运算 B. C. 能暂时存放运算结果 D. 7. EPROM 是指 ____ 。 A. 读写存储器 B. C. 可编程的只读存储器 D. 8. Intel80486 是 32位微处理器, Pentium 是A.16 B.32 C.48 D.64 9 .设]X ]补=1.XXX 3X 4,当满足 _________ ■寸,X > -1/2 成立。 A. X 1必须为1,X 2X 3X 4至少有一个为1 B. X 1必须为1 , X 2X 3X 4任意 C. X 1必须为0, X 2X 3X 4至少有一个为1 D. X 1必须为0, X 2X 3X 4任意 10. CPU 主要包括 _____ 。 A.控制器 B. 控制器、运算器、cache C.运算器和主存 D.控制器、ALU 和主存 11. 信息只用一条传输线 ,且采用脉冲传输的方式称为 _________ 。 A. 串行传输 B. 并行传输 C. 并串行传输 D. 分时传输 12. 以下四种类型指令中,执行时间最长的是 _________ 。 A. RR 型 B. RS 型 C. SS 型 D. 程序控制指令 13. 下列 _____ 属于应用软件。 A. 操作系统 B. 编译系统 C. 连接程序 D. 文本处理 14. 在主存和CPU 之间增加cache 存储器的目的是 _____ 。 A. 增加内存容量 B. 提高内存可靠性 C.解决CPU 和主存之间的速度匹配问题 D. 增加内存容量,同时加快存取速 度 15. 某单片机的系统程序,不允许用户在执行时改变,则可以选用 ____________ 作为存储芯 片。 A. SRAM B. 闪速存储器 C. cache D. 辅助存储器 16. 设变址寄存器为X ,形式地址为D, (X )表示寄存器X 的内容,这种寻址方式的有 效地址为 ______ 。 A. EA=(X)+D B. EA=(X)+(D) C.EA=((X)+D) D. EA=((X)+(D)) 17. 在指令的地址字段中,直接指出操作数本身的寻址方式,称为 ___________ 。 A. 隐含寻址 B. 立即寻址 C. 寄存器寻址 D. 直接寻址 18. 下述 I/O 控制方式中,主要由程序实现的是 ________ 。 7F0)16 D. ( 152)10 o D. ASC H 码 只做加法 既做算术运算,又做逻辑运算 只读存储器 光擦除可编程的只读存储器 位微处理器。

计算机原理试题及答案

计算机组成原理试题及答案 一、选择题(每题3分,共36分) 1、下列数中最小的数是()。B A (1010010)2 B (00101000)BCD C (512)8D(235)16 2、某机字长16位,采用定点整数表示,符号位为1位,尾数为15位,则可表示的最大正整数为(),最小负整数为()。 A A +(215-1),-(215-1) B +(215-1),-(216-1) C +(214-1),-(215-1) D +(215-1), -(1-215) 3、运算器虽由许多部件组成,但核心部分是() B A 数据总线 B 算术逻辑运算单元 C 多路开关 D 累加寄存器 4、在定点运算器中,无论采用双符号位还是采用单符号位,都必须要有溢出判断电路,它一般用()来实现 C A 与非门 B 或非门 C 异或门 D 与或非门 5、立即寻址是指() B A 指令中直接给出操作数地址 B 指令中直接给出操作数 C 指令中间接给出操作数 D 指令中间接给出操作数地址 6、输入输出指令的功能是() C A 进行算术运算和逻辑运算 B 进行主存与CPU之间的数据传送 C 进行CPU与I/O设备之间的数据传送 D 改变程序执行的顺序 7、微程序控制器中,机器指令与微指令的关系是() D A 一段机器指令组成的程序可由一条微指令来执行 B 一条微指令由若干条机器指令组成 C 每一条机器指令由一条微指令来执行 D 每一条机器指令由一段用微指令编成的微程序来解释执行 8、相对指令流水线方案和多指令周期方案,单指令周期方案的资源利用率和性价比()A A 最低 B 居中 C 最高 D 都差不多 9、某一RAM芯片,其容量为1024×8位,除电源端和接地端外,连同片选和读/写信号该芯片引出腿的最小数目为() B A 23 B 20 C 17 D 19 10、在主存和CPU之间增加Cache的目的是()。 C A 扩大主存的容量 B 增加CPU中通用寄存器的数量 C 解决CPU和主存之间的速度匹配 D 代替CPU中寄存器工作 11、计算机系统的输入输出接口是()之间的交接界面。 B A CPU与存储器 B 主机与外围设备 C 存储器与外围设备 D CPU与系统总线 12、在采用DMA方式的I/O系统中,其基本思想是在()之间建立直接的数据通路。B A CPU与存储器 B 主机与外围设备 C 外设与外设 D CPU与主存 二、判断题(每题3分,共15分) 1、两个补码相加,只有在最高位都是1时有可能产生溢出。(×) 2、相对寻址方式中,操作数的有效地址等于程序计数器内容与偏移量之和(√) 3、指令是程序设计人员与计算机系统沟通的媒介,微指令是计算机指令和硬件电路建立联系的媒介。(√)

微型计算机原理及应用课后习题答案

李伯成《微机原理》习题第一章 本章作业参考书目: ①薛钧义主编《微型计算机原理与应用——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

微机原理作业答案

微机原理作业 1.8086C P U由哪两部分组成?它们的主要功能是什么? 答:8086CPU由总线接口单元(BIU)和指令执行单元(EU)组成。总线接口单元(BIU)的功能是:地址形成、取指令、指令排队、读/写操作数和总线控制。指令执行单元(EU)的功能是指令译码和指令执行。 2.微型计算机系统由微处理器、存储器和I/O接口等 组成。 3.8086CPU中的指令队列可存储6个字节的指令代码,当指令队列 至少空出 2 个字节时,BIU单元便自动将指令取到指令队列中; 4.8086系统中,1MB的存储空间分成两个存储体:偶地址存储体 和 奇地址存储体,各为512 字节。 5.8086系统中存储器采用什么结构?用什么信号来选中存储体? 答:8086存储器采用分体式结构:偶地址存储体和奇地址存储体,各为512K。用AO和BHE来选择存储体。当AO=0时,访问偶地址存储体;当BHE=0时,访问奇地址存储体;当AO=0,BHE=0时,访问两个存储体。 6.在8086CPU中,指令指针寄存器是 C 。 (A) BP (B) SP (C) IP (D) DI 7.8086CPU中的SP寄存器的位数是 B 。 (A) 8位(B) 16位(C) 20位(D) 24位 8.8086CPU中指令指针寄存器(IP)中存放的是 B 。 (A)指令(B)指令偏移地址(C)操作数(D)操作数偏移地址 9.若当前SS=3500H,SP=0800H,说明堆栈段在存储器中的物理地址(最 大),若此时入栈10个字节,SP内容是什么?若再出栈6个字节,SP为什么值?答:堆栈段的物理地址范围:35000H~357FFH

计算机组成原理试题库(含答案)

计算机组成原理试题 一、单项选择题(从下列各题四个备选答案中选出一个正确答案,并将其代号写在题干前面的括号内。) 1.为了缩短指令中某个地址段的位数,有效的方法是采取(C)。 A、立即寻址 B、变址寻址 C、间接寻址 D、寄存器寻址 2.某计算机字长是16位它的存储容量是64KB,按字编址,它们寻址范围是(C)。 A.64K B.32KB C.32K D.16KB 3.某一RAM芯片其容量为512*8位,除电源和接地端外该芯片引线的最少数目是(C)。 A.21 B.17 C.19 D.20 4.指令系统中采用不同寻址方式的目的主要是(C)。 A.实现存储程序和程序控制 B.可以直接访问外存 C.缩短指令长度,扩大寻址空间,提高编程灵活性 D.提供扩展操作码的可能并降低指令译码难度

5.寄存器间接寻址方式中,操作数处在(B)。 A.通用寄存器 B.贮存单元 C.程序计数器 D.堆栈 6.RISC是(A)的简称。 A.精简指令系统计算机 B.大规模集成电路 C.复杂指令计算机 D.超大规模集成电路 7.CPU响应中断的时间是_C_____。 A.中断源提出请求;B.取指周期结束;C.执行周期结束;D.间址周期结束。8.常用的虚拟存储器寻址系统由____A__两级存储器组成。 A.主存-辅存;B.Cache-主存;C.Cache-辅存;D.主存—硬盘。 9.DMA访问主存时,让CPU处于等待状态,等DMA的一批数据访问结束后,CPU再恢复工作,这种情况称作__A____。 A.停止CPU访问主存;B.周期挪用;C.DMA与CPU交替访问;D.DMA。10.浮点数的表示范围和精度取决于__C____。 A.阶码的位数和尾数的机器数形式;B.阶码的机器数形式和尾数的位数;

计算机组成原理习题解答全解

《计算机组成原理》习题解答 第1章 1. 解释概念或术语:实际机器、虚拟机器,机器指令、机器指令格式,主机、CPU、主存、I/O、PC、IR、ALU、CU、AC、MAR、MDR,机器字长、存储字长、指令字长、CPI、T C、主频、响应时间、吞吐量、MIPS、MFLOPS。 答:略 2. 如何理解计算机系统的层次结构?说明高级语言、汇编语言及机器语言的差别与联系。 答:⑴计算机系统是由软件和硬件结合而成的整体。为了提高计算机系统的好用性,程序设计语言的描述问题能力越来越强,各种程序设计语言大体上是一种层次结构,即高等级编程语言指令包含低等级编程语言指令的全部功能。 对于使用不同层次编程语言的程序员来说,他们所看到的同一计算机系统的属性是不同的,这些属性反映了同一计算机系统的不同层次的特征,即同一计算机系统可划分成多个层次结构,不同层次的结构反映的计算机系统的特征不同而已。 ⑵机器语言是能够被计算机硬件直接识别和执行的程序设计语言,机器语言是一种面向硬件的、数字式程序设计语言;汇编语言和高级语言均用符号表示机器语言指令,指令很容易阅读和编写、但不能被硬件直接识别和执行,它们均是一种面向软件的、符号式程序设计语言;相对于汇编语言而言,高级语言描述问题的能力更强;高级语言和汇编语言程序必须翻译成机器语言程序后,才能在计算机硬件上执行。 3. 计算机系统结构、计算机组成的定义各是什么?两者之间有何关系? 答:计算机系统结构是指机器语言程序员或编译程序编写者所看到的计算机系统的属性,包括概念性结构和功能特性两个方面。主要研究计算机系统软硬件交界面的定义及其上下的功能分配。 计算机组成是指计算机硬件设计人员所看到的计算机系统的属性。主要研究如何合理地逻辑实现硬件的功能。 计算机组成是计算机系统结构的逻辑实现。 4. 冯·诺依曼模型的存储程序原理包含哪些内容、对计算机硬件和软件有哪些要求?冯·诺依曼模型计算机的特点有哪些? 答:存储程序原理是指程序和数据预先存放在存储器中,机器工作时自动按程序的逻辑顺序从存储器中逐条取出指令并执行。 存储程序原理要求存储器是由定长单元组成的、按地址访问的、一维线性空间结构的存储部件;要求软件指令支持用地址码表示操作数在存储器中的地址,指令长度为存储单元长度的倍数,编程语言中必须有转移型指令,以实现程序存储顺序到程序逻辑顺序的转变。 冯·诺依曼模型计算机的特点可归纳为如下几点: ⑴计算机由运算器、控制器、存储器、输入设备和输出设备组成; ⑵存储器是由定长单元组成的、按地址访问的、一维线性空间结构; ⑶程序由指令组成,指令和数据以等同地位存放在存储器中; ⑷机器工作时自动按程序的逻辑顺序从存储器中逐条取出指令并执行; ⑸指令由操作码和地址码组成,操作码用于表示操作的性质,地址码用于表示操作数在

微型计算机原理课后答案

微机原理 第一章 1.计算机按其使用的逻辑元件的不同被分为哪几代?微型计算机是哪一代计算机的分支? 答:电子管计算机、晶体管计算机、集成电路计算机和大规模、超大规模集成电路计算机。 微型计算机属于第四代计算机的分支。 2. 简述冯·诺依曼计算机体系结构的基本思想。 答:冯·诺伊曼基本设计思想为: ①以二进制形式表示指令和数据。 ②程序和数据事先存放在存储器中,计算机在工作时能够高速地从存储器中取出指令并加以执行。 ③由运算器、控制器、存储器、输入和输出设备等五大部件组成计算机系统。 3.微型计算机系统由哪几部分组成: 答: 微机系统分硬件和软件,硬件包括CPU、存储器、输入输出设备和输入输出借口,软件包括软件系统和应用软件。 6.何谓总线?有哪几类?作用如何? 答:总线是计算机中各功能部件间传送信息的公共通道。根据所传送的信息的内容与作用不同,总线可分为三类:地址总线、数据总线、控制总线。这三类总线作用为计算机各功能部件间传送地址、数据、控制信息的。 8.存储器读写操作的不同点? 答:①读操作:由CPU发出的读命令控制。 写操作:由CPU发出的写命令控制。 ②读操作:把数据从内存中读出来,放到DB上。 写操作:把DB上的内容,写入到存储器中。 第二章计算机中的数值和编码 1、将十进制数转换为二进制和十六进制 (1) 129.75=1000 0001.11B=81.CH(2) 218.8125=1101 1010.1101B=DA.DH (3) 15.625=1111.101B=F.AH(4) 47.15625=10 1111.0010 1B=2F.28 H 2、将下列二进制数转换为十进制和十六进制 (1) 111010 B=58 =3A H(2) 1011 1100.111B= 188.875= BC.E H (3) 0.1101 1B=0.84375 =0.D8H(4) 11110.01 B=30.25 =1E.4H 3、完成下列二进制数的加减法运算 (1) 1001.11+100.01=1110.00(2) 1101010110.1001-01100001.0011=01110101.0110 (3) 00111101+10111011=11111000 (4) 01011101.0110-101101.1011=101111.1011 4、完成下列十六进制数的加减法运算 (1) 745CH+56DFH=D14B H (2) ABF.8H-EF6.AH=9C28.E H (3) 12AB.F7+3CD.05=1678 .FC H(4) 6F01H-EFD8H=7F29 H 5、计算下列表达式的值 (1) 128.8125+10110101.1011B+1F.2H=101010101.1010B (2) 287.68-10101010.11H+8E.EH=103.CEH (3) 18.9+1010.1101B+12.6H-1011.1001=36.525 6、选取字长n为8位和16位两种情况,求下列十进制数的补码。 (1) X=-33的补码:1101 1111,1111111111011111 (2) Y=+33的补码:0010 0001, 0000 0000 0010 0001 (3) Z=-128的补码:1000 0000,1111 1111 1000 0000 (4) N=+127的补码:0111 1111,0000 0000 0111 1111 (5) A=-65的补码:1011 1111,1111 1111 1011 1111 (6) B=+65的补码:0100 0001, 0000 0000 0100 0001 (7) C=-96的补码:1010 0000, 1111 1111 1010 0000 (8) D=+96的补码:0110 0000, 0000 0000 0110 0000 7、写出下列用补码表示的二进制数的真值 (1) [X]补=1000 0000 0000 0000 H X=-1000 0000 0000 0000 H=-32768 (2) [Y]补=0000 0001 0000 0001 H Y=+0000 0001 0000 0001 H=+257 (3) [Z]补=1111 1110 1010 0101 H Z=-0000 0001 0101 1011 H=-347 (4) [A]补=0000 0010 0101 0111 H A=+0000 0010 0101 0111 H=+599 8、设机器字长为8位,最高位为符号位,试对下列格式进行二进制补码运算,并判断结果是否溢出。 (1) 43+8 ∵ [43]补=00101011B,[8]补=00001000B ∴[43] 补+[8] 补 =00101011B+00001000B=00110011B=33H 00101011B +00001000B 00110011B ∵ C S=0,C D=0,OF=C S⊕C D=0⊕0=0 ∴无溢出 (1) 43+8 33H (无溢出)(2) -52+7D3 H(无溢出)

微机原理习题集以及答案

第一部分 例题与习题 第1章 微型计算机基础 例 题 1.把十进制数转化为二进制数。P7 解:把十进制数转换成二进制数时,需要对一个数的整数部分和小数部分分别进行处理,得出结果后再合并。 整数部分:一般采用除2取余法 小数部分:一般采用乘2取整法 余数 低位 整数 高位 2 | 137 2 | 68 × 2 2 | 34 2 | 17 × 2 2 | 8 2 | 4 × 2 2 | 2 1 高位 低 位 (137)10=()2 10=2 所以,10=(.111)2 2.把二进制数转换为八进制数和十六进制数。P9 解:八进制、十六进制都是从二进制演变而来,三位二进制数对应一位八进制数,四位二进制数对应一位十六进制数,从二进制向八进制、十六进制转换时,把二进制数以小数点为界,对小数点前后的数分别分组进行处理,不足的位数用0补足,整数部分在高位补0,小数部分在低位补0。 (10 1)2=(010 100)2=8 (1 2=(0001 2=16 3.将八进制数转换为二进制数。P9 解:8=(010 100)2=2 4.X=,Y=-,求[X -Y]补,并判断是否有溢出P11 解:[X -Y]补=[X]补+[-Y]补 [X]补= [Y]补= [-Y]补= + -------------- 1 -------------- 0 -------------- 0 -------------- 1 -------------- 0 -------------- 0 -------------- 0 -------------- 1 ------------- 1 ------------- 1 ------------- 1

(完整版)计算机原理练习题答案

《计算机原理》练习题 一、填空题 1、为区别不同的进制,在数的末尾用字母表示,二进制为B ,十六进制为H ,十进制为D 。 2、8位二进制数组成一个字节,它是单片机中数的基本单位。 3、硬件技术中三种基本的无源器件是电阻、电容、电感。 4、电感对电流的作用效果可以总结为:阻交流、通直流,交流电流频率越高,电感对电流的阻抗效应越强。 5、电容对电流的作用效果可以总结为:隔直流、通交流,交流电流频率越高,电容对电流的阻抗效应越弱。 6、晶体二极管的一个最重要特征是单向导电。 7、晶体三极管的主要作用是电流放大作用。 8、微机硬件的五大部件是:运算器、控制器、存储器、输入设备和输出设备。 9、单片机又称为微控制器(MCU)。 10、单片机就是在一块芯片上集成了中央处理部件(CPU)、存储器(RAM、ROM)、定时器/计数器和各种输入/输出(I/O)接口等片上外设的微型计算机。 11、单片机构成的四要素是CPU 、ROM 、RAM 和片上外设,它们相互之间通过总线连接。 12、8051单片机是8 位CPU。 13、时钟电路用于产生单片机工作所需要的时钟信号。 14、时钟周期(振荡周期)是指为单片机提供时钟信号的振荡源的周期。 15、机器周期是指单片机完成某种基本操作所需要的时间,它由12 个时钟周期组成。 16、假设单片机时钟频率f=12MHz,则时钟周期为1/12 us,机器周期为1 us。 17、假设单片机时钟频率f=6MHz,则时钟周期为1/6 us,机器周期为2 us。 18、单片机的存储系统包含三大部分:程序存储器(ROM)、数据存储器(RAM) 和特殊功能寄存器(SFR) 。 19、从物理地址空间来看,MCS-51单片机有四个存储器地址空间:即片内ROM 和片外ROM 以 及片内RAM 和片外RAM 。 20、从逻辑上看,单片机存储空间可分为三个部分:64KB程序存储器、256B数据存储器和64KB 数据存储器。 21、在单片机的引脚中,XTAL1和XTAL2用于连接时钟电路。 22、在单片机的引脚中,RESET用于连接复位电路。 23、在单片机的引脚中,EA=1,表示使用内部程序存储器。 24、在单片机的引脚中,EA=0,表示使用外部程序存储器。 25、单片机的时钟电路有:外部时钟电路和内部时钟电路。 26、单片机的并行端口有:P0 、P1 、P2 、P3 。其中P0 端口外接电路时要加上拉电阻,P3 端口主要使用其第二功能。 27、当单片机外接地址总线时,P2 端口作为地址总线高8位,P0 端口作为地址总线低8位。 28、当单片机外扩存储器时,作为数据总线的是P0 端口。 29、单片机复位后,PC= 0000H ,SP= 07H ,P0~P3= 0FFH 。 30、51单片机引脚P3.2的第二功能是:INT0外部中断0输入端,P3.3的第二功能是:INT1外部中断1输入端,P3.4的第二功能是:T0外部计数脉冲输入端0 ,P3.5的第二功能是:T1外部计数脉冲输入端1 。 31、单片机最小系统是能让单片机工作起来的一个最基本的组成电路。 32、C语言程序的基本结构有:顺序结构、选择结构和循环结构。 33、C语言程序中,有且仅有一个main 函数。 34、C程序的基本单位是函数。 35、C语言程序的执行是从main 函数开始,也是在main 函数中结束。 36、在C语言程序的运行过程中,我们称其值不能被改变的量为:常量;其值可以改变的量为:变量。 37、C语言中的变量必须先定义,后使用。 38、C语言规定给变量起名时,只能使用字母、数字、下划线,而且第一个字符不能是数字。 39、C语言中,定义数组a[10],则数组a的第一个元素是:a[0] ,最后一个元素是a[9] 。 40、C语言中,执行语句:x=7/3;则x的值为:2 。 41、C语言中,执行语句:x=7%3;则x的值为:1 。

微型计算机原理与应用试题库答案

《微型计算机原理及应用》试题库及答案 一、填空 1.数制转换 A)125D=(0111 1101 )B =(175 )O=(7D )H=(0001 0010 0101 )BCD B)10110110B=(182 )D =(266)O=(B6 )H=(0001 1000 0010)BCD 2.下述机器数形式可表示的数值范围是(请用十进制形式写出):单字节无符号整数0~ 255 ;单字节有符号整数-127 ~127 。 (注:微型计算机的有符号整数机器码采用补码表示,单字节有符号整数的范围为-128~+127。)3.完成下列各式补码式的运算,并根据计算结果设置标志位SF、ZF、CF、OF。指出运算结果 有效否。 A)00101101+10011100=11001001B SF=1 ZF=0 CF=0 OF=0 B)11011101+10110011=10010000B SF=1 ZF=0 CF=1 OF=0 4.十六进制数2B.4H转换为二进制数是_0010 1011.0100B ,转换为十进制数是_43.25。 5.在浮点加法运算中,在尾数求和之前,一般需要操作,求和之后还需要进行和 舍入等步骤。 6.三态门有三种输出状态:低电平、高电平、高阻态状态。 7.字符“A”的ASCII码为41H,因而字符“E”的ASCII码为45H ,前面加上偶 校验位后代码为。 8.数在计算机中的二进制表示形式称为机器数。 9.在计算机中,无符号书最常用于表示。 10.正数的反码与原码相等。 11.在计算机中浮点数的表示形式有整数和小数两部分组成。 12.微处理器中对每个字所包含的二进制位数叫字节。 13.MISP是微处理的主要指标之一,它表示微处理器在1秒钟内可执行多少

微机原理第3章习题与答案

习题 一、选择题 1.寻址方式指出了操作数的位置,一般来说_______。 A.立即寻址给出了操作数的地址 B.寄存器直接寻址的操作数在寄存器内,而指令给出了存储器 C.直接寻址直接给出了操作数本身 D.寄存器直接寻址的操作数包含在寄存器内,由指令指定寄存器的名称 答案:D 2.寄存器寻址方式中,操作数在_________。 A.通用寄存器 B.堆栈 C.内存单元 D.段寄存器 答案:A 3.寄存器间接寻址方式中,操作数在_________。 A.通用寄存器 B.堆栈 C.内存单元 D.段寄存器 答案:C 4.下列指令中的非法指令是______。 A.MOV[SI+BX],AX B.MOVCL,280 C.MOV[0260H],2346H D.MOVBX,[BX] 答案:B 5.设(SP)=0100H,(SS)=2000H,执行PUSHBP指令后,栈顶的物理地址是_____。 A.200FEH B.0102H C.20102H D.00FEH 答案:A 6.指令LEABX,TAB执行后,其结果是______。 A.将TAB中内容送BX B.将TAB的段基址送BX C.将TAB的偏移地址送BX D.将TAB所指单元的存储内容送BX 答案:C 7.下列正确的指令格式有______。 A.MOV[BX],1 B.MOVAL,0345H C.MOVES:PTR[CX],3 D.XLAT 答案:D 8.设(AX)=C544H,在执行指令ADDAH,AL之后,______。 A.CF=0,OF=0 B.CF=0,OF=1 C.CF=1,OF=0D,CF=1,OF=1 答案:C 9.若AL、BL中是压缩BCD数,且在执行ADDAL,BL之后,(AL)=0CH,CF=1,AF=0。再执行DAA后,(AL)=_____。 A.02H B.12H C.62H D.72H 答案:B 10.执行下列程序后AL的内容为_____。 MOVAL,25H SUBAL,71H DAS A.B4H B.43H C.54H D.67H

微型计算机原理试题答案

《微型计算机原理及应用》试题库及答案 16.微型计算机由(微处理器)、(存储器)和(I/O接口电路)组成。 17.8086CPU寄存器中负责与I/O端口交换数据的寄存器为(AX,AL) 18.总线有数据总线、地址总线、控制总线组成,数据总线是从微处理器向内存储器、I/O接口 传送数据的通路;反之,它也是从内存储器、I/O接口向微处理器传送数据的通路,因而它可以在两个方向上往返传送数据,称为(双向总线)。 19.一个微机系统所具有的物理地址空间是由(地址线的条数)决定的,8086系统的物理地址空间 为(1M)字节。 20.运算器包括算术逻辑部件(ALU),用来对数据进行算术、逻辑运算,运算结果的一些特征由 (标志寄存器)存储。 21.控制寄存器包括指令寄存器、指令译码器以及定时与控制电路。根据(指令译码)的结果, 以一定的时序发出相应的控制信号,用来控制指令的执行。 22.根据功能不同,8086的标志为可分为(控制)标志和(状态)标志位。 23.8086/8088CPU内部有(14)个(16位)的寄存器。 24.在8086/8088的16位寄存器中,有(4)各寄存器可拆分为8位寄存器使用。他们是 (AX,BX,CX,DX),他们又被称为(通用寄存器)。 25.8086/8088构成的微机中,每个主存单元对应两种地址(物理地址)和(逻辑地址)。 26.物理地址是指实际的(20)为主存储单元地址,每个存储单元对应唯一的物理地址,其范围 是(00000H-FFFFFH)。 27.8088的ALE引脚的作用是(锁存复用线上的地址)。 28.在8088读存储器周期中,采样Ready线的目的是(确定是否在T 3周期后插入T w 周期)。 29.8088在访问4个当前段时,代码段、数据段及堆栈段的偏移量分别由(IP)、(由寻址方式 决定的16位偏移量)和(SP)提供。 30.堆栈按照___先进后出___原则工作,使用____堆栈指针___指明栈顶位置。 31.在IBM-PC/XT中,外设是通过(8259)器件对CPU产生中断请求。这些中断的中断类型码为 (08H—OFH)。 32.8086最多能处理(256)种中断。 33.8086/8088的中断响应了两个总线周期,从(INTA)引脚输出两个负脉冲,第一个总线周期 完成,(通知I/O接口,CPU已响应外部中断请求,使被响应的I/O接口把自己的中断类型号送到数据总线的低8位D0-D7上),第二个总线周期完成(通过CPU的地址/数据引脚AD0-AD7将信号传输给CPU) 34.8088中的指令INT n用(n)指定中断类型。 35.一片8255A端口A有(3)种工作方式,端口B有(2)种工作方式。 36.宏汇编语言程序被汇编时,指令语句产生代码指令,伪指令语句不产生代码指令,宏指令语句可能产生也可能不产生代码指令。 37.调用程序、子程序传送参数的方法通常有寄存器、内存和堆栈三种方法。 38.伪指令EQU、DB、DW、MACRO的标号名字域必须有名字或标号的伪指令为EQU、MACRO。 ,若源操作数的类型属性为字,则目的操作数在DX:AX中。 43.请给出标志寄存器中标志位OF、IF、SF、ZF、PF、CF的说明: OF 溢出、IF 中断、SF 符号、ZF 零、PF 奇偶、CF 进位。 44.堆栈是按照先进后出原则组织的一片连续的存储区域。 45.变址寻址的有效地址是变址寄存器的内容与地址位移量代数和。 46.指令XLAT通常用于查表操作,在使用该指令前,应把表首的偏移首地址送入BX,待转换的代码在表中的序号送AL。

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