微机原理期末试题卷答案.docx

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

微机原理期末试题卷答案.docx

《微机原理期末试题卷答案.docx》由会员分享,可在线阅读,更多相关《微机原理期末试题卷答案.docx(42页珍藏版)》请在冰点文库上搜索。

微机原理期末试题卷答案.docx

微机原理期末试题卷答案

云南大学2009至2010学年上学期物理学院物理系各专业2007级

《微机原理》期末考试(闭卷)A卷

满分100分考试时间120分钟任课教师:

陈永康、杨先楚

学院专业学号姓名

题号

总分

得分

30

18

12

8

20

12

得分

一、计算并填写结果:

(除标明分数的题外,每空1.2分,共30分)

1、通常所说的CPU一般包括运算器、控制器和寄存器组。

2、调用DOS软件中断的要点是:

首先根据要调用的功能确定子功能号并存入寄存器AH中,然后设置各个入口参数的寄存器,再通过INT21H指令调用该DOS中断功能,最后如果有出口参数的还要处理出口参数。

3、8086CPU是一个16位的微处理器,具有16位数据总线,20位地址总线,可寻址空间为1M字节。

4、指令一般都由操作码和操作数来构成,指令MOVAL,6[BX][DI]的源操作数的寻址方式

是基址变址相对寻址。

5、数制转换(小数部分保留位数:

二进制8位,16进制2为,7进制3位):

[124.719]10=[1111100.10111000]2=[7C.B8]16=[235.5014]7

=[000100100100.011100011001]BCD

6、八位二进制代码转换:

[-104]10=[11101000]原=[10010111]反=[10011000]补

设(SS)=4000H,(DS)=3E00H,(ES)=3800H,(BP)=0800H,(SP)=010EH,(AX)=7AE4H,(BX)=2912H,(DI)=0003H,BUF=0111H,(4090EH)=0FH,(4090FH)=75H,(40910H)=93H,(40911H)=22H,下列7-11题的各条指令都分别在此环境下执行,请在下列各小题的空格中填入执行结果:

7、ADDAH,[BP+BUF];(AH)=9CH

8、SHRBYTEPTR[BX-DI],1;CF=1,(4090FH)=3AH

9、POPAX;(SP)=0110H

10、XORAL,28H

ANDAL,0ACH

NOTAL

上述程序段运行后,AL=73H

11、CMPAL,0E4H

JCLIN1

JZLIN2

JNBLIN3;转向地址为:

LIN2

 

12、模拟运算器,用一字节补码加法实现十进制数-67-79=?

的计算。

(6分)

[-67]补=110111101

+[-79]补=110110001

101101110

其二进制补码加法算式为:

CF=1,SF=0,

ZF=0,OF=1,

PF=0,AF=0

得分

二、程序阅读与分析。

(每小题3分,共18分)

1、SHLBX,1

JCONE

MOVDL,’0’

JMPNEXT

ONE:

MOVDL,’1’

NEXT:

MOVAH,2

INT21H

上述程序段实现的完整功能是:

在显示器上显示BX的最高位,0或者1

2、MOVAX,BX

NOTAX

ADDAX,BX;AX=0FFFFH

INCAX

AX=0000HCF=___0____

XORBL,0CH

上述程序段运行后,BL=H

 

4、MOVBL,02H

MOVAL,07H

MULBL;AX=_000E_H

AAM

AH=__01__H,AL=___04___H

 

3、SALAL,1

MOVBL,AL

MOVCL,2

SALAL,CL

ADDAL,BL

回答:

程序实现的完整功能是

将AL中的内容乘10

 

6、MOVCH,4

ROTATE:

MOVCL,4

ROLBX,CL

MOVAL,BL

ANDAL,0FH

ADDAL,30H

CMPAL,3AH

JLPRINTIT

ADDAL,7H

PRINTIT:

MOVDL,AL

MOVAH,2

INT21H

DECCH

JNZROTATE

若(BX)=1000101110101111B,程序段的功能及执行结果为:

把BX中的二进制数以十六进制的形式显示在屏幕上。

显示结果为8BAF

 

5、设寄存器AL,BL,CL中内容均

为1CH,执行上述指令序列后,

XORAL,0FH

ANDBL,0FH

ORCL,0FH

AL=13H,BL=0CH,

CL=1FH。

 

得分

三、在空白处添上适当的指令,使下面的程序段能实现既定功能:

(每空2分,共12分)

1、把DA1数据区的非压缩BCD码依次转换为对应的ASCII码,存放在ASC开始的数据区。

DA1DB03H,01H,09H,08H,04H,07H,06H,02H,00H,09H

CNTEQUASC-DA1

ASCDB10DUP(?

LEASI,DA1;初始化

LEADI,ASC

_MOVCX,CNT

L1:

MOVAL,[SI];实现转换

ADDAL,30H

MOV[DI],AL

INCSI

INCDI

_LOOPL1

2、以BUF为首址的字节单元中,存放了COUNT个无符号数,下面程序段是找出其中最大数并送入MAX单元中。

DATASEGMENT

BUFDB5,6,7,58H,13H…….

COUNTEQU$-BUF

MAXDB?

DATAENDS

MOVBX,OFFSETBUF;初始化

MOVCX,OUNT-1

MOVAL,[BX]

LOP1:

INCBX;完成最大数查找

__CMPAL,[BX]_

JAENEXT

MOVAL,[BX]

NEXT:

DECCX

__JNZLOP1_

MOVMAX,AL

得分

000E

00H

000D

00H

000C

00H

000B

00H

000A

‘?

0009

‘?

0008

‘$’

0007

‘:

0006

‘O’

0005

‘N’

0004

20H

0003

ADH

0002

98H

0001

0A3H

DATA1:

0000

‘A’

四、根据下面的数据段定义,填写数据区的存储分配图

给出各变量对应的偏移地址与初始值:

(8分)

DATASEGMENT

VAR1DB‘A’,0A3H,98H

VAR2DW20ADH

MISSDB‘NO:

$’

COUNEQU$-MISS

SUMDW?

CCDB4DUP(0)

DATAENDS

VAR1的偏移地址=0000H,初始值=‘A’,

VAR2的偏移地址=0003H,初始值=20ADH,

SUM的偏移地址=0009H,CC的偏移地址=000BH,

MISS的偏移地址=0005H,COUN=0004H

得分

五、论述与问答题:

(共20分,第1、2题为必做题,其余为选做题,选做第6题的不做3、4、5题,反之亦然)

1、画出冯.诺依曼结构图;给出计算机结构的三大要点;简述其基本工作原理:

(5分)

输入设备

存储器

输出设备

控制器

运算器

CPU

数据路径

控制路径

1、计算机由运算器、控制器、存储器、输入设备和输出设备五部分组成;

2、程序和数据以二进制形式不加区分地依次存放在存储器中,存放位置由地址确定;

3、控制器根据存放在存储器中的指令序列(即程序)工作,并由一个程序计数器(PC)控制指令的执行。

控制器主要由指令计数器PC、指令译码器、PAL等组成;通过pc控制,自动、周而复始地完成取指、译码、执行的周期过程,从而实现对存放在存储器中的指令代码V的顺序自动执行控制。

2、比照高级语言编程来讨论汇编语言编程,总结归纳出两者之间三个以上的不同点或共同点(要是独立点,有对照,描述清楚)。

(3分)

答题要点:

1、完成一个具体功能模块的算法,两者是相同的。

2、通过定义数据区,分配存储地址来定义变量,存储地址的符号名就是高级语言中的变量。

3、寄存器可以作为临时变量使用,用完后又可以重新定义,这样可以不占用内存地址,而且执行速度快,这是高级语言不具备的。

4、汇编语言程序需要对寄存器进行分配使用,而且有一些特定用法,如乘除法的默认寄存器,循环计数器CX等。

寄存器一次定义使用未结束前不能再做另外用途,否则需要用堆栈保护。

而高级语言编程不需要。

5、汇编语言可以直接控制和检测计算机的硬件电路,最大限度的发挥硬件的功能,而且速度快、效率高,常用于硬件底层驱动程序和实时控制,这是高级语言无法做到的。

6、汇编语言可以最大限度的发挥编程的灵活性,编制出效率最高、速度最快的程序,所以常用于硬件底层驱动程序和系统核心程序,这是高级语言难于做到的。

7、......

3、(选做6题的同学不做此题)运算器在进行有符号数运算时,判断是否发生了算术溢出,一般采用哪三种方法判别?

在进行无符号数运算时,则使用什么标志判别无符号数运算是否溢出?

(4分)

答题要点:

1、采用双符号法,双符号位不一致时,发生算术溢出

2、次高位向最高位的进位与最高位向前进位不一致时,发生算术溢出

3、同号数运算前符号与结果符号不一致时,发生算术溢出

在进行无符号数运算时,使用进位标志进行判别,CY=1表示有溢出,CY=0表示没有有溢出。

4、(选做6题的同学不做此题)通过简述CPU控制执行一条指令的过程及步骤,诠释程序存储原理。

(4分)

答题要点:

机器语言、指令指针、指令地址、地址总线、存储器、数据总线、操作码、操作数、取指、译码、控制信号序列、时序、执行、结果处理、下一操作、完成启动下一指令周期

控制器主要由指令计数器PC、指令译码器、PAL等组成;通过pc控制,自动、周而复始地完成取指、译码、执行的周期过程,从而实现对存放在存储器中的指令代码的顺序自动执行控制。

5、(选做6题的同学不做此题)总线的功能和作用是什么?

它的工作原则是什么?

(4分)

答题要点:

总线是一组同类信号传送的公共数据通道,通常是同类信号并行同时传送,它按分时共用原则为多种设备分别服务

6、(选做本题的同学不做3、4、5题)编写一段程序,从键盘读入一个十六进制数(使用1号DOS功能调用,在AL中返回键盘按键的ASCII码),判断其合法性(0-9,A-F,不考虑a-f),不合法重读,合法将其转换成对应的二进制数,存放在AL中(0-F)。

参考程序:

INHEXPROC

L1:

MOVAH,01H

INT21H

SUBAL,30H

JBL1

CMPAL,9

JBEDONE

SUBAL,7H

JBL1

CMPAL,0FH

JBEDONE

JMPL1

DONE:

RET

INHEXENDP

得分

六、如果已经有以下数据区定义:

DA1SEGMENT

TXTBDB“ThisaStoryabout……”;一篇英语文章

NUMDW$-TXTB;文章字节数

CHADB‘#’;查找字符

CHBDB‘$’;替换字符

COUNDW?

DA1ENDS

编写一段程序,将这篇英语文章中的‘#’号用‘$’号进行替换,并统计替换个数,存入COUN中(能编成一个通用子程序更好)。

参考程序:

LEABX,TXTB

MOVCX,NUM

MOVDX,0

MOVAL,’#’

MOVAH,’$’

AGAIN:

CMPAL,[BX]

JNZNEXT

MOV[BX],AH

INCDX

NEXT:

INCBX

LOOPAGAIN

MOV[COUN],DX

云南大学2009至2010学年上学期物理学院物理系各专业2007级

《微机原理》期末考试(闭卷)B卷参考答案

满分100分考试时间120分钟任课教师:

陈永康、杨先楚

学院专业学号姓名

题号

总分

得分

30

18

12

8

20

12

得分

四、计算并填写结果:

(除标明分数的题外,每空1.2分,共30分)

1、8086CPU从功能上可分为EU/执行单元部件和BIU/总线接口部件两个独立的功能部件。

2、8086CPU采用引脚复用技术,即地址线和数据线是复用的。

3、每一条指令代码一般都由操作码和操作数来构成。

4、指令MOVAL,6[BX][SI]的源操作数的寻址方式是基址变址相对寻址,目的操作数寻址方式为寄存器寻址。

5、循环指令LOOPZ终止循环的条件是CX=0或者ZF=0。

6、数制转换(小数部分保留位数:

二进制8位,16、7进制3位):

[135.489]10=[10000111.01111101]2=[87.7D]16=[252.326]7

=[000100110101.010010001001]BCD

7、八位二进制代码转换:

[-126]10=[11111110]原=[10000001]反=[10000010]补

设(SS)=4000H,(DS)=3E00H,(BP)=0800H,(SP)=0110H,(AX)=7A34H,(BX)=2912H,

(DI)=0003H,BUF=0111H,(4090EH)=0FH,(4090FH)=57H,(40910H)=93H,(40911H)=20H,

下列8-10题3条指令都在此环境下执行,下列各小题的空格中填入执行结果:

8、SUBAH,[BP+BUF];(AH)=5AH

9、SHRBYTEPTR[BX-DI],1;CF=1,(4090FH)=2BH

10、POPAX;(SP)=0112H

设开始时(AL)=34H,填写11-12题的程序段执行结果:

11、XORAL,28H

ANDAL,0ACH

NOTAL

上述程序段运行后,AL=F3H

12、CMPAL,34H

JCLIN1

JZLIN2

JNBLIN3;转向地址为:

LIN2

 

13、模拟运算器,用一字节补码加法实现十进制数-78-53=?

的计算。

(6分)

[-78]补=110110010

+[-53]补=111001011

101111101

其二进制补码加法算式为:

CF=1,SF=0,

ZF=0,OF=1,

PF=1,AF=0

得分

五、程序阅读与分析。

(每小题3分,共18分)

1、MOVCX,5

MOVAX,40H

NEXT:

SUBAX,CX

LOOPNEXT

上述程序段运行后,(AX)=31H/49

2、MOVAX,0

DECAX

ADDAX,7FFFH

ADCAX,1

上述程序段运行后,(AX)=8000H

 

3、MOVSI,2040H

MOVDI,2060H

MOVCX,0AH

AGAIN:

MOVAL,[SI]

XCHGAL,[DI]

MOV[SI],AL

INCSI

INCDI

LOOPAGAIN

RET

这段程序实现的功能是:

将数据区中偏移地址为2040H开始的10个字节数据与偏移地址为2060H开始的10个字节数据对调交换

4、MOVBL,03H

MOVAL,07H

MULBL;AX=_0015_H

AAM

AH=__02__H,AL=___01___H

 

6、SUB1procnear

movbx,ax

movcx,16

l8:

shlbx,1

jcl9

movdl,'0'

jmpl10

l9:

movdl,'1'

l10:

movah,02h

int21h

loopl8

movdl,'B'

movah,02h

int21h

ret

SUB1endp

若(AX)=56E3H,调用子程序后的执行结果将BX中的内容按二进制的形式显示出来/0101011011100011B.为:

 

5、设寄存器AL,BL,CL中内容均

为68H,

XORAL,0FH

ANDBL,0FH

ORCL,0FH

执行上述指令序列后,

AL=67H,BL=08H,

CL=6FH。

 

得分

六、在空白处添上适当的指令,使下面的程序段能实现既定功能:

(每空2分,共12分)

1、下面子程序实现:

将AL中的一位16进制数(0~F)转换为相应的ASCII码并在屏幕上显示该字符。

HECAPROCFAR

CMPAL,10

JCKK

ADDAL,7

KK:

ADDAL,30H

MOVDL,Al

MOVAH,2

INT21H;功能调用显示字符

RET

HECAENDP

2、从D1开始的N个单元中存放着N个整数,统计出这些数中正数的个数并存入RS中。

DATASEGMENT

D1DB-1,-3,7,9,0AH,………

NEQU$-D1

RSDW?

DATAENDS

CODESEGMENT

LEABX,D1;初始化

MOVCX,N

MOVDX,0

NEXT:

MOVAL,[BX]

CMPAL,0

JSPP/JLPP

INCDX

PP:

INCBX

LOOPNEXT;循环

MOVRS,DX

四、根据下面的数据段定义,填写数据区的存储分配图

000E

000D

000C

000B

00H

000A

00H

0009

‘?

0008

‘?

0007

‘$’

0006

‘:

0005

‘O’

0004

‘N’

0003

FFH

0002

12H

0001

35H

DATA1:

0000

‘F’

给出各变量对应的偏移地址与初始值:

(8分)

DATASEGMENT

VAR1DB‘F’,035H

VAR2DW0FF12H

MISSDB‘NO:

$’

COUNEQU$-MISS

SUMDW?

CCDB2DUP(0)

DATAENDS

VAR1的偏移地址=0000H,初始值=‘F’,

VAR2的偏移地址=0002H,初始值=0FF12H,

SUM的偏移地址=0008H,CC的偏移地址=000AH,

MISS的偏移地址=0004H,COUN=0004H

得分

五、论述与问答题:

(共20分,第1、2小题为必做题,其余为选做题,选做第6题的不做3、4、5题,反之亦然)

1、通过简述CPU控制执行一条指令的过程及步骤,诠释程序存储原理。

(4分)

答题要点:

机器语言、指令指针、指令地址、地址总线、存储器、数据总线、操作码、操作数、取指、译码、控制信号序列、时序、执行、结果处理、下一操作、完成启动下一指令周期

控制器主要由指令计数器PC、指令译码器、PAL等组成;通过pc控制,自动、周而复始地完成取指、译码、执行的周期过程,从而实现对存放在存储器中的指令代码的顺序自动执行控制。

2、画微型计算机结构图;简述主要部件功能。

(6分)

答案要点:

中央处理单元CPU(ControlProcessingUnit)是微型计算机的核心部件,包含有运算器、控制器、寄存器组的一块大规模集成电路芯片;主存储器是微型计算机中存储程序、原始数据、中间结果和最终结果等各种信息的部件;系统总线是CPU与其他部件之间传送数据、地址和控制信息的公共通道;输入输出接口电路是微型计算机外部设备交换信息的桥梁。

I/O

I/O

数据总线DB

控制总线CB

地址总线AB

 

CPU

 

3、(选做6题的同学不做此题)归纳总结汇编语言编程的特点,指出它与高级语言编程的不同点,给出汇编语言编程中AX,BX,CX,DX,SI,DI,BP的通常用途。

(4分)

答题要点:

1、特点与不同点:

变量定义、数据区、伪指令、寄存器分配与使用、面对硬件、灵活性等

AX:

累加器,功能强,常用作最重要的用途

BX:

常用作基址指针

CX:

常用作循环控制变量

DX:

乘法运算时存乘积的高位,I/O指令中作外设端口地址寄存器

SI,DI:

变址寻址时作地址指针用

BP:

堆栈寻址时作基址指针用

4、(选做6题的同学不做此题)运算器在进行有符号数运算时,要知道是否发生了算术溢出,可采用哪三种方法判别?

(共3分)

答题要点:

双符号位法;

同号数相加减,结果不同号,溢出;

数位向符号位的进位与符号位向前进位不同,即Cn不等于Cn-1,溢出。

5、(选做6题的同学不做此题)请归纳总结汇编语言编程的特点,以及它与高级语言编程的不同点?

(3分)

不同点与特点:

需要对变量定义、设计数据区、分配使用寄存器、直接面对硬件,功能低级但编程灵活,程序短小,快捷等等

6、(选做3、4、5题的同学不做此题)内存中有一个100字节的数组,da1为开始地址。

编一段程序统计其中大于2FH,小于7DH的元素个数,用寄存器DL统计这些字符的个数。

(10分)

参考程序:

Stringdb‘………….‘

Sbu1procnear

Movbx,offsetda1

Movcx,100

Movdl,0

Again:

Moval,[bx]

Cmpal,2fh

Jlnext

Cmpal,7dh

Jgnext

Incdl

next:

Incbx

Loopagain

Done:

ret

Sub1endp

得分

六、将一个字符串中的所有大写字母改为小写字母,字符串以0结尾。

(12分)

Datasegment

Stringdb‘xxxxxxxxxxxxxxxxxx’,0

Dataends

co

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

当前位置:首页 > 表格模板 > 合同协议

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

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