微机原理与接口技术习题答案.docx

上传人:b****5 文档编号:4106021 上传时间:2022-11-27 格式:DOCX 页数:22 大小:115.03KB
下载 相关 举报
微机原理与接口技术习题答案.docx_第1页
第1页 / 共22页
微机原理与接口技术习题答案.docx_第2页
第2页 / 共22页
微机原理与接口技术习题答案.docx_第3页
第3页 / 共22页
微机原理与接口技术习题答案.docx_第4页
第4页 / 共22页
微机原理与接口技术习题答案.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

微机原理与接口技术习题答案.docx

《微机原理与接口技术习题答案.docx》由会员分享,可在线阅读,更多相关《微机原理与接口技术习题答案.docx(22页珍藏版)》请在冰豆网上搜索。

微机原理与接口技术习题答案.docx

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

北京交通大学用书

微机原理与接口技术

习题答案

1-2微型计算机系统的硬件由哪几部分构成?

简述他们的主要功能。

【答】:

P4

1-4【答】:

(1)01011100B=92D

(2)0.10110011B=10110011B/256=179/256=0.69921875

(3)135D=10000111B(4)99.4375D=1100011.0111B

(5)10110010B=262O=B2H(6)308.DH=1100001000.1101B=1410.64O

1-7【答】:

(1)X=+1101001原码:

01101001反码:

01101001补码:

01101001

(2)X=+1111000原码:

01111000反码:

11111000补码:

11111000

(3)X=-1000110原码:

11000110反码:

10111001补码:

10111010

(4)X=-1101011原码:

11101011反码:

10010100补码:

10010101

1-8【答】:

[X]补=00010010[Y]补=11110111[-Y]补=00001001X=18Y=-9

[X+Y]补=[X]补+[Y]补=00001001=9的补码

[X-Y]补=[X]补+[-Y]补=00011011=27的补码

1-10【答】:

254

组合型BCD:

0010010101002B

非组合型BCD:

0000001000000101000001003B

2-7什么是逻辑地址?

什么是物理地址?

在实地址方式下,如何求存储器的物理地址?

设一个16字的数据区,它的起始地址为70A0H:

DDF6(段基址:

偏移地址).写出这个数据区的首字单元和末字单元的物理地址.

解:

1).实模式下,逻辑地址由段基址和偏移地址组成.物理地址是真正的存储单元的地址.

2).物理地址=段基址*16+偏移地址

3).首字单元地址:

70A0H*16+DDF6H=70A00H+DDF6H=7E7F6H

末字单元地址:

7E7F6H+(16-1)*2=7E7F6H+1EH=7E814H

注意:

相邻两个存储单元可构成一个字长为16位的字,在对准字时,用偶地址表示字的地址.

3-132位微机有哪几种数据类型?

【答】:

共有7种数据类型:

1、无符号二进制数

●字节(8位):

0~255(0~0FFH),占用一字节存储单元;

●字(16位):

0~65535(0~0FFFFH),占用连续的两字节存储单元,低地址存储单元存放低8位数据,高地址存储单元存放高8位数据,低字节地址为该字的地址;

●双字(32位):

0~4294967299(0~0FFFFFFFFH),占用连续的四字节存储单元,最低地址存储单元存放最低8位数据,最高地址存储单元存放最高8位数据,最低字节地址为该双字的地址。

2、带符号二进制数

●字节(8位):

-128~+127(80H~FFH,00H~7FH)

●字(16位):

-32768~+32767(8000H~FFFFH,00000H~7FFFH)

●双字(32位):

-2147483650~+2147483649

(80000000H~FFFFFFFFH,000000000H~7FFFFFFFH)

带符号二进制数以补码形式存储,地址单元分配与无符号数类似。

3、浮点数(实数)

●单精度数(32位):

1位符号,8位阶码,24位有效数(显式23位,外加1位隐含的整数“1.”。

●双精度数(64位):

1位符号,11位阶码,53位有效数(显式52位,外加1位隐含的整数“1.”。

●扩展精度数(80位):

1位符号,15位阶码,64位有效数(内含1位整数1,小数点是隐含的。

4、BCD码

●压缩BCD码:

1字节存放两个BCD码;

●非压缩BCD码:

1字节存放一个BCD码(低4位)。

5、串数据

●位串:

从任何字节的任何位开始的相邻位序列,最长可达232-1位;

●字节/字/双字串:

是字节、字、双字的相邻序列,最长可达232-1字节。

6、ASCII码数据

●ASCII码字符串:

如‘ABC123’

●ASCII码数:

如30H~39H(0~9),41H~46H(A~F)

7、指针数据类

●近指针(32位):

是一个32位的段内偏移地址,段内寻址时使用。

●远指针(48位):

是一个由16位选择符和32位偏移量组成,段间寻址时使用。

3-2什么叫寻址方式?

32位微机有多少种寻址方式?

各种寻址方式的特点是什么?

【答】:

寻址方式:

寻找指令中所需的操作数或操作数地址的方式。

共9种寻址方式。

1、立即寻址:

指定的操作数紧跟在操作码之后,直接存放在代码段中;

2、寄存器寻址:

操作数在CPU的寄存器中,而寄存器的名由指令指出;

3、直接寻址:

操作数有效地址(16位或32位)直接包含在指令中;

4、寄存器间接寻址:

操作数的偏移地址存放在寄存器中,而操作数存放在存储器中;

5、相对寄存器间接寻址:

寄存器内容与位移量之和形成操作数的有效地址;EA=[寄存器]+位移量(合并了“基址寻址”和“变址寻址”)

6、基址加变址寻址:

基址寄存器内容与变址寄存器内容之和形成操作数的偏移地址;EA=[基址寄存器]+[变址寄存器]

7、相对基址加变址寻址:

基址寄存器内容与变址寄存器内容再加偏移量之和形成操作数的有效地址;EA=[基址寄存器]+[变址寄存器]+偏移量

8、比例变址寻址(32位寻址):

变址寄存器内容乘以比例因子再加位移量之和形成操作数的32位有效地址。

EA=[变址寄存器]*比例因子+位移量

9、比例变址加基址寻址(32位寻址):

变址寄存器内容乘以比例因子再加上基址寄存器的内容,形成操作数的32位有效地址。

即:

EA=[变址寄存器]*比例因子+[基址寄存器]

10、带位移的基址加比例变址寻址:

EA=[变址寄存器]*比例因子+[基址寄存器]+位移量

3-3简述立即寻址和直接寻址、寄存器寻址和寄存器间接寻址的区别。

 

3-4微机的指令一般由哪几个字段组成?

各字段的主要作用是什么?

【答】:

通常由6个字段组成:

1、前缀字段:

用于修改指令的某些属性;

2、操作码字段:

规定指令的操作属性;

3、4、寻址方式字段:

为寻址方式说明字段;

5、位移量字段:

6、立即数字段:

3-532位微机的指令系统分为几种类型?

【答】:

32位微机的指令系统分为:

1、整数指令

●数据传送类指令

●算术运算类指令

●逻辑运算类指令

●串操作类指令

●控制转移类指令

●处理器控制类指令

●高级和保护控制类指令

2、浮点数指令

3、操作系统型指令

3-6分别指出下列指令中源操作数和目标操作数的寻址方式。

若是存储器寻址,用表达式表示EA。

【答】:

(1)ANDAX,00FFH立即数寻址

(2)ADDBX,[00FFH]直接寻址

(3)MOVAX,[BX+10H]相对寄存器间接寻址(基址寻址)EA=(BX)+10H

(4)ADDAX,[ESI*8]比例间址寻址EA=(ESI)*8

(5)SUB[BP][SI],AX基址加间址寻址EA=(BP)+(SI)SS为段寄存器

(6)MOVAX,[BX+DI+20H]相对基址加间址寻址EA=(BX)+(DI)+20H

DS为段寄存器

(7)CMP[SI],AX寄存器间接寻址

(8)ORAX,DX寄存器寻址

(9)MOVEAX,[ESI][EDI*2]基址加比例间址寻址EA=(ESI)+(EDI)*2

(10)PUSHDS寄存器寻址

3-7【答】:

(1)MOVAX,[1234H]直接寻址方式

EA=1234HPA=(DS)*16+EA=11234H

(2)MOVAX,TABLE直接寻址方式

EA=0100HPA=(DS)*16+EA=10100H

(3)MOVAX,[BX+100H]相对寄存器间接寻址(基址寻址)

EA=(BX)+100H=0140HPA=(DS)*16+EA=10140H

(4)MOVAX,TABLE[BP][SI]相对基址加间址寻址

EA=(BP)+(SI)+TABLE=0016H+007FH+0100H=0195HPA=(SS)*16+EA=20195H

3-8【答】:

(1)MOVDS,100立即数不能直接传送到段寄存器

改:

MOVAX,100

MOVDX,AX

(2)MOV1020H,DX立即数只能出现在源操作数位置

改:

MOVDX,1020H

(3)SUB[1000H],[SI]源操作数和目的操作数不能同时为存储单元

改:

SUBAX,[SI]

(4)PUSHALPUSH指令中的操作数必须是16位寄存器或存储单元

改:

PUSHAX

(5)INAL,[80H][80H]不是端口地址

改:

INAL,80H

(6)MOVDS,ES两个段寄存器之间不能直接传递数据

改:

MOVAX,ES

MOVDS,AX

(7)JMPBX没有错

(8)SHRDX,4移位次数大于1时,将数送入CL

改:

MOVCL,4

MOVDX,CL

(9)OUT380H,AX端口地址大于255,要用DX装端口地址

改:

MOVDX,380H

OUTDX,AX

(10)ADDAL,BX目标操作数和源操作数不能一个为字节一个为字

改:

ADDAX,BX或ADDAL,BL

(11)POPCSCS不能作目标操作数

改:

POPAX

(12)MOVCL,3300H目标操作数和源操作数不能一个为字节一个为字

改:

MOVCX,3300H

3-9【答】:

(1)(CL)=[09226H]=00F6H

(2)[1E4F6H]=5678H

(3)(BX)=0056H(AX)=[09228H]=1E40H

(4)[SI]=[09226UH]=00F6H

(5)(AX)=5678H[09226H]=1234H

3-10【答】:

(1)(AL)=40HSF=0PF=0ZF=0

(2)(AL)=0DEHSF=1PF=1ZF=0

(3)(AL)=9EHSF=1PF=0ZF=0

(4)[DATA]=0A50H

(5)(AL)=04HSF=0PF=0ZF=0

(6)(AL)=0C5HSF=1PF=1ZF=0

(7)(AL)=3BHSF=0PF=0ZF=0

(8)(AL)=0C4HSF=1PF=0ZF=0

3-11【答】:

(IP)=009AH(CS)=2000H

(SP)=0F178H[SP]=F8H[SP+1]=3DH[SP+2]=05H[SP+3]=04H

3-12【答】:

(1)OF=0SF=0ZF=1AF=1PF=1CF=1

(2)OF=0SF=0ZF=0AF=0PF=0CF=0

(3)OF=1SF=0ZF=0AF=0PF=0CF=0

(4)OF=1SF=0ZF=0AF=0PF=0CF=1

4-4【答】:

变量用来定义存放在存储单元中的数据。

有三重属性:

段属性、偏移地址属性、类型属性。

4-6【答】:

标号是指指令语句所在地址的符号表示。

有三重属性:

段属性、偏移地址属性、距离属性。

4-15【答】:

DATASEGMENT

MBUFDB12H,34H,56H,78H,90H

COUNTEQU$-MBUF

ORG0020H

NBUFDBCOUNTDUP(0)

DATAENDS

STACK1SEGMENTSTACK

DW20DUP(?

STACK1ENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

STACK1

START:

MOVAX,DATA

MOVDS,AX

MOVBX,OFFSETMBUF

ADDBX,COUNT-1

MOVSI,OFFSETNBUF

MOVCX,COUNT

SAVE:

MOVAL,[BX]

MOV[SI],AL

DECBX

INCSI

DECCX

JNZSAVE

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

 

4-16【答】:

DATASEGMENT

XXDB2,0,-2

COUNTEQU$-XX

ORG0020H

YYDB?

?

?

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

;MOVBX,OFFSETXX

LEABX,XX

MOVSI,OFFSETYY

MOVCX,COUNT

ACUL:

MOVAL,[BX]

CMPAL,1

JGEBIGR

CMPAL,-1

JLELOWER

MOVAL,0

JMPSAVE

BIGR:

MOVAL,1

JMPSAVE

LOWER:

MOVAL,-1

SAVE:

MOV[SI],AL

INCBX

INCSI

DECCX

JNZACUL

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

 

4-17【答】:

DATASEGMENT

RAMDATADB1,-1,2,-2,3,-3,4,5,-4,6,7,-5,-6,-7,8,9

COUNTEQU$-RAMDATA

POSBUFDBCOUNTDUP(0)

NEGBUFDBCOUNTDUP(0)

POSNUMDB0

NEGNUMDB0

DATAENDS

STACK1SEGMENTSTACK

DW20DUP(?

STACK1ENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

STACK1

START:

MOVAX,DATA

MOVDS,AX

LEABX,RAMDATA

MOVSI,OFFSETPOSBUF

MOVDI,OFFSETNEGBUF

MOVCX,COUNT

LOP:

MOVAL,[BX]

TESTAL,80H

JSNEGATIVE

CMPAL,0

JGPOSITIVE

JMPGOLOP

NEGATIVE:

MOV[DI],AL

INCDI

INCNEGNUM

JMPGOLOP

POSITIVE:

MOV[SI],AL

INCSI

INCPOSNUM

JMPGOLOP

GOLOP:

INCBX

DECCX

JNZLOP

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

 

4-19【答】:

DATASEGMENT

BLOCKDB1,-1,2,-2,3,-3,4,5,-20,6,7,-5,-6,-7,8,9

COUNTEQU$-BLOCK

MAXDB0

DATAENDS

STACK1SEGMENTSTACK

DW20DUP(?

STACK1ENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

STACK1

START:

MOVAX,DATA

MOVDS,AX

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

LEABX,BLOCK

MOVCX,COUNT

LOP:

MOVAL,[BX]

TESTAL,80H;X^+1=Y=>X=(Y-1)^^--NOT

JSABSPRO;ifSF==1

JMPSEARCH

ABSPRO:

SUBAL,1

NOTAL

ANDAL,7FH

SEARCH:

CMPAL,MAX

JGBIGR

JMPGOLOP

BIGR:

XCHGMAX,AL

GOLOP:

INCBX

DECCX

JNZLOP

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

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

 

5-2【答】:

性能指标:

1、存储容量:

存储器所能容纳的二进制信息总量;

2、存取速度

3、可靠性

4、功耗

5-5【答】:

1、线选法。

优点:

不需要外加逻辑电路;缺点:

把地址空间分成了相互隔离的区域。

2、部分译码法:

高位地址的部分地址线经过译码产生片选信号。

存在地址重叠现象。

3、全译码法:

存储芯片内寻址以外的系统的全部高位地址线都参与译码产生片选信号。

优点:

芯片的地址范围不仅是唯一确定的,而且是连续的。

缺点:

对译码电路要求较高。

5-7【答】:

6-1【答】:

中断:

是指CPU在执行程序的过程中,由于某种外部或内部事件的作用,强迫CPU停止当前正在执行的程序,转去为该事件服务,待事件服务结束后,能自动地返回到被中断的程序中继续执行。

中断系统的功能:

1、设置中断源

2、中断源识别

3、中断源判优

4、中断与返回

6-3【答】:

中断处理过程:

1、中断请求

2、中断响应

3、中断处理

4、中断返回

6-5【答】:

IF用来控制INTR和单步中断。

IF=1允许中断IF=0不允许中断STI:

IF=1CLI:

IF=0

6-10【答】:

中断向量表存放中断向量,即中断服务程序的段基址+偏移地址。

中断向量表建立在内存最低端的1KBRAM区,地址范围:

000H—3FFH。

写入方法:

1、用传送指令直接装入

2、DOS功能调用:

INT21H

(AH)=25H

(AL)=中断类型号

(DS:

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

读出方法:

1、用传送指令直接读

2、DOS功能调用:

INT21H

(AH)=35H

(AL)=中断类型号

出口参数:

(ES:

BX)=中断服务程序的入口地址

6-14【答】:

8259A中断结束方式:

1、自动结束方式

自动结束方式是利用中断响应信号INTA的第二个负脉冲的后沿将ISR中的中断服务标志位清除,是在中断过程中完成的,并非中断服务程序的真正结束。

只适合适用在无多级中断嵌套的场合。

2、普通结束方式

通过向8259A传送一个普通EOI命令来清除ISR中当前优先权级别最高位,适合使用在完全嵌套方式下的中断结束。

3、特殊结束方式

通过向8259A传送一个普通EOI命令来清除ISR中的指定位。

适合使用在完全嵌套方式下的中断结束,更适合用于嵌套结构有可能遭到破坏的中断结束。

6-18【答】:

初始化程序:

MOVAL,00011011B;电平触发、单片、写ICW4

OUT80H,AL;写ICW1

MOVAL,01000000B;中断类型号40H,则IR2为42H

OUT81H,AL;写ICW2

MOVAL,00000001B;完全嵌套、非自动结束、8086模式

OUT81H,AL;写ICW4

6-19【答】:

主片初始化程序:

MOVAL,00010001B;边沿触发、主片、写ICW4

OUT80H,AL;写ICW1

MOVAL,01110000B;中断类型号70H,则IR2为42H

OUT81H,AL;写ICW2

MOVAL,00000100

OUT81H,AL;写ICW3

MOVAL,00010001B;完全嵌套、非自动结束、8086模式

OUT81H,AL;写ICW4

从片初始化程序:

MOVAL,00010001B;边沿触发、从片、写ICW4

OUT20H,AL;写ICW1

MOVAL,01000000B;中断类型号40H,则IR2为42H

OUT21H,AL;写ICW2

MOVAL,00000010

OUT21H,AL;写ICW3

MOVAL,00000001B;完全嵌套、非自动结束、8086模式

OUT21H,AL;写ICW4

7-7【答】:

设8255的地址:

400H-403H

子程序:

LEDOUTPROC

MOVAL,90H;A口方式0输入B口方式0输出

MOVDX,403H

OUTDX,AL

MOVDX,400H

INAL,DX;读取A口开关状态

INCDX

NOTAL

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

RET

LEDOUTENDP

7-10【答】:

端口地址:

FFA0H-FFA3H

计数器1的控制字:

01110110B=76H计数常数=2.5M/500=5000

初始化程序:

MOVAL,76H

MOVDX,0FFA3H

OUTDX,AL

MOVAX,5000

MOVDX,0FFA1H

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

MOVAL,AH

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

7-11【答】:

设8254端口地址:

40H-43H

计数器0的控制字:

00110000B=30H计数常数=1000

初始化程序:

MOVAL,30H

OUT43H,AL

MOVAX,1000

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

MOVAL,AH

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

7-12【答】:

设8254端口地址:

38H-3BH

计数器0的控制字:

00110110B=36H计数常数=1000

初始化程序:

MOVAL,36H

OUT3BH,AL

MOVAX,1000

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

MOVAL,AH

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

7-19【答】:

设8250端口地址:

38FH-3FEHXTAL1=1.8432MHz,BAUD=2400

除数寄存器=1.8432M/(2400*16)=48=30H3F8H

线路控制寄存器:

10011111B=9FH3FBH

中断允许寄存器:

00000001B=01H3F9H

初始化程序:

MO

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1