微机原理期末试题卷答案文档格式.docx

上传人:b****5 文档编号:17464936 上传时间:2022-12-01 格式:DOCX 页数:33 大小:476.06KB
下载 相关 举报
微机原理期末试题卷答案文档格式.docx_第1页
第1页 / 共33页
微机原理期末试题卷答案文档格式.docx_第2页
第2页 / 共33页
微机原理期末试题卷答案文档格式.docx_第3页
第3页 / 共33页
微机原理期末试题卷答案文档格式.docx_第4页
第4页 / 共33页
微机原理期末试题卷答案文档格式.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

微机原理期末试题卷答案文档格式.docx

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

微机原理期末试题卷答案文档格式.docx

ANDAL,0ACH

NOTAL

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

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

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

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

CNTEQUASC-DA1

ASCDB10DUP(?

LEADI,ASC

MOVCX,CNT

L1:

MOVAL,[SI];

实现转换

ADDAL,30H

MOV[DI],AL

INCSI

INCDI

LOOPL1

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

DATASEGMENT

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

COUNTEQU$-BUF

MAXDB?

DATAENDS

I

MOVBX,OFFSETBUF;

初始化

MOVCX,OUNT-1

MOVAL,[BX]

LOP1:

INCBX;

完成最大数查找

CMPAL,[BX]

JAENEXT

NEXT:

DECCX

JNZLOP1

MOVMAX,AL

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

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

(8分)

6题的不做3、4、5题,反之亦然)

五、论述与问答题:

(共20分,第1、2题为必做题,其余为选做题,选做第

1、画出冯•诺依曼结构图;

给出计算机结构的三大要点;

简述其基本工作原理:

(5分)

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

MOVAH,01H

INT21H

SUBAL,30H

JBL1

CMPAL,9

JBEDONE

SUBAL,7H

CMPAL,0FH

JMPL1

DONE:

RET

INHEXENDP

DA1SEGMENT

TXTBDB“ThisaStoryabout……”;

一篇英语文章

NUMDW$-TXTB;

文章字节数

CHADB'

#'

;

查找字符

CHBDB‘$'

替换字符

COUNDW?

DA1ENDS

编写一段程序,将这篇英语文章中的‘#'

号用‘$'

号进行替换,并统计替换个数,存入COUN

中(能编成一个通用子程序更好)

LEABX,TXTB

MOVCX,NUM

MOVDX,0

MOVAL,'

MOVAH'

$'

AGAIN:

JNZNEXT

MOV[BX],AH

INCDX

INCBX

LOOPAGAIN

MOV[COUN],DX

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

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

陈永康、杨先楚

——二

得分四、计算并填写结果:

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

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

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

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

寻址。

_

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

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

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

[135.489]10=[10000111.01111101]2=[_87.7DI16=[_252.326]7

=[—000100110101.010010001001—]bcd

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

[-126]10=[_1111111—]原=[_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、SUB

AH,[BP+BUF]

(AH)=

5A

H

9、SHR

BYTEPTR[BX-DI],

1:

CF=

1

?

(4090FH)

=2B

10、POP

AX

(SP)=

0112

设开始时(AL)=34H,填写

11-12题的程序段执行结果:

11、XOR

AL,28H

12、

AL,34H

AND

AL,0ACH

NOT

AL

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

LIN3:

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、MOVCX5MOVAX40H

NEXTSUBAX,CX

LOOPNEXT

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

2、MOVAX,0

DECAX

ADDAX,7FFFH

ADCAX,1

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

8000

 

LOOP

RET

3、

MOV

SI,2040H

DI,2060H

CX,0AH

AL,[SI]

XCHG

AL,[DI]

[SI],AL

INC

SI

DI

AGAIN

这段程序实现的功能是:

将数据区中偏移

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

5、设寄存器

AL,BL,CL中内容均

为68H,

XOR

AL,0FH

BL,0FH

OR

CL,0FH

执行上述指令序列后,

AL=_67_H,BL=_08—H,CL=一6F_H。

4、MOV

BL,03H

AL,07H

MUL

BL;

AX=_0015_H

AAM

AH=_

02H,AL=01H

6、SUB1PROCNEAR

MOVBX,AXMOVCX,16

L8:

SHLBX,1

JCL9

MOVDL,'

0'

JMPL10

L9:

MOVDL,'

1'

L10:

MOVAH,02H

LOOPL8

B'

MOVAH,02H

SUB1ENDP

若(AX)=56E3H,调用子程序后的执

行结果将BX中的内容按二讲制的形式

显示出来/0101011011100011B.

使下面的程序段能实现既定功能:

(每空2

000E

000D

000C

000B

00H

000A

0009

‘?

'

0008

0007

‘$'

0006

0005

Q

0004

‘N'

0003

FFH

0002

12H

0001

35H

DATA1:

0000

‘F'

分,共12分)1、下面子程序实现:

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

HECAPROCFAR

CMPAL,10

JCKK

ADDAL,7

KKADDAL,30H

MOVDL,AI

MOVAH,2

INT21H;

功能调用显示字符

HECAENDP

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

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

NEQU$-D1

RSDW?

CODESEGMENT

—LEABX,D1;

MOVCX,N

MOVAL,[BX]

CMPAL,0

JSPP/JLPP

PP:

LOOPNEXT;

循环

MOVRS,DX

四、根据下面的数据段定义,填写数据区的存储分配图给出各变量对应的偏移地址与初始值:

VAR1

DB

F'

035H

VAR2

DW

0FF12H

MISS

NO:

$'

COUN

EQU

$-MISS

SUM

?

CC

2DUP(0)

VAR1的偏移地址=_0000H,初始值=F'

VAR2的偏移地址=_0002H,初始值=0FF12H_

SUM的偏移地址=_0008H_,CC的偏移地址=_OOOAH_

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

(共20分,第1、2小题为必做题,其余为选做题,选做

第6题的不做3、4、5题,反之亦然)

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

(4分)

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

2、画微型计算机结构图;

简述主要部件功能。

(6分)

答案要点:

中央处理单元CPU(ControlProcessingUnit)是微型计算机的核心部件,包含有运算器、

控制器、寄存器组的一块大规模集成电路芯片;

主存储器是微型计算机中存储程序、原始数据、中间结果和最终结果等各种信息的部件;

系统总线是CPU与其他部件之间传送数据、地址和控制信息的公共通道;

输入输出接口电路是微型计算机外部设备交换信息的桥梁。

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

1、特点与不同点:

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

AX:

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

BX:

常用作基址指针

CX:

常用作循环控制变量

DX:

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

SI,DI:

变址寻址时作地址指针用

BP:

堆栈寻址时作基址指针用

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

种方法判别?

(共3分)

双符号位法;

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

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

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

(3分)

不同点与特点:

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

程序短小,快捷等等

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

编一段程序统计

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

(10分)参考程序:

Stringdb‘‘

Sbulprocnear

Movbx,offsetda1

Mov

dl,0

al,[bx]

Cmp

al,2fh

Again:

Movcx,100

JInext

Cmpal,7dh

Jgnext

六、将一个字符串中的所有大写字母改为小写字母

字符串以0结尾。

(12分)

Incdl

next:

Incbx

Loopagain

Done:

ret

Sub1endp

Datasegment

Stringdb‘xxxxxxxxxxxxxxxxxx'

0

Dataends

codesegment

assumecs:

code,da:

datamovbx,offsetstringagain:

moval,[bx]

oral,al

jzdone

cmpal,'

A'

jbnext

Z'

janext

oral,20h

mov[bx],al

incbx

jmpagain

done:

movah,4chint21hend

云南大学2008至2009学年上学期物理学院物理系各专业2006级A

一、计算并填写结果:

(除标明分数的题外,每空

1、8086CPU从功能上可分为EU/执行单元部件

2、每一条指令一般都由操作码和

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

二进制8位,

[146.417]10=[10010010.01101010

=[

4、

5、

6、

7、

16、

]2=[092.6AC

000101000110.010000010111]BCD八位二进制代码转换:

[-124]10=[11111100]指令MOVAL,6[BX][SI]的源操作数的寻址方式是使用DOS功能调用时,子程序的编号应放在循环指令LOOPN终止循环的条件是CX=0

SS)=4000H,(DS)=3E00H,(ES)=3800H,

1.2分,共30分)和BIU/总线接口部件操作数来构成。

7进制3位):

]16=[266.263]7

两个独立的功能部件。

原=[10000011]

基址变址相对寻址

寄存器中。

ZF=0。

BP)=0800H,(SP)=010EH,(AX)=7A34H,

AH

或者

反=[10000100]补

(DI)=0003H,BUF=0111H,(4090EH)=0FH,(4090FH)=57H,(40910H)=93H,(40911H)=20H,题各条指令都在此环境下执行,在下列各小题的空格中填入执行结果:

8、SUBAH,[BP+BUF];

9、SHRBYTEPTR[BX-DI],1;

CF=1

10、POPAX;

(SP)=13、模拟运算器,用一字节补码加法实现十进制数其二进制补码加法算式为:

ZF=0,OF=1

PF=1,AF=0

二、程序阅读与分析。

(每小题3分,共18分)

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

(每空2分,共12分)

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

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

5AH

,(4090FH)=2BH0110H

-71-59=?

(6分)CF=1

,SF=

LEASI,DA1

_MOVCX,CNT

MOVAL,[SI]

_LOOPL1

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

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

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

当前位置:首页 > 农林牧渔 > 畜牧兽医

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

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