微机组成原理习题集带答案五.docx

上传人:b****2 文档编号:126392 上传时间:2023-04-28 格式:DOCX 页数:51 大小:529.88KB
下载 相关 举报
微机组成原理习题集带答案五.docx_第1页
第1页 / 共51页
微机组成原理习题集带答案五.docx_第2页
第2页 / 共51页
微机组成原理习题集带答案五.docx_第3页
第3页 / 共51页
微机组成原理习题集带答案五.docx_第4页
第4页 / 共51页
微机组成原理习题集带答案五.docx_第5页
第5页 / 共51页
微机组成原理习题集带答案五.docx_第6页
第6页 / 共51页
微机组成原理习题集带答案五.docx_第7页
第7页 / 共51页
微机组成原理习题集带答案五.docx_第8页
第8页 / 共51页
微机组成原理习题集带答案五.docx_第9页
第9页 / 共51页
微机组成原理习题集带答案五.docx_第10页
第10页 / 共51页
微机组成原理习题集带答案五.docx_第11页
第11页 / 共51页
微机组成原理习题集带答案五.docx_第12页
第12页 / 共51页
微机组成原理习题集带答案五.docx_第13页
第13页 / 共51页
微机组成原理习题集带答案五.docx_第14页
第14页 / 共51页
微机组成原理习题集带答案五.docx_第15页
第15页 / 共51页
微机组成原理习题集带答案五.docx_第16页
第16页 / 共51页
微机组成原理习题集带答案五.docx_第17页
第17页 / 共51页
微机组成原理习题集带答案五.docx_第18页
第18页 / 共51页
微机组成原理习题集带答案五.docx_第19页
第19页 / 共51页
微机组成原理习题集带答案五.docx_第20页
第20页 / 共51页
亲,该文档总共51页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

微机组成原理习题集带答案五.docx

《微机组成原理习题集带答案五.docx》由会员分享,可在线阅读,更多相关《微机组成原理习题集带答案五.docx(51页珍藏版)》请在冰点文库上搜索。

微机组成原理习题集带答案五.docx

微机组成原理习题集带答案五

微机组成原理练习试题带答案

七、程序题

1.编制程序段,要求实现:

将0404H单元开始的256单元清零。

(6分)

答:

CLD;清方向标志

LEADI,0404H;DI指向字串地址

MOVCX,256;共256个字节

XORAX,AX;AX清零

REPSTOSB

HLT

2.程序分析题。

现有下列程序段:

(6分)

MOVSP,2000H

  MOVAX,3000H

MOVBX,5000H

  :

  PUSHAX

  PUSHBX

  POPAX

  试回答:

上述程序段执行后SP=___1FFEH______

(AX)=_____5000H______,(BX)=_____5000H______

3.程序分析题。

现有下列程序段:

(6分)

  MOVAX,6540H

  MOVDX,3210H

  MOVCL,04

  SHLDX,CL;DX=2100H

  MOVBL,AH;BL=65H

  SHLAX,CL;AX=5400H

  SHRBL,CL;BL=06H

  ORDL,BL;DL=06H,故DX=2106H

  试问上述程序段运行后,

  (AX)=__5400H___________

  (BL)=____06H_________

  (DX)=_____2106H________

4.请完成如下程序段,使它完成求|AX-BX|,结果放在AX的功能。

CMPAX,BX(1分)

JCAA(1分)

SUBAX,BX

JMPAA1(2分)

AA:

SUBBX(1分),AX(1分)

MOVAX,BX

AA1:

HLT

 

5.要求从外设71号中取一个数M,判断其值是否在10和20之间,即10≤M<20.如果M≥20H,则送0FFH给外设73H;如果M<10,则送00H给外设73H;如果10≤M<20,则送88H给外设73H.

要求编写完整源程序实现上述功能(9分)

答:

程序如下:

;---------程序段定义,不可省略

C1SEGMENT

START:

INAL,71H

CLC

CMPAL,10

JCLP1

CMPAL,20

JCLP2

MOVBL,0FFH

LP3:

MOVAL,BL

OUT73H,AL

INT21H

MOVAH,4CH

LP1:

MOVBL,00

JMPLP3

LP2:

MOVBL,88H

JMPLP3

C1ENDS

ENDSTART

6.编一程序段,要求实现:

求两个多字节数之和,这两个数在10050H地址开始的内存单元中,连续存放,低位在小地址一端,结果放在这两个数之后。

设这两个多字节数均为8个字节。

(8分)

答:

MOVAX,1000H

MOVDS,AX

MOVSI,50H

MOVDI,58H

MOVBX,60H

MOVCX,4

CLC

AA:

MOVAX,[SI]

ADCAX,[DI]

MOV[BX],AX

PUSHF

ADDSI,2

ADDDI,2

ADDBX,2

POPF

LOOPAA

HLT

7.要求编写完整源程序实现:

求1+2+3+····+100的和,并将累加和保存在AX中。

(7分)

答:

程序如下:

;------堆栈段定义,本段定义可省略

S1SEGMENTSTACK

DB100DUP(0)

S1ENDS

;---------程序段定义,不可省略

C1SEGMENT

ASSUME:

CS:

C1,SS:

S1

START:

MOVCX,64H;即将100给CX

XORAX,AX

CLC

A1:

ADCAX,CX

LOOPA1

MOVAH,4CH

INT21H

C1ENDS

ENDSTART

8. 以NUM为首址的存储区中存有若干个字型数,其长度存于NUM1字节单元。

求出数据中的最大值,存入NUM2字单元。

MOVSI,OFFSETNUM

MOVCX,NUM1

AA2:

MOVAX,[SI]

AA3:

INCSI

CMPAX,[SI]

JCAA2

LOOPAA2

HLT

9.设AX寄存器中有一个16位二进制数,编一程序,统计AX中“1”的个数,统计结果送CX中

解答:

START:

MOVCX,0

LOOP:

SUBAX,0

JZSTP

SALAX,1

JNCNOD

INCCX

NOD:

JMPLOOP

STP:

HLT

10.编一程序段,完成符号函数(-128≤x≤127):

1(x.>0)

y=0(x=0)

-1(x<0)

假设x的值存放在DATAl中,y的值存放在DATA2中。

解答:

START:

MOVAL,DATA1

ANDAL,AL

JGEBIGR

MOVAL,0FFH

MOVDATA2.AL

HLT

BIGR:

JEEQUL

MOVAL,1

MOVDATA2,AL

HLT

EQUL:

MOVDATA2,AL

HLT

 

9-1.编一程序段,实现下列功能

MOVAX,X

CMPAX,0

JGEAA1

MOVBL,0AH

JMPAA3

AA1:

JZAA2

MOVAL,01H

JMPAA3

AA2:

MOVAL,0H

AA3:

MOVY,AL

HLT

 

11.假设在数据段X_SEG、附加段Y_SEG和堆栈段Z_SEG中分别定义了字变量X,Y和Z。

试编制一完整的程序计算

XX+Y+Z

答:

X-SEGSEGMENT

XDW?

X-SEGENDS

Z-SEGSEGMENT

ZDW?

Z-SEGEMDS

Y-SEGSEGMENT

YDW?

Y-SEGENDS

CODESEGMENT

MAINPROCFAR

ASSUMEES:

Y-SEG,CS:

CODE,DS:

X-SEG,SS:

Z-SEG

STARTPUSHDS

SUBAXAX

PUSHAX

MOVAX,Y_SEG

MOVES,AX

MOVAX,Z_SEG

MOVSS,AX

MOVAX,X_SEG

MOVDS,AX

MOVAX,DS:

X

MOVBX,ES:

Y

ADDAXBX

JOOVERFLOW

MOVBX,SS:

Z

ADDAX,BX

JOOVERFLOW

MOVDS:

X,AX

OVERFLOW:

RET

MAINENDP

CODEENDS

ENDSTART

12.读下面程序段,请问:

在什么情况下,本段程序的执行结果是AH=0?

BEGIN:

INAL,5FH

TESTAL,80H

JZBRCHl

MOVAH,0

JMPSTOP

BRCHl:

MOVAH,0FFH

STOP:

HLT

解答:

AL中的最高位为1时。

13.读程序:

START:

INAL,20H

MOVBL,AL

INAL,30H

MOVCL,AL

MOVAX,0

ADLOP:

ADDAL,BL

ADCAH,0

DECCL

JNZADLOP

HLT

请问:

(1)本程序实现什么功能?

(2)结果在哪里?

解答:

完成20H*30H,结果在AX中。

14.请编一程序段完成AX*l0的任务(要求不准用乘法指令做)。

解答:

MOVBX,AX

MOVCL2

SHLAX,CL

ADDAX,BX

SHLAX,1

15.编程序使:

(1)AX寄存器低4位清零。

(2)BX寄存器低4位置“1”。

(3)CX寄存器低4位变反。

(4)用TEST指令测试DL寄存器位3、位6是否同时为0,若是,将0送DL;否则l送DH。

解答:

1,ANDAX,0FFF0H

2,ORBX,000FH

3,XORCX,000FH

4,TESTDL,48H

JZLOOP

MOVDH,1

HLT

LOOP:

MOVDL,0

HLT

 

10.设一子程序求两个多字节数FIRST与SECOND之和,结果放在THIRD中,设这两个多字节数均为4个字节长

答:

ADDSUBPROC

PUSHF

PUSHAX

PUSHBX

PUSHCX

PUSHSI

PUSHDI

LEASI,FIRST

LEADI,SECOND

LEABX,THIRD

MOVCX,2

CLC

AA2:

MOVAX,[SI]

ADCAX,[DI]

MOV[BX],AX

PUSHF

ADDSI,2

ADDDI,2

ADDBX,2

POPF

LOOPAA2

POPDI

POPSI

POPCX

POPBX

POPAX

POPF

RET

ADDSUBENDP

八、接口芯片的综合编程题

(一)8255A

1.若要求从8255A的A端口输出数据82H,请编写8255A的初始化程序和数据输出程序。

现已知A口地址为80H,B口地址为81H,C口地址为82H,控制字寄存器地址为83H,8255A的方式控制字各位的含义如下表:

D7

D6

D5

D4

D3

D2

D1

D0

1

00:

端口A工作于方式0

01:

端口A工作于方式1

10、11:

端口A工作于方式2

0:

端口A输出

1:

端口A输入

0:

C4~C7输出

1:

C4~C7输入

0:

端口B工作于方式0

1:

端口B工作于方式1

0:

端口B输出

1:

端口B输入

0:

C0~C3输出

1:

C0~C3输入

答:

参考程序如下:

MOVAL,10000000B;置工作方式字,只要求了A是输出,其它任意,故都选用基本

;工作方式

OUT83H,AL;输出工作方式控制字到控制端口地址

MOVAL,82H;将要输出的数值先给AL;

OUT80H,AL;将数值送到A端口,其地址号为80H

2:

若A口方式2要求发两个中断允许,即PC4和PC6均需置位。

B口方式1要求使PC2置位来开放中断。

,8255的端口地址为60--63H,请写出其初始化程序。

答:

参考程序如下:

MOVAL,0C4H

OUT63H,AL  ;设置工作方式

MOVAL,09H;PC4的置位控制字为00001001,即09H

OUT63H,AL  ;PC4置位,A口输入允许中断

MOVAL,0DH;PC6的置位控制字为00001101,即0DH

OUT63H,AL  ;PC6置位,A口输出允许中断

MOVAL,05H;;PC2的置位控制字为00000101,即05H

OUT63H,AL  ;PC2置位;B口输出允许中断

3某系统要求使用8255A的A口方式0输入,B口方式0输出,C口高4位方式0输出,C口低4位方式0输入,8255的端口地址为60--63H。

请写出其初始化程序。

则控制字为:

10010001即91H

初始化程序为:

MOVAL,91H

OUT63H,AL

4:

若8255端口A工作于方式0输出,端口B工作于方式1输入,用PC2置位来自动开启STB选通信号,;请写其初始化程序!

答:

初始化8255A:

MOVDX,8255_CTRL;8255A控制端口地址送DX

MOVAL,86H;把所设的控制字送给AL

OUTDX,AL;再将控制字从AL送到8255的控制端口;

MOVAL,05H;把PC2置位的控制字00000101,即05H送给AL

MOVDX,AL;置PC2=1,允许中断

5:

设8255A的控制口地址为00EEH,要求对端口C的PC7置1,则控制字00001111B=0FH,要求对端口C的PC3置0,控制字为00000110B=06H。

下面的程序可以实现上述要求:

MOVAL,0FH;对PC7置1的控制字

MOVDX,00EEH;控制口地址送DX

OUTDX,AL;对PC7置1操作

MOVAL,06H;对PC3置0的控制字

OUTDX,AL;对PC3进行置0的操作

6.编一初始化程序,使8255A的PC5端输出一个负跳变。

如果要求PC5端输出一个负脉冲则初始化程序又是什么情况?

解答:

初始化程序:

MOVAL,0BH;PC5置“1”控制字→AL

MOVDX,××××××11B;控制口地址→DX

OUTDX,AL;置“1”控制字→控制寄存器

MOVAL,0AH;PC5置“0”控制字→AL

OUTDX,AL;置“0”控制字→控制寄存器

如果要求PC5输入一个负脉冲则再加两条指令

MOVAL,0BH

OUTDX,AL

7.设8255A与8086CPU相连,8255A芯片A口工作在方式1输出,B口工作在方式0输入,禁止A口中断,8255A芯片A口、B口、C口、控制口地址分别为FFF8H、FFFAH、FFFCH、FFFEH,请写出初始化程序。

答:

本题没有告诉C口高4位与低4位的出入补充为C口高4位与低4位均为输出,则其控制字为10100010B=0A2H

初始化程序为:

MOVAL,0A2H

MOVDX,0FFFEH

OUTDX,AL

 

8.设8255端口地址为50H~56H中的偶地址,并设端口A工作在方式0输入,端口B工作在方式1输出,允许B口中断,端口C输出,对8255初始化编程。

其控制字为:

10010100B=0A4H

初始化程序为:

MOVAL,0A4H

OUT56H,AL

补充题:

假设8255A工作于方式0,且端口A和端口C的高4位输出,端口B和端口C低4位输入,设置该8255A的方式选择控制字,并进行初始化编程。

并写出从8255A的A端口输出数据7FH的数据输出程序语句。

已知A口地址为60H,B口地址为61H,C口地址为62H,控制字寄存器地址为63H,8255A的方式控制字各位的含义如下表:

(本题10分)

(二)8259A

1.某系统中设置三片8259A级联使用,一片为主8259A;两片为从8259A;它们分别接入主8259A的IR2和IR6端。

若已知当前主8259A和从8259A的IR3上各接有一个外部中断源,它们的中断类型码分别为A0H,B0H和C0H,已知它们的中断入口均在同一段中,其段基址为2050H,偏移地址分别为11A0H,22B0H和33C0H,所有中断都采用电平触发方式、完全嵌套、普通EOI结束,请

(1)画出它们的硬件连接图;

(2)编写全部初始化程序。

解答:

初始化程序:

START:

MOVAL,19H

MOVDX,偶地址(主)

OUTDX,AL

MOVAL,0A0H

MOVDX,奇地址(主)

OUTDX,AL

MOVAL,44H

OUTDX,AL

MOVAL,11H

OUTDX,AL

MOVAL,11H

OUTDX,AL

MOVAL,0B3H

OUTDX,AL

MOVAL,22H

MOVDX,偶地址(主)

OUTDX,AL

MOVAL,19H

MOVDX,偶地址(从1)

OUTDX,AL

MOVAL,0B0H

MOVDX,奇地址(从1)

OUTDX,AL

MOVAL,02H

OUTDX,AL

MOVAL,11H

OUTDX,AL

MOVAL,0F7H

OUTDX,AL

MOVDX,偶地址(从1)

MOVAL,22H

OUTDX,AL

从2:

MOVAL,19H

MOVDX,偶地址(从2)

OUTDX,AL

MOVAL,0C0H

MOVDX,奇地址(从2)

OUTDX,AL

MOVAL,06H

OUTDX,AL

MOVAL,11H

OUTDX,AL

MOVAL,0F7H

OUTDX,AL

MOVDX,偶地址(主)

MOVAL,22H

OUTDX,AL

STI

HH:

HLT

JMP11H

 

2.编一系统初始化程序,由8259A的IR0~IR4共五个中断源,中断类型码为4BH,4CH,4DH,4EH,4FH。

8259A端口地址为80H、81H。

允许它们以完全嵌套方式工作。

解答:

STT:

MOVAL,11H

MOVDX,80H

OUTDX,AL

MOVAL,4BH

MOVDX,81H

OUTDX,AL

MOVAL,01H

OUTDX,AL

MOVAL,0D0H

OUTDX,AL

MOVAL,20H

MOVDX,80H

OUTDX,AL

HLT

 

 

(三).其它端口编程题

1.设状态端口地址为76H,数据端口地址为75H,外部设备是否准备好信息由D7位传送,D7=1为准备好,D7=0为未准备好(忙),请用查询方式写出:

CPU向外部传送数据的程序段。

(8分)

答:

LOP1:

INAL,76H

TESTAL,10H

JZLOP1;测试语句准确(4分)

MOVAL,DATA

OUT75H,AL;输出语句准确(4分)

HLT

微机组成原理练习试题带答案

一、选择题(单选或多选,每小题1分,共5分)

1.指令指针寄存器(EIP)中存放的是___D_____。

A.当前指令B.下一条要执行的指令

C.操作数地址D.下一条要执行指令的地址

2.MOVAX,[BX+SI]的源操作数的物理地址是___A_____。

A.(DS)×16+(BX)+(SI)B.(ES)×16+(BX)+(SI)

C.(SS)×16+(BX)+(SI)D.(CS)×16+(BX)+(SI)

3.对于下列程序段:

AGAIN:

MOVAL,[SI]

MOVES:

[DI],AL

INCSI

INCDI

LOOPAGAIN

也可用指令____.A____完成同样的功能。

A.REPMOVSBB.REPLODSB

C.REPSTOSBD.REPESCASB

注:

1.命题纸上一般不留答题位置,试题请用小四、宋体打印且不出框。

2.命题教师和审题教师姓名应在试卷存档时填写。

共4页第1页

绩西北工业大学命题专用纸

4.将累加器AX的内容清零的正确指令是_____A,B,C___。

A.ANDAX,0B.XORAX,AX

C.SUBAX,AXD.CMPAX,AX

5.可作简单输入接口的电路是____.A___。

A.三态缓冲器B.锁存器

C.反相器D.译码器

6.计算机中常用的BCD码C

A.是二进制数B.是十六进制数

C.是二进制编码的十进制数D.是不带符号数的二进制形式

7.将字变量ARRAY的偏移地址送寄存器BX的正确结果是___A_C___。

A.LEABX,ARRAYB.MOVBX,ARRAY

C.MOVBX,OFFSETARRAYD.MOVBX,SEGARRAY

8.将累加器AX的内容清零的正确指令是___A、B、C_____。

A.ANDAX,0B.XORAX,AX

C.SUBAX,AXD.CMPAX,AX

9.在汇编过程中不产生指令码,只用来指示汇编程序如何汇编的指令是___C__。

A.汇编指令B.机器指令

C.伪指令D.宏指令

10和外存相比,内存的特点是___A_____。

A.容量小、速度快、成本高B.容量小、速度快、成本低

C.容量大、速度快、成本高D.容量大、速度快、成本低

11.可作简单输入接口的电路是__A_____。

A.三态缓冲器B.锁存器

C.反相器D.译码器

12,.对于掉电的处理,CPU是通过____C____来处理的。

A.软件中断B.可屏蔽中断

C.非屏蔽中断D.DMA

13,已知中断类型号为14H,它的中断向量存放在存储器的向量单元___A、C_____中。

A.00050H,00051H,00052H,00053H

B.00056H,00057H,00058H,00059H

C.0000:

0050H,0000:

0051H,0000:

0052H,0000:

0053H

D.0000:

0056H,0000:

0057H,0000:

0058H,0000:

0059H

14.一个8位D/A转换器的分辨能力可以达到满量程的___B____。

A.1/8B.1/256

C.1/16D.1/32

15.关于ADC0809,下列哪些说法正确:

B、C

A.只能接一个模拟量输入

B.可以接8个模拟量输入

C.某时刻只对一个模拟量采样

D.同时对8个模拟量采样

二、填空题(每空1分,共25分)

1.已知X=68,Y=12,若用8位二进制数表示,则[X+Y]补=_01010000B________,此时,OF=___0________;[X-Y]补=___00111000B_____。

2.80486CPU的分页部件把____线性_______地址变为_____物理______地址。

3.80486CPU的工作方式有___实方式______保护方式____虚拟8086方式________。

4.串操作指令规定源串在_____数据____段中,用____(E)SI_____来寻址源操作数;目的串在_____附加___段中,用_____(E)DI_____来寻址目的操作数。

5.以CX寄存器内容为计数对象的指令有____循环控制指令、串操作重复指令_。

6.输入/输出指令间接寻址必须通过___DX_____寄存器。

7.80486直接可以访问的内存空间是__4G___B,它的一段最大空间是__4G___B,一页空间是__4K___B。

8.CPU与外设传送数据时,输入/输出方式有____程序控制传送方式____,____中断控制传送方式______,___DMA方式________,_____I/O处理机方式______。

9.硬件中断可分为__可屏蔽中断_______和____非屏蔽中断_____两种。

10.8259A有____7_个命令字,3片8259A接成级联可管理____22___级中断。

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

当前位置:首页 > 人文社科

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2