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

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

第一章

2、完成下列数制之间的转换。

(1)01011100B=92D (3)135D=10000111B (5)10110010B=262Q=B2H

3、组合型BCD码和非组合型BCD码有什么区别?写出十进制数254的组合型BCD数和非组合型数。

答:组合型BCD码用高四位和低四位分别对应十进制数的个位和十位,其表示范围是0~99;非组合型BCD码用一个字节的低四位表示十进制数,高四位则任意取值,表示范围为0~9。

组合型:254=(001001010100)BCD

非组合型:254=(00000010 00000101 00000100)BCD

7、计算机为什么采用补码形式存储数据?当计算机的字长n=16,补码的数据表示范围是多少?

答:在补码运算过程中,符号位参加运算,简化了加减法规则,且能使减法运算转化为加法运算,可以简化机器的运算器电路。+32767~ -32768。

9、设计算机字长n=8,求下列各式的[X+Y]补和[X-Y]补,并验证计算结果是否正确。

(1)X=18,Y=89 [X+Y]补=00010010+01011001=01101011B=107D 正确

[X-Y]补=10111001B=00010010+10100111=(-71D)补正确

(2)X=-23,Y=-11 [X+Y]补=11101001+11110101=11011110B=(-34D)补正确[X-Y]补=11101001+00001011=11110100B=(-12D)补正确

(3)X=18,Y=-15 [X+Y]补=00010010+11110001=00000011B=(3D)补正确

[X-Y]补=00010010+00001111=00100001B=(33D)补正确

(4)X=-18,Y=120 [X+Y]补=11101110+01111000=01100110B=(102D)补正确[X-Y]补=11101110+10001000=01110110B=(123D)补由于X-Y=-138 超出了机器数范围,因此出错了。

13、微型计算机的主要性能指标有哪些?

答:CPU字长、存储器容量、运算速度、CPU内核和IO工作电压、制造工艺、扩展能力、软件配置。

第二章

2、8086标志寄存器包含哪些标志位?试说明各标志位的作用。

答:进位标志:CF;奇偶校验:PF;辅助进位:AF;零标志:ZF;符号标志:SF;溢出标志:OF。

5、逻辑地址与物理地址有什么区别?如何将逻辑地址转换为物理地址?

答:物理地址是访问存储器的实际地址,一个存储单元对应唯一的一个物理地址。逻辑地址是对应逻辑段内的一种地址表示形式,它由段基址和段内偏移地址两部分组成,通常表示为段基址:偏移地址。

物理地址=段基址*10H+偏移地址。

6、写出下列逻辑地址的段基址、偏移地址和物理地址。

(1)2314H:0035H (2)1FD0H:000AH

答:(1)段基址:2314H;偏移地址:0035H;物理地址:23175H。

(2)段基址:1FD0H;偏移地址:000AH;物理地址:1FD0AH。

8、设(CS)=2025H,(IP)=0100H,则当前将要执行指令的物理地址是多少?

答:物理地址=(CS)*10H+(IP)=20350H

9、设一个16字的数据区,它的起始地址为70A0H:DDF6H(段基址:偏移地址),求这个数据区的首字单元和末字单元的物理地址。

答:首字:70A0*10H+DDF6H=7E7F6H

末字单元地址=起始地址+(字数-1)*2=7E7F6H+(16-1)*2=7E814H。

13、80486CPU内部由哪些主要部件构成?有哪几种工作模式?

答:(1)总线接口单元、指令预取单元、指令译码单元、控制单元,整数运算单元,浮点运算单元,段预存储器管理单元,高速缓冲单元。

(2)实地址模式、保护虚拟地址模拟、虚拟8086模式

14、80486CPU存储器最大可寻址空间是多少?虚拟存储空间是多少?两者有何区别?

答:最大可寻址空间是4GB,虚拟存储空间是64TB。前者为实地址,虚拟存储空间为外部存储管理器。

第三章

4、指出下列指令中的源操作数和目标操作数的寻址方式。

(1)MOV BX,1000H 源操作数:立即寻址;目标操作数:寄存器寻址

(2)MOV AL,[BX] 源操作数:寄存器间接寻址;目标操作数:寄存器寻址

(5)MOV [DI+1000H],BX 源操作数:寄存器寻址;目标操作数:寄存器相对寻址

(6)MOV [1000H],CX 源操作数:寄存器寻址;目标操作数:直接寻址

5、设(DS)=2000H、(ES)=2100H、(SS)=1500H、(BX)=0100H、(BP)=0040、(SI)=00A0H、(DI)=0120H,在指令MOV AX,src中,求用下列表示源操作数src的有效地址EA和物理地址PA各是多少?

(1)100H[BX] EA=(100H+0100H)=0200H ;PA=2000*10H+0200H=20200H

(2)ES:[BX+DI] EA=0100H+0120H=0220H ;PA=2100*10H+0220H=21220H

(3)[BP] EA=0040H ;PA=1500*10H+0040H=15040h

(4)ES:[BX+10H] EA=0100H+0010H=0110H ;PA=21000H+0110H=21110H

6、指出下列指令中的错误,并改正。

(1)MOV BL,30A0H 操作数不匹配改:MOV BX,30A0H

(2)MOV 0010H,AL 立即数不可以作为目标操作数改:MOV AX,0010H

(3)XCHG AL,BX 操作数类型不匹配改:XCHG AX,BX

(4)MOV [AX],3456H 立即数送入存储器需要说明改:MOV WORDPTR [AX],3456H (5)PUSH AL 堆栈以字为操作单元改:PUSH AX

(6)POP CS POP不可以用CS为目标操作数改:POP AX

(7)MOV DS,1000H 立即数不能直接送入段寄存器改:MOV AX,1000H

MOV DS,AX (8)MOV [BX],[1000H] 存储器不可以相互传送改:MOV AX,[1000H]

MOV [BX],AX

(9)LDS (BX),[1000H] LDS使用时期目标为16位通用寄存器改:LDS BX,[1000H](10)LEA BX,CX LEA源操作数为存储器改:LEA BX,[CX]

7、已知(AX)=4A0BH,[1020H]单元中的内容为260FH,写出下列每条指令单独执行后的结果。

(1)MOV AX,1020H ;(AX)=1020H

(2)XCHG AX, [1020H] ;(AX)=260FH

(3)MOV AX,[1020H] ;(AX)=260FH

(4)LEA AX,[1020H] ;(AX)=1020H

10、设一个堆栈段共有100H个字节单元,堆栈的起始地址为1250H:0000H,若在堆栈中存有5个字数据,问:

(1)栈顶的物理地址多少?

(2)栈底的物理地址是多少?

(3)当前SS和SP的内容是多少?

(4)若弹出两个数据,SP的内容是多少?

答:栈底:12600H 栈顶:12600-A=125F6H

SS:[1250H:0000H ] SP: [1250H:00F6H ]

(4)弹出两个数据后,SP内容,00F6+4=00FAH

则,SP:[1250H:00FAH ]

11、编程完成下列程序段,根据运算结果置标志位OF、SF、ZF、AF、PF、CF,并分析程序执行结果是否正确?为什么?(n=8)

(2)122-64 (4)-68+(-72)

答:(2)程序:MOV AL,120

MOV BL,64

SUB AL,BL

计算结果:00111010 OF=0 SF=0 ZF=0 AF=0 PF=1 CF=0

(4)程序:MOV AL,-68

MOV BL,-72

ADD AL,BL

计算结果:01110100 有溢出OF=1 SF=0 ZF=0 AF=1 PF=1 CF=1

17、判断下列指令格式的对与错,并解释错在哪里。

(1)ADD 25H,AX 错;目标操作数不可以为立即数

(2)INC BX,1 错;INC只有目标操作数

(3)MUL AL,BL 错;乘法指令目标操作数是隐含的

(4)SUBB AL,3 错;减法指令是SUB

(5)DAA AL 错;DAA后无操作数

(6)NEG CX,0 错;NEG后只有目标操作数

(7)CMP [BX],1000H[BX+SI] 对

22、写出下列程序段执行后的结果。

MOV CL,4

MOV AL,87

MOV DL,AL

AND AL,0FH

OR AL,30H

SHR DL,CL

OR DL,30H

(AL)= 37H ,(DL)=35H

27、试用CMP指令和条件转移指令实现下列判断

(1)AX和CX中的内容为无符号数:

若(AX)>(CX)则转至BIGGER符号执行;若(AX)<(CX)则转至LESS符号执行。(2)BX和DX中的内容为无符号数:

若(BX)>(DX)则转至BIGGER符号执行;若(BX)<(DX)则转至LESS符号执行。

答:(1)CMP AX,CX

JA BIGGER

JB LESS

(2)CMP BX,DX

JG BIGGER

JL LESS

第四章

8、按下列的要求写出段定义格式。

(1)数据段的位置从0E000H开始,在该段中定义的5个字节数据,3个字数据,2双字数据,要求字节数据从偏移地址0000H开始,字数据从偏移地址0010H开始,双字数据从偏移地址0020H开始。

(2)堆栈段定义100个字节

(3)代码段的开始位置给有关段寄存器赋值,在程序结束时能够返回DOS。

答:DATA SEGMENT

ORG 0000H

D1 DB 00H,01H,02H,03H,04H

ORG 0010H

D2 DW 0000H,0010H,0020H

ORG 0020H

D3 DD 3 DUP()

DATA ENDS

STACK SEGMENT STACk

DB 100 DUP

STACK ENDS

CODE SEGMENT CODE

ASSUME CS:CODE,DS:DATA

START :……

CODE ENDS

ENDS START

10、定义数据段,画出数据存储示意图,并说明该数据段共有多少个字节单元。

DATA SEGMENT

D1 DB 12,0,’A’,-6

D2 DW 1234H,65H

D3 DB 3 DUP(3,0,5)

DATA ENDS

共有17个存储单元如下图:

12、定义数据段如下,画出数据存储示意图,并说明变量X1和X2所对应的逻辑地址各是多少?

DATA SEGMENT AT 10A0H

ORG 0010H

X1 DB 22,33,

ORG $ + 0020H

X2 DB ‘AB12CD’

DATA ENDS

10A00H

10A10H

10A32H

X1逻辑地址:10A0H:0010H X2的逻辑地址:10A0H:0032H

13、定义数据段如下,写出执行以下指令后的结果。

DATA SEGMENT

DA1 DW 2437H ,14A2H

DA2 DB ‘ABCD’

DA3 DD 10 DUP (?)

DATA ENDS

(1)MOV BX,DA1 ;(BX)=2437H

(2)MOV SI,OFFSET DA1 ;(SI)=0000H

(3)MOV AL,TYPE DA1 ;(AL)=2

(4)MOV AL,[DA2+02H] ;(AL)=‘C’=43H

(5)MOV AL,LENGTH DA3;(AL)=10

(6)MOV AL,SIZE DA3;(AL)=10

14、程序中数据段定义的数据如下:

DATA SEGMENT

NAMES DB‘GOOD MORNING!’

DW 2050H,78H,3080H

DATA ENDS

请指出下列指令序列执行后累加器中的结果是多少?

(1)MOV BX,OFFSET NAMES

MOV AL,[BX+03H]

(2)MOV BX,12

MOV SI,3

MOV AX,NAMES[BX+SI]

(3)MOV BX,12

MOV SI,3

LEA AX,NAMES[BX+SI]

答:(1)[BX+03H]对应的是“D”因此结果是44H

(2)78H

(3)LEA 将源操作数的逻辑地址送到目标操作数,因此0FH

18、编写程序,将MBUF为起始单元的5个数按相反次序传送到NBUF开始的存储单元中。答:DATA SEGMENT

MBUF DB 1,2,3,4,5

COUNT EQU $-MBUF

NBUF DB 5 DUP(?)

DATA ENDS

STACK SEGMENT PARA STACK

DB 20H DUP(?)

STACK ENDS

CODE SEGMENT

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

START: MOV AX,DATA

MOV DS,AX

MOV BX,OFFSET MBUF

MOV CX,5

LOP1: PUSH [BX]

INC BX

DEC CX

JNZ LOP1

MOV BX,OFFSET NBUF

MOV CX,5

LOP2:POP [BX]

INC BX

DEC CX

JNZ LOP2

MOV AX,4CH

INT 21H

CODE ENDS

END START

20、编写程序,将内存中某数据块中的正数和负数分开,并分别将这些正数和负数送同一数据段的两个缓冲区中,并在屏幕上显示正数和负数的个数(数据自定)。

答:DATA SEGMENT

SHU DB 2,4,-9,-10,5,-2,-2,4,5,7;源数据块,共有十个数,六个正数,四个负数

COUNT EQU $-SHU

ZS DB 10 DUP(?);给正数预留10个字节的空间

ORG 0020H ;调整数据位置

FS DB 10 DUP(?)

XZ DB 'NUMBER OF XZ:','$' ;显示在屏幕上的字符串

XF DB 'NUMBER OF XF:','$'

DATA ENDS

STACK SEGMENT STACK

DW 100 DUP(?)

STACK ENDS

CODE SEGMENT

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

START: MOV AX,DATA

MOV DS,AX ;数据段装入

MOV BX,OFFSET SHU

MOV DI,OFFSET ZS

MOV SI,OFFSET FS

MOV CX,COUNT

LOP1: MOV AL,[BX]

CMP AL,0

JG SZ ;大于0跳转到SZ中

MOV [SI],AL

INC SI ;负数送到缓冲区FS中

JMP C1

SZ: MOV [DI],AL ;正数送到缓冲区ZS中

INC DI

C1: INC BX

DEC CX

JZ SHUCHU ;ZF标志位为1,cx为0 ,跳到SHUCHU执行

JMP LOP1 ;cx不为0,循环

SHUCHU: MOV DX,OFFSET XZ

MOV AH,09H

INT 21H ;输出字符串

SUB DI,OFFSET ZS ;正数的个数

ADD DI,30H

MOV DX,DI

MOV AH,02H

INT 21H ;转为ASCII码输出

MOV DX,OFFSET XF

MOV AH,09H

INT 21H

SUB SI,OFFSET FS ;负数的个数

ADD SI,30H

MOV DX,SI

MOV AH,02H

INT 21H ;转为ASCII码输出

MOV AH,4CH

INT 21H ;返回DOS

CODE ENDS

END START

21、编写程序,从内存BLOCK开始,存放着10个字节的有符号数,从这些数种找出绝对值最大的数,存在MAX中。

答:

DATA SEGMENT

BLOCK DB 2,8,9,18,-14,-12,5,12;源数据共有8个数,绝对值最大数为18

COUNT EQU $-BLOCK ;数据长度

ORG 0020H

MAX DB ? ;最大数据

DATA ENDS

STACK SEGMENT STACK

DB 100 DUP (?)

STACK ENDS

CODE SEGMENT

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

START:

MOV AX, DATA

MOV DS, AX ;装入数据段基址

MOV AL, 0H ;初始AX

LEA BX, BLOCK

MOV CX, COUNT

LOP1:

MOV DL, [BX]

CALL CP ;调用比较子程序

INC BX ;递推

DEC CX

JNZ LOP1 ;循环

LEA BX, MAX ;取最大值存储区地址

MOV [BX], AL ;移入最大值

MOV AH, 4CH

INT 21H ;返回DOS

CP PROC ;比较AL和DL,将较大的数存入AL.入口参数: AL, DL出口参数: AL

CMP DL, 0

JG POSITIVE ;DL为正数

NEG DL ;求相反数

POSITIVE:

CMP AL, DL ;比较AL和[BX]中的大小

JG EXIT ;AL大于DL则跳转

MOV AL, DL ;将DL移入AL

EXIT:

RET ;退出

CP ENDP

CODE ENDS

END START

26、

DATA SEGMENT

D1 DB 3,4,2,7,8,12,10

COUNT EQU $-D1

D2 DB 10 DUP(?)

DATA ENDS

STACK1 SEGMENT STACK

DB 100 DUP(?)

STACK1 ENDS

CODE SEGMENT

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

START: MOV AX,DATA

MOV DS,AX ;数据段装入

MOV CX,COUNT

DEC CX ;外层循环CX-1次

LOP1: MOV SI,CX

LEA BX,D1

LOP2: MOV AL,[BX]

CMP AL,[BX+1] ;比较D1的第一个数与第二个数的大小

JAE LOP3

XCHG AL,[BX+1] ;交换两个数

MOV [BX],AL

LOP3: INC BX

DEC CX

JNZ LOP2

MOV CX,SI

DEC CX

JNZ LOP1

LIST: MOV AH,4CH

INT 21H ;返回DOS

CODE ENDS

END START

第五章

5-7 若用1024*1b的RAM芯片组成16K*8b的存储器,,需要多少芯片?在地址线中有多少位参与片内寻址?多少位用做芯片组选择信号?

解:

先进行位扩展,一组芯片需要8片

再进行字扩展,需要16组芯片.

所以共需要16*8=128片

1024=1K,需要10位参与片内寻址

16=24,需要4位做选择信号.

5-8 试用4K*8b的EPROM2732和8K*8b的SRAM6264,以及74LS138译码器,构成一个8KB的ROM,32KB的RAM存储系统,要求设计存储器扩展电路,并指出每片存储芯片的地址范围.

解:

5-9 用EPROM2764(8K*8b)和SRAM6264(8k*8b)各一片组成存储器,其地址范围为FC000~FFFFFH,试画出存储器与CPU的连接图和片选信号译码电路(CPU 地址线20位,数据线8位)。

1111 1100 0000 0000 0000

1111 1101 1111 1111 1111

1111 1110 0000 0000 0000

1111 1111 1111 1111 1111

5-10 现有存储芯片:2K*1b的ROM和4K*1bde RAM,若用它们组成容量为16KB的存储器,前4KB为ROM,后12KB为RAM,问各种存储芯片分别用多少片?

解:

4KB=4K*8b 需要2*8=16片

12KB=12K*8b 需要3*8=24片

第六章

6-3 CPU响应中断时的处理过程是什么?在各个处理环节主要完成哪些操作?

解:中断处理过程通常由中断请求、中断响应、中断处理和中断返回四个环节完成。

(1)中断请求:中断源需要进行中断服务时,由硬件产生一个中断信号INTR发给CPU且保持到CPU响应。

(2)中断响应:CPU在当前指令执行结束后采样查询INTR,若中断请求信号有效且允许响

应INTR中断(IF=1),则向请求设备送回低电平有效的中断响应信号INTR,自此系统自动进入中断响应周期,并由硬件自动完成内容入栈,清除TF和IF标志、断点(中断返回之后将要执行的指令地址)入栈,取中断服务程序的入口地址等一系列操作,继而转去执行中断服务程序。

(3)中断处理:执行中断的主体部分。不同的中断请求源,其中断处理的内容是不同的。需要根据中断请求源所要完成的功能,编写相应的中断服务程序存入内存。等待中断响应后调用执行。

(4)中断返回:又中断服务程序中的中断返回指令IRET完成。执行该指令时,将压入对战的断点和标志位弹出,使CPU转向被中断的现行程序中继续执行。

6-10 中断向量表用来存放什么内容?它占用多大的存储空间?存放在内存的哪个区域?可以用什么方法写入或者读取中断向量表的内容?

答:中断向量表用来存放中断服务程序的偏移地址和段基址。占用1KB内存。最低端的1KB RAM区,地址范围是000H~3FFH。

写入方法:1、用传送指令直接装入。

2、DOS功能调用:INT 21H

(AH)=25H

(AL)=中断类型号

(DS:DX)=中断服务程序的入口地址

读出方法:1、用传送指令直接读。

2、DOS功能调用:INT 21H

(AH)=35H

(AL)=中断类型号

出口参数:(ES:BX)=中断服务程序的入口地址

6-19 某系统使用两片8259A管理中断,从片的INT连接到主片的IR2请求输入端。设主片工作于边沿触发、特殊完全嵌套、非自动结束和非缓冲方式,中断类型号为70H,端口地址为80H和81H;从片工作与边沿触发、完全嵌套、非自动结束和非缓冲方式,中断类型号为40H,端口地址为20H和21H。要求:

(1)画出主、从片级联图

(2)编写主、从片初始化程序

解:

电路图参见教材P179图6-21,主片CS由A19-A1=0000 0000 0000 1000 000和M/IO给出低

电平,从片CS由A19-A1=0000 0000 0000 0010 000和M/IO给出低电平。

主片8259A

MOV AL,11H(00010001B)

OUT 80H, AL ;定义ICW1

MOV AL, 70H(01110000B)

OUT 81H, AL ;定义ICW2

MOV AL, 04H(00000100B)

OUT 81H, AL ;定义ICW3

MOV AL, 11H(00010001B)

OUT 81H, AL ;定义ICW4

MOV AL, FBH(11111011B)

OUT 81H, AL ;定义OCW1

(开放从片IR2的请求)

IN AL, 81H

AND AL, 11111011

OUT 81H, AL

从片8259A

MOV AL,11H(00010001B)

OUT 20H, AL ;定义ICW1

MOV AL, 40H(01000000B)

OUT 21H, AL ;定义ICW2

MOV AL, 02H(00000010B)

OUT 21H, AL ;定义ICW3

MOV AL, 01H(00000001B)

OUT 21H, AL ;定义ICW4

6-20 某系统由8259A的IR2引入外设中断请求(跳变信号有效),要求当CPU响应IR2请求时,输出显示字符串“****”,并中断10次退出,试编写主程序和中断服务程序。

解:

设8259A的I/O地址为20H,21H,中断类型号0AH,从IR2引入DATA SEGMENT

MESS DB '*****',OAH,ODH,'$'

INTA00 EQU 0020H

INTA01 EQU 0021H

DATA ENDS

STACK SEGMENT STACK

DB 100H DUP (?)

STACK ENDS

CODE SEGMENT

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

MAIN:MOV AX,DATA

MOV DS,AX

MOV DX,INTA00 ;8259A初始化

MOV AL,13H ;写ICW1

OUT DX,AL

MOV DX,INTA01

MOV AL,08H ;写ICW2

OUT DX,AL

MOV AL,01H ;写ICW4

OUT DX,AL

PUSH DS

MOV AX,SEG INT-P ;设置中断矢量

MOV DS,AX

MOV DX,OFFSET INT-P

MOV AL,0AH

MOV AH,25H

INT 21H

POP DS

MOV AL,0FBH ;写中断屏蔽字OCW1

OUT DX,AL

MOV DX,INTA00

MOV AL,20H ;写中断结束方式OCW2

OUT DX,AL

MOV BX,10

WAIT1: STI ;开中断

JMP WAIT1 ;等待中断

INT-P:MOV AX,DATA ;中断服务程序入口

MOV DS,AX

MOV DX,OFFSET MESS ;输出指定字符串

MOV AH,09H

INT 21H

MOV DX,INTA00 ;写OCW2,送中断结束命令EOI

MOV AL,20H

OUT DX,AL

DEC BX ;控制10次循环

JNZ NEXT

MOV DX,INTA01 ;读屏蔽寄存器IMR

IN AL,DX

OR AL,04H ;屏蔽IR2请求

OUT DX,AL

STI ;开中断

MOV AX,4C00H ;返回操作系统

INT 21H

NEXT:IRET ;中断返回

CODE:ENDS

END MAIN

第七章

3、CPU与IO接口设备数据传送的控制方式有哪几种?它们各有何特点?

答:(1)查询方式:不需要额外的硬件支持,但由于CPU与外设工作的不同步,致使CPU 利用率低,适用于工作不太繁忙的系统中。

(2)中断方式:CPU与外部设备并行工作

(3)DMA方式:数据传送过程中,由DMA控制器参与工作,不需要CPU的干预,对批量数据传送效率高。

6、设8255A的A口工作于方式1输出,B口工作于方式0输入,试编写初始化程序(设端口地址为40H~43H)

答:MOV DX ,43H

MOV AL ,10100010

OUT DX,AL

7.使用8255A作为开关和LED指示灯电路的接口.要求8255A的A口连接8个开关,B口连接8个LED指示灯,将A口的开关状态读入,然后送至B口控制指示灯亮、灭。试画出接口电路设计图,并编写程序实现。

程序实现:

设8255的地址:0FFE0H~0FFE3H

DATA SEGMENT

DB 100H DUP(?)

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE ,DS DATA

START:MOV AX,DATA

MOV DS,AX

MOV AL,10010000 ; A口方式0输入B口方式0输出

MOV DX,0FFE3H

OUT DX,AL

MOV DX, 0FFE0H

IN AL,DX;读取A口开关状态

INC DX

NOT AL

OUT DX,AL ;输出B口驱动LED,开关闭合则LED亮

RET

CODE ENDS

END START

10、利用8254的通道1,产生500Hz的方波信号。设输入时钟频率CKL1=2.5MHz,端口地

址为FFA0H~FFA3H,试编写初始化程序。

答:端口地址:FFA0H-FFA3H

计数器1的控制字:01110110B=76H 计数常数=2.5M/500=5000

初始化程序:

MOV AL,76H

MOV DX,0FFA3H

OUT DX,AL

MOV AX,5000

MOV DX,0FFA1H

OUT DX,AL;写入计数器1的低字节

MOV AL,AH

OUT DX,AL;写入计数器1的高字节

11、某系统使用8254的通道0作为计数器,记满1000,向CPU发中断请求,试编写初始化程序(端口地址自设)。

答:设8254端口地址:40H-43H

计数器0的控制字:00110000B=30H 计数常数=1000

初始化程序:

MOV AL,30H

OUT43H,AL

MOV AX,1000

OUT40H,AL;写入计数器0的低字节

MOV AL,AH

OUT40H,AL;写入计数器0的高字节

12、采用8254的通道0产生周期为10ms的方波信号,设输入时钟频率为100kHz,8254的端口地址为38H-3BH,试编写初始化程序。

答:8254端口地址:38H-3BH

计数器0的控制字:00110110B=36H 计数常数=100K*10ms=1000

初始化程序:

MOV AL,36H

OUT3BH,AL

MOV AX,1000

OUT38H,AL;写入计数器0的低字节

MOV AL,AH

OUT38H,AL;写入计数器0的高字节

15、什么是波特率?假设异步传输的一帧信息由1为起始位,7位数据位、1为校验位和1位停止位构成,传送的波特率为9600,则每秒钟能传输字符的个数是多少?

答:波特率是指数据传送的速率,含义是指每秒钟传二进制数的位数,单位用bps或波特表示每秒可传送的字符个数。

9600/(1+7+1+1)=960

16、一个异步串行发送器,发送的字符格式为:1位起始位、7位数据位、1位奇偶校验位和2位停止位,若每秒传送100个字符,则其波特率为多少?

答:100*(1+7+1+2)=1100bps

19、设某系统使用一片8250进行串行通信,要求波特率为2400,8位数据位,2位停止位,偶校验,对接收缓冲器满开中断,试编写初始化程序。

答:设8250端口地址:3F8H-3FEH XTAL1=1.8432MHz,BAUD=2400

除数寄存器:1.8432M/(2400*16)=48=30H 3F8H

线路控制寄存器:10011111B=1FH 3FBH

中断允许寄存器:00000001B=01H 3F9H

初始化程序:

MOV DX,3FBH

MOV AL,80H

OUT DX,AL;置线路控制寄存器DLAB=1

MOV DX,3F8H

MOV AX,30H

OUT DX,AL;除数寄存器低8位

INC DX

MOV AL,AH

OUT DX,AL;除数寄存器高8位

MOV DX,3FBH

MOV AL,1FH

OUT DX,AL;8位数据位2停止位偶校验

MOV DX,3FCH

MOV AL,03H

OUT DX,AL;MODEM

MOV DX,3F9H

MOV AL,01H

OUT DX,AL; 中断允许寄存器

21、设计一个应用系统,要求:8255A的A口输入8个开关信息,并通过8250以串行的方式循环,将开关信息发送出去。已知:8255的端口地址为100H-103H,8250输入的基准时钟频率为1.8432MHz,传输波特率为2400,数据长度为8位,2位停止位,奇校验、屏蔽全部中断,端口地址为108H~10EH,采用查询方式传送。要求:

(1)设计该系统的硬件连接电路(包括地址译码电路);

(2)编写各芯片的初始化程序

(3)编写完成上述功能的应用程序。

答:(1)

(2)8255初始化程序:

MOV DX,103H

MOV AL,10010000B ;A口输入

MOV DX,AL

8250初始化程序:

8250端口地址:108H-10EH XTAL1=1.8432MHz,BAUD=2400 除数寄存器=1.8432M/(2400*16)=48=30H 108H

线路控制寄存器:00001111B=0FH 10BH

中断允许寄存器:00000000B=00H 109H

初始化程序:

MOV DX,10BH

MOV AL,80H

OUT DX,AL;置线路控制寄存器DLAB=1

MOV DX,108H

MOV AX,30H

OUT DX,AL;除数寄存器低8位

MOV DX,109H

MOV AL,AH

OUT DX,AL;除数寄存器低8位

MOV DX,10BH

MOV AL,0FH

OUT DX,AL;8位数据位2停止位奇校验

MOV DX,10CH

MOV AL,03H

OUT DX,AL

MOV DX,109H

MOV AL,0

OUT DX,AL ;屏蔽所有中断

(3)

25、采用8237的通道1控制外设与存储器之间的数据,设该芯片的片选CS由地址线A15~A4=031H译码提供。试编写初始化程序,把外设中1KB的数据传送到内存2000H开始的存储区域,传送完毕停止通道工作。

答:设DREQ1高电平有效,DACK1低电平有效。采用块传输。

8237地址:0310H-031FH

初始化程序:

MOV DX,031DH

MOV AL,0

OUT DX,AL;软件复位

MOV DX,0312H

MOV AL,00H

MOV DX,AL

MOV AL,20H

MOV DX,AL;2000H写入基地址寄存器

MOV DX,0313H

MOV AX,1024

DEC AX

OUT DX,AL

MOV AL,AH

OUT DX,AL;计数值写入基字节计数器

MOV DX,031BH

MOV AL,85H

OUT DX,AL;写工作方式字:块传送、地址增1、写传送

MOV DX,031AH

MOV AL,01H

OUT DX,AL;写屏蔽字:允许通道1请求

MOV DX,0318H

MOV AL,00H

OUT DX,AL;写命令字:DACK1=1 DREQ1=0 允许8237工作

微机原理考试课后练习题筛选

第一章 一、选择题 7.(D)8.(B)9.(D)10.(C)11.(A) 二、填空题 l.(运算器)2.(冯·诺依曼、输出器、存储器、存储器)9.(尾数、指数) 第二章 一、选择题 1.(C)4.(B)5.(D)7.(A)8.(D)18.(B) 二、填空题 4.(TF、DF、IF) 5. (9E100H)10.(0、0、 1、1)15.(FFFFH、0000H、0000H、0000H) 三、问答题 2.完成下列补码运算,并根据结果设置标志SF、ZF、CF和OF,指出运算结果是否溢出? (1)00101101B+10011100B (2) 01011101B-10111010B (3)876AH-0F32BH (4)10000000B十 11111111B (1)00101101B +10011100B 11001001B=C9H SF=1 ZF=0 CF=0 OF=0 (2) -10111010B=01000110B 01011101B-10111010B=01011101B +01000110B 10100011B SF=1 ZF=0 CF=0 OF=1 (3)876AH-0F32BH=876AH +0CD5H 943FH SF=1 ZF=0 CF=0 OF=0 (4) 10000000B +11111111B 101111111B=7FH SF=0 ZF=0 CF=1 OF=1 习题3 一、选择题 1.D 4.B 5.A 14.D 17.C 二、填空题 7. 3400H;5000H 8. 9AH;6CH;0;1;1;1;0 17.低8位;高8位;0FFA4H 三,问答题 1、(1)源操作数是基址寻址,目的操作数是寄存器寻址(2)逻辑地址是0705H,物理地址是10705H (3)(AX)=1234H (BX)=0700H 10、(1)MOV SI,2500H MOV DI,1400H MOV CX,64H CLD REP MOVSB (2) MOV SI,2500H MOV DI,1400H MOV CX,64H CLD REPE CMPSB JNZ L1 XOR BX,BX HLT L1:DEC SI MOV BX,SI MOV AL,[SI] HLT 习题4 一、选择题 1.B 4.C 二、填空题 1..ASM;.OBJ;.EXE 6.( AX)= 1 (BX)= 2 (CX)= 20 (DX)= 40

微机原理课后练习题-答案

1、 2、B 3、十,非压缩的BCD码 4、 5、微型计算机、微型计算机系统 6、,, 二、 B D B 三、 1、微型计算机系统的基本组成。 答案:以微型计算机为主体,配上相应的系统软件、应用软件和外部设备之后,组成微型计算机系统。 2、简述冯.诺依曼型计算机基本组成。 答案:冯.诺依曼型计算机是由运算器,控制器,存储器,输入设备和输出设备组成的。其中,运算器是对信息进行加工和运算的部件;控制器是整个计算机的控制中心,所以数值计算和信息的输入,输出都有是在控制器的统一指挥下进行的;存储器是用来存放数据和程序的部件,它由许多存储单元组成,每一个存储单元可以存放一个字节;输入设备是把人们编写好的程序和数据送入到计算机内部;输出设备是把运算结果告知用户。 3、什么是微型计算机 答案:微型计算机由CPU、存储器、输入/输出接口电路和系统总线构成。 4、什么是溢出 答案:在两个有符号数进行家减运算时,如果运算结果超出了该符号数可表示的范围,就会发生溢出,使计算出错。

1、4、100ns 2、Ready ,Tw(等待) 3、ALE 4、INTR 5、85010H 6、存储器或I/O接口未准备好 7、非屏蔽中断 8、指令周期 9、4 二、 1、在内部结构上,微处理器主要有那些功能部件组成 答案:1) 算术逻辑部件2) 累加器和通用寄存器组 3) 程序计数器4) 时序和控制部件 2、微处理器一般应具有那些基本功能 答案:1.可以进行算术和逻辑运算2.可保存少量数据 3.能对指令进行译码并完成规定的操作4.能和存储器、外部设备交换数据 5.提供整个系统所需的定时和控制6.可以响应其他部件发来的中断请求 3、什么是总线周期 答案:CPU通过外部总线对存储器或I/O端口进行一次读/写操作的过程;一个基本的总线周期包含4个T状态,分别称为T1、T2、T3、T4。 三、×、×、×、×、×、√、√

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

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

微机原理课后习题答案

李伯成《微机原理》习题第一章 本章作业参考书目: ①薛钧义主编《微型计算机原理与应用——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.1 把下列十进制数转换成二进制数、八进制数、十六进制数。 ① 16.25 ② 35.75 ③ 123.875 ④ 97/128 1.2 把下列二进制数转换成十进制数。 ① 10101.01 ② 11001.0011 ③ 111.01 ④ 1010.1 1.3 把下列八进制数转换成十进制数和二进制数。 ① 756.07 ② 63.73 ③ 35.6 ④ 323.45 1.4 把下列十六进制数转换成十进制数。 ① A7.8 ② 9AD.BD ③ B7C.8D ④ 1EC 1.5 求下列带符号十进制数的8位补码。 ① +127 ② -1 ③ -0 ④ -128 1.6 求下列带符号十进制数的16位补码。 ① +355 ② -1 1.7 计算机分那几类?各有什么特点? 1.8 简述微处理器、微计算机及微计算机系统三个术语的内涵。 1.9 80X86微处理器有几代?各代的名称是什么? 1.10 你知道现在的微型机可以配备哪些外部设备? 1.11 微型机的运算速度与CPU的工作频率有关吗? 1.12 字长与计算机的什么性能有关? 习题一参考答案 1.1 ① 16.25D=10000.01B=20.2Q=10.4H ② 35.75D=100011.11B=43.6Q=23.CH ③ 123.875D=1111011.111B=173.7Q=7B.EH ④ 97/128D=64/123+32/128+1/128=0.1100001B=0.604Q=0.C2H 1.2 ① 10101.01B=21.25D ② 11001.0011B=25.1875D ③ 111.01B=7.25D ④ 1010.1B=10.5D 1.3 ① 756.07Q=111101110.000111B=494.109D ② 63.73Q=110011.111011B=51.922D ③ 35.6Q=11101.110B=29.75D ④ 323.45Q=11010011.100101B=211.578D 1.4 ① A7.8H=167.5D ② 9AD.BDH=2477.738D ③ B7C.8D=2940.551D ④ 1ECH=492D 1.5 ① [+127] 补=01111111 ② [-1] 补 = 11111111 ③ [-0] 补=00000000 ④[-128] 补 =10000000 1.6 ① [+355] 补= 0000000101100011 ② [-1] 补 = 1111 1111 1111 1111 1.7 答:传统上分为三类:大型主机、小型机、微型机。大型主机一般为高性能的并行处理系统,存储容量大,事物处理能力强,可为众多用户提供服务。小型机具有一定的数据处理能力,提供一定用户规模的信息服务,作为部门的信息服务中心。微型机一般指在办公室或家庭的桌面或可移动的计算系统,体积小、价格低、具有工业化标准体系结构,兼容性好。 1.8 答:微处理器是微计算机系统的核心硬件部件,对系统的性能起决定性的影

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

第一章 6、[+42]原=00101010B=[+42]反=[+42]补 [-42]原 [-42]反 [-42]补 [+85]原=01010101B=[+85]反=[+85]补 [-85]原 [-85]反 [-85]补 10、微型计算机基本结构框图 微处理器通过一组总线(Bus)与存储器和I/O接口相连,根据指令的控制,选中并控制它们。微处理器的工作:控制它与存储器或I/O设备间的数据交换;进行算术和逻辑运算等操作;判定和控制程序流向。 存储器用来存放数据和指令,其内容以二进制表示。每个单元可存8位(1字节)二进制信息。 输入——将原始数据和程序传送到计算机。 输出——将计算机处理好的数据以各种形式(数字、字母、文字、图形、图像和声音等)送到外部。 接口电路是主机和外设间的桥梁,提供数据缓冲驱动、信号电平转换、信息转换、地址译码、定时控制等各种功能。 总线:从CPU和各I/O接口芯片的内部各功能电路的连接,到计算机系统内部的各部件间的数据传送和通信,乃至计算机主板与适配器卡的连接,以及计算机与外部设备间的连接,都要通过总线(Bus)来实现。 13、8086有20根地址线A19~A0,最大可寻址220=1048576字节单元,即1MB;80386有32根地址线,可寻址232=4GB。8086有16根数据线,80386有32根数据线。

1、8086外部有16根数据总线,可并行传送16位数据; 具有20根地址总线,能直接寻址220=1MB的内存空间; 用低16位地址线访问I/O端口,可访问216=64K个I/O端口。 另外,8088只有8根数据总线 2、8086 CPU由两部分组成:总线接口单元(Bus Interface Unit,BIU) BIU负责CPU与内存和I/O端口间的数据交换: BIU先从指定内存单元中取出指令,送到指令队列中排队,等待执行。 执行指令时所需的操作数,也可由BIU从指定的内存单元或I/O端口中获取,再送到EU去执行。 执行完指令后,可通过BIU将数据传送到内存或I/O端口中。 指令执行单元(Execution Unit,EU) EU负责执行指令: 它先从BIU的指令队列中取出指令,送到EU控制器,经译码分析后执行指令。EU的算术逻辑单元(Arithmetic Logic Unit,ALU)完成各种运算。 6、见书P28-29。 7.(1) 1200:3500H=1200H×16+3500H=15500H (2) FF00:0458H=FF00H×16+0458H=FF458H (3) 3A60:0100H=3A80H×16+0100H=3A700H 8、(1)段起始地址 1200H×16=12000H,结束地址 1200H×16+FFFFH=21FFFH (2)段起始地址 3F05H×16=3F050H,结束地址 3F05H×16+FFFFH=4F04FH (3)段起始地址 0FFEH×16=0FFE0H,结束地址 0FFEH×16+FFFFH=1FFD0H 9、3456H×16+0210H=34770H 11、堆栈地址范围:2000:0000H~2000H(0300H-1),即20000H~202FFH。执行 两条PUSH指令后,SS:SP=2000:02FCH,再执行1条PUSH指令后,SS: SP=2000:02FAH。 12、(2000H)=3AH, (2001H)=28H, (2002H)=56H, (2003H)=4FH 从2000H单元取出一个字数据需要1次操作,数据是 283AH; 从2001H单元取出一个字数据需要2次操作,数据是 5628H; 17、CPU读写一次存储器或I/O端口的时间叫总线周期。1个总线周期需要4个系统时钟周期(T1~T4)。8086-2的时钟频率为8MHz,则一个T周期为125ns,一个总线周期为500ns,则CPU每秒最多可以执行200万条指令。

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

6、[+42]原=00101010B=[+42]反=[+42]补 [-42]原=B [-42]反=B [-42]补=B [+85]原=01010101B=[+85]反=[+85]补 [-85]原=B [-85]反=B [-85]补=B 10、微型计算机基本结构框图 微处理器通过一组总线(Bus)与存储器和I/O接口相连,根据指令的控制,选中并控制它们。微处理器的工作:控制它与存储器或I/O设备间的数据交换;进行算术和逻辑运算等操作;判定和控制程序流向。 存储器用来存放数据和指令,其内容以二进制表示。每个单元可存8位(1字节)二进制信息。 输入——将原始数据和程序传送到计算机。 输出——将计算机处理好的数据以各种形式(数字、字母、文字、图形、图像和声音等)送到外部。 接口电路是主机和外设间的桥梁,提供数据缓冲驱动、信号电平转换、信息转换、地址译码、定时控制等各种功能。 总线:从CPU和各I/O接口芯片的内部各功能电路的连接,到计算机系统内部的各部件间的数据传送和通信,乃至计算机主板与适配器卡的连接,以及计算机与外部设备间的连接,都要通过总线(Bus)来实现。 13、8086有20根地址线A19~A0,最大可寻址220=1048576字节单元,即1MB;80386有32根地址线,可寻址232=4GB。8086有16根数据线,80386有32根数据线。

1、8086外部有16根数据总线,可并行传送16位数据; 具有20根地址总线,能直接寻址220=1MB的内存空间; 用低16位地址线访问I/O端口,可访问216=64K个I/O端口。 另外,8088只有8根数据总线 2、8086 CPU由两部分组成:总线接口单元(Bus Interface Unit,BIU) BIU负责CPU与内存和I/O端口间的数据交换: BIU先从指定内存单元中取出指令,送到指令队列中排队,等待执行。 执行指令时所需的操作数,也可由BIU从指定的内存单元或I/O端口中获取,再送到EU去执行。 执行完指令后,可通过BIU将数据传送到内存或I/O端口中。 指令执行单元(Execution Unit,EU) EU负责执行指令: 它先从BIU的指令队列中取出指令,送到EU控制器,经译码分析后执行指令。EU的算术逻辑单元(Arithmetic Logic Unit,ALU)完成各种运算。 6、见书P28-29。 7.(1)1200:3500H=1200H×16+3500H=15500H (2)FF00:0458H=FF00H×16+0458H=FF458H (3)3A60:0100H=3A80H×16+0100H=3A700H 8、(1)段起始地址1200H×16=12000H,结束地址1200H×16+FFFFH=21FFFH (2)段起始地址3F05H×16=3F050H,结束地址3F05H×16+FFFFH=4F04FH (3)段起始地址0FFEH×16=0FFE0H,结束地址0FFEH×16+FFFFH=1FFD0H 9、3456H×16+0210H=34770H 11、堆栈地址范围:2000:0000H~2000H(0300H-1),即20000H~202FFH。执行两条PUSH指令后,SS:SP=2000:02FCH,再执行1条PUSH指令后,SS:SP=2000:02FAH。 12、(2000H)=3AH, (2001H)=28H, (2002H)=56H, (2003H)=4FH 从2000H单元取出一个字数据需要1次操作,数据是283AH; 从2001H单元取出一个字数据需要2次操作,数据是5628H; 17、CPU读写一次存储器或I/O端口的时间叫总线周期。1个总线周期需要4个系统时钟周期(T1~T4)。8086-2的时钟频率为8MHz,则一个T周期为125ns,一个总线周期为500ns,则CPU每秒最多可以执行200万条指令。

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

第1章微型计算机系统 〔习题〕简答题 (2)总线信号分成哪三组信号 (3)PC机主存采用DRAM组成还是SRAM组成 (5)ROM-BIOS是什么 (6)中断是什么 (9)处理器的“取指-译码-执行周期”是指什么 〔解答〕 ②总线信号分成三组,分别是数据总线、地址总线和控制总线。 ③ PC机主存采用DRAM组成。 ⑤ ROM-BIOS是“基本输入输出系统”,操作系统通过对BIOS 的调用驱动各硬件设备,用户也可以在应用程序中调用BIOS中的许多功能。 ⑥中断是CPU正常执行程序的流程被某种原因打断、并暂时停止,转向执行事先安排好的一段处理程序,待该处理程序结束后仍

返回被中断的指令继续执行的过程。 ⑨指令的处理过程。处理器的“取指—译码—执行周期”是指处理器从主存储器读取指令(简称取指),翻译指令代码的功能(简称译码),然后执行指令所规定的操作(简称执行)的过程。 〔习题〕填空题 (2)Intel 8086支持___________容量主存空间,80486支持___________容量主存空间。 (3)二进制16位共有___________个编码组合,如果一位对应处理器一个地址信号,16位地址信号共能寻址___________容量主存空间。 (9)最初由公司采用Intel 8088处理器和()操作系统推出PC机。 ② 1MB,4GB ③ 216,64KB (9)IBM,DOS 〔习题〕说明微型计算机系统的硬件组成及各部分作用。 〔解答〕

CPU:CPU也称处理器,是微机的核心。它采用大规模集成电路芯片,芯片内集成了控制器、运算器和若干高速存储单元(即寄存器)。处理器及其支持电路构成了微机系统的控制中心,对系统的各个部件进行统一的协调和控制。 存储器:存储器是存放程序和数据的部件。 外部设备:外部设备是指可与微机进行交互的输入(Input)设备和输出(Output)设备,也称I/O设备。I/O设备通过I/O接口与主机连接。 总线:互连各个部件的共用通道,主要含数据总线、地址总线和控制总线信号。 〔习题〕区别如下概念:助记符、汇编语言、汇编语言程序和汇编程序。 〔解答〕 助记符:人们采用便于记忆、并能描述指令功能的符号来表示机器指令操作码,该符号称为指令助记符。 汇编语言:用助记符表示的指令以及使用它们编写程序的规则就形成汇编语言。 汇编语言程序:用汇编语言书写的程序就是汇编语言程序,或称汇编语言源程序。

微机原理课后习题解答

微机原理习题 第一章绪论 习题与答案 1、把下列二进制数转换成十进制数、十六进制数及BCD码形式。 (1) 10110010B= (2) 01011101、101B = 解: (1) 10110010B = 178D =B2H=(00010111 1000)BCD (2) 01011101、101B =93、625D=5D.AH =(1001 0011、0110 0010 0101)BCD 2. 把下列十进制数转换成二进制数。 (1) 100D= (2) 1000D= (3) 67、21D= 解: (1) 100D = 01100100B (2) 1000D=1111101000B (3) 67、21D=1000011、0011B 3. 把下列十六进制数转换成十进制数、二进制数。 (1) 2B5H = (2) 4CD、A5H= 解: (1) 2B5H = 693D = 00101011 0101B (2) 4CD、A5H=1229.6445D=0100 11001101.10100101B 4、计算下列各式。 (1) A7H+B8H = (2) E4H-A6H = 解: (1) A7H+B8H = 15FH (2) E4H-A6H =3EH 5、写出下列十进制数的原码、反码与补码。 (1)+89 (2)-37

解: (1) [+89 ] 原码、反码与补码为: 01011001B (2) [-37] 原码= 10100101 B [-37] 反码= 11011010 B [-37] 补码=11011011 B 6.求下列用二进制补码表示的十进制数 (1)(01001101)补= (2)(10110101)补= 解: (1)(01001101)补= 77D (2)(10110101)补=-75D 7.请用8位二进制数写出下列字符带奇校验的ASCII码。 (1)C: 1000011(2)O: 1001111 (3)M: 1001101 (4)P: 1010000 解: (1)C:0 1000011 (2)O: 01001111 (3)M:11001101 (4)P: 1 1010000 8、请用8位二进制数写出下列字符带偶校验的ASCII码。 (1)+:0101011 (2)=: 0111101 (3)#:0100011(4)>: 0111110 解: (1)+:00101011 (2)=: 10111101 (3)#:10100011 (4)>: 1 0111110 9、叙述CPU 中PC的作用。 解:PC就是CPU中的程序计数器,其作用就是提供要执行指令的地址。

微机原理课后答案

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__________引脚。

微机原理(王忠民版课后答案)

部分习题答案 第二章计算机中的数值和编码 1、将十进制数转换为二进制和十六进制 (1) =1000 =(2) =1101 = (3) ==(4) =10 1B=H 2、将下列二进制数转换为十进制和十六进制 (1) 111010 B=58 =3A H(2) 1011 = =H (3) 1B= = (4) B= = 3、完成下列二进制数的加减法运算 (1) +=(2) -= (3) 00111101+=(4) -= 4、完成下列十六进制数的加减法运算 (1) 745CH+56DFH=D14B H(2) -=H (3) +=1678 .FC H(4) 6F01H-EFD8H=7F29 H 5、计算下列表达式的值 (1) +.1011B+= (2) -.11H+= (3) ++-= 6、选取字长n为8位和16位两种情况,求下列十进制数的补码。 (1) X=-33的补码:1101 1111, 111 (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

微机原理习题解答

第一章微型计算机的基础知识 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.什么是汇编语言,汇编程序,和机器语言? 答:机器语言是用二进制代码表示的计算机能直接识别和执行的一种机器指令的集合。 汇编语言是面向及其的程序设计语言。在汇编语言中,用助记符代替操作码,用地址符号或标号代替地址码。这种用符号代替机器语言的二进制码,就把机器语言编程了汇编语言。 使用汇编语言编写的程序,机器不能直接识别,要由一种程序将汇编语言翻译成机器语言,这种起翻译作用的程序叫汇编程序。 2.微型计算机系统有哪些特点?具有这些特点的根本原因是什么? 答:微型计算机的特点:功能强,可靠性高,价格低廉,适应性强、系统设计灵活,周期短、见效快,体积小、重量轻、耗电省,维护方便。 这些特点是由于微型计算机广泛采用了集成度相当高的器件和部件,建立在微细加工工艺基础之上。 3.微型计算机系统由哪些功能部件组成?试说明“存储程序控制”的概念。 答:微型计算机系统的硬件主要由运算器、控制器、存储器、输入设备和输出设备组成。 “存储程序控制”的概念可简要地概括为以下几点: ①计算机(指硬件)应由运算器、存储器、控制器和输入/输出设备五大基本部件组成。 ②在计算机内部采用二进制来表示程序和数据。 ③将编好的程序和原始数据事先存入存储器中,然后再启动计算机工作,使计算机在不需要人工干预的情况下,自动、高速的从存储器中取出指令加以执行,这就是存储程序的基本含义。 ④五大部件以运算器为中心进行组织。 4.请说明微型计算机系统的工作过程。 答:微型计算机的基本工作过程是执行程序的过程,也就是CPU自动从程序存

放的第1个存储单元起,逐步取出指令、分析指令,并根据指令规定的操作类型和操作对象,执行指令规定的相关操作。如此重复,周而复始,直至执行完程序的所有指令,从而实现程序的基本功能。 5.试说明微处理器字长的意义。 答:微型机的字长是指由微处理器内部一次可以并行处理二进制代码的位数。它决定着计算机内部寄存器、ALU和数据总线的位数,反映了一台计算机的计算精度,直接影响着机器的硬件规模和造价。计算机的字长越大,其性能越优越。在完成同样精度的运算时,字长较长的微处理器比字长较短的微处理器运算速度快。 6.微机系统中采用的总线结构有几种类型?各有什么特点? 答:微机主板常用总线有系统总线、I/O总线、ISA总线、IPCI总线、AGP总线、IEEE1394总线、USB总线等类型。 7.将下列十进制数转换成二进制数、八进制数、十六进制数。 ①(4.75)10=(0100.11)2=(4.6)8=(4.C)16 ②(2.25)10=(10.01)2=(2.2)8=(2.8)16 ③(1.875)10=(1.111)2=(1.7)8=(1.E)16 8.将下列二进制数转换成十进制数。 ①(1011.011)2=(11.6)10 ②(1101.01011)2=(13.58)10 ③(111.001)2=(7.2)10 9.将下列十进制数转换成8421BCD码。 ① 2006=(0010 0000 0000 0110)BCD ② 123.456=(0001 0010 0011.0100 0101 0110)BCD 10.求下列带符号十进制数的8位基2码补码。 ① [+127]补= 01111111

微机原理课后习题答案

第一章 学习指导: 1.掌握十六进制、二进制、BCD(十进制数)、ASCII码 2.掌握有符号数(补码、原码)、无符号数计算机的表示方法以及表示范围 3.掌握补码运算 4.了解计算机基本组成及工作原理 5.了解新技术 6.了解计算机主要性能指标 2、完成下列数制之间的转换。 (1)01011100B=92D (3)135D=10000111B (5)10110010B=262Q=B2H 3、组合型BCD码和非组合型BCD码有什么区别?写出十进制数254的组合型BCD数和非组合型数。 答:组合型BCD码用高四位和低四位分别对应十进制数的个位和十位,其表示范围是0~99;非组合型BCD码用一个字节的低四位表示十进制数,高四位则任意取值,表示范围为0~9。 组合型:254=(001001010100)BCD 非组合型:254=(00000010 00000101 00000100)BCD 7、计算机为什么采用补码形式存储数据?当计算机的字长n=16,补码的数据表示范围是多少? 答:在补码运算过程中,符号位参加运算,简化了加减法规则,且能使减法运算转化为加法运算,可以简化机器的运算器电路。+32767~ -32768。 9、设计算机字长n=8,求下列各式的[X+Y]补和[X-Y]补,并验证计算结果是否正确。 (1)X=18,Y=89 [X+Y]补=00010010+01011001=01101011B=107D 正确 [X-Y]补=10111001B=00010010+10100111=(-71D)补正确 (2)X=-23,Y=-11 [X+Y]补=11101001+11110101=11011110B=(-34D)补正确[X-Y]补=11101001+00001011=11110100B=(-12D)补正确 (3)X=18,Y=-15 [X+Y]补=00010010+11110001=00000011B=(3D)补正确 [X-Y]补=00010010+00001111=00100001B=(33D)补正确 (4)X=-18,Y=120 [X+Y]补=11101110+01111000=01100110B=(102D)补正确[X-Y]补=11101110+10001000=01110110B=(123D)补由于X-Y=-138 超出了机器数范围,因此出错了。 13、微型计算机的主要性能指标有哪些? 答:CPU字长、存储器容量、运算速度、CPU内核和IO工作电压、制造工艺、扩展能力、软件配置。 第二章 学习指导: 1.了解8086微处理器的基本组成及工作原理 2.掌握通用寄存器(AX、BX、DX、CX、SI、DI、SP、BP)段寄存器(CS、SS、DS、ES)标志寄存器(状态标志位和控制标志位含义)作用 3.掌握逻辑地址、物理地址以及它们之间的关系物理地址=段基址x16+偏移地址 4.掌握逻辑地址和物理地址表示形式2000:0100,20100 5.存储器地址的表示图2-5 6.主要引脚RD、WR、M/IO、INTR、INTA、NMI、HOLD、HLDA

微机原理(第三版)课后练习答案(DOC)

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.指令队列缓冲器

最新微机原理第6章习题参考答案

第6章习题参考答案 1.CPU与外部设备通信为什么要使用接口? 答: CPU要与外部设备直接通信会存在以下两个方面的问题:首先是速度问题,CPU的运行速度要比外设的处理速度高得多,通常仅使用简单的一条输入/输出指令是无法完成CPU与外设之间的信息交换的;其次,外设的数据和控制线也不可能与CPU直接相连,如一台打印机不能将其数据线与CPU的管脚相连,键盘或者其他外设也是如此,同时外设的数据格式千差万别,也不可能直接与CPU 连接。所以,要完成CPU与外部各通信设备的信息交换,就需要接口电路以解决以上问题。 2. I/O接口有什么用途? 答: 主要由以下几个方面的用途: a完成地址译码或设备选择,使CPU能与某一指定的外部设备通信。 b状态信息的应答,以协调数据传输之前的准备工作。 c进行中断管理,提供中断信号。 d进行数据格式转换,如正负逻辑转换、串行与并行数据转换。 e进行电平转换,如TTL电平与MOS电平间的转换。 f协调速度,如采用锁存、缓冲、驱动等。 h时序控制,提供实时时钟信号。 3.I/O端口有哪两种寻址方式?各有何优缺点? 答: I/O端口的寻址方式有存储器映像I/O和I/O映像I/O两种寻址方式。存储器映像I/O 方式是将系统中存储单元和I/O端口的地址统一编址,这样一个I/O端口

地址就是一个存储单元地址,在硬件上没有区别,对I/O端口的访问与存储器的访问相同。其缺点是占用了储存器的地址空间,同时由于存储器地址和I/O 端口在指令形式上没有区别,增加了程序设计的难度。其优点是不需要专门为I/O端口设计电路,可与存储器地址访问硬件混合设计。另一个优点是,由于I/O端口和存储器地址是相同的形式,就可以直接使用与存储器相同的指令,这将会丰富对I/O端口的操作指令。 与存储器映像I/O相反,I/O映像I/O就必须为I/O端口设计专门的硬件电路,其端口地址也是独立于存储器,也有专门的输入/输出指令等其优缺点与存储器映像I/O正好相反。 4.在8086微机系统中有个外设,使用存储器映像的I/O寻址方式该外设地址为01000H。试画出其译码器的连接电路,使其译码器输出满足上述地址要求,译码器使用74LS138芯片。 答: 见图6-1

相关文档
最新文档