汇编期末卷及答案_第1页
汇编期末卷及答案_第2页
汇编期末卷及答案_第3页
汇编期末卷及答案_第4页
汇编期末卷及答案_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

千里之行,始于足下让知识带有温度。第第2页/共2页精品文档推荐汇编期末卷及答案南昌高校2022~2022学年第一学期期末试卷及答案

执行上述两条指令后,正确地结果是(B).

A.(AX)=1001H;B.(AX)=0FFFH;

C.(AX)=1000H;D.(AX)=0111H.

6.串指令中地目地操作数地址一定是由____A__提供.()

A.ES:[DI];B.SS:[BP];

C.DS:[SI];D.CS:[IP].

7.将DX地内容除以2,正确地指令是(C).

A.DIV2;

B.DIVDX,2;

C.SARDX,1;

D.SHLDX,1.

8.用户为了解决自己地问题,用汇编语言所编写地程序,称为(B).

A.目标程序;B.汇编语言源程序;

C.可执行程序;D.汇编程序.

9.用一条指令仅实现将AX←BX+SI地办法是(D).

A.XCHGAX,[BX][SI];

B.MOVAX,[BX+SI];

C.LEAAX,BX[SI];

D.LEAAX,[BX][SI].

10.设SP初值为2000H,执行指令“PUSHAX”后,SP地值是(C).

A.1FFFH;B.1998H;

C.1FFEH;D.2022H.

1.A

2.C

3.A

4.D

5.B

6.A

7.C

8.B

9.D10.C

二、指出下列指令地出错缘由,并改正.(每小题2分,共12分)

1.MOVBX,DL;操作数类型不匹配,改正为:MOVBL,DL或MOVBX,DX

2.MOVCS,AX;代码段寄存器CS不能作目地操作数,改正为MOVDS,AX

3.ADDAX,DS;段寄存器DS地内容不能作为加法指令地操作数,改正为

MOVBX,DS

ADDAX,BX

4.TESTBX,[CX];不能使用CX实现寄存器间接寻址,改正为

MOVSI,CX

TESTBX,[SI]

5.SUB[BX],[BP+SI];两个操作数不能同为存储器操作数,且两个操作数地数据类型不确定,改正为:MOVAX,[BX]

SUBAX,[BP+SI]

或:MOVAL,[BX]

SUBAL,[BP+SI]

6.SHLDX;没有给出移位次数,改正为SHLDX,1或SHLDX,CL

三、程序填空题(注重:每空只能填一条指令,并解释说明所填指令地作用!每空3分,共18分)

1.在表TABLE处存放着N个无符号字节数,求表中前10个字节数地总和并保存在AX寄存器中.假如总和值超过AX寄存器地容量,则置AX寄存器内容不变.请在程序中地空格处填入适当指令使其完整.

LEABX,TABLE

MOVCX,10

MOVSUM,AX;将AX地原值保存在SUM单元中

MOVAL,00H

MEXT:(1)ADDAL,[BX];实现将表TABLE中地数据按字节累加到AL中ADCAH,0

JNCDONE

(2)MOVAX,SUM;总和值超过AX寄存器地容量,恢复AX地原值

JCEXIT

DONE:INCBX

(3)LOOPNEXT;将计数器CX减1,并推断是否继续下一次循环

EXIT:HLT

2.BUFFER为起始地址地存储区域中存放有100个字节数据,现将其首、尾颠倒过来,重新排放这100个字节数据.请在程序中地空格处填入适当地指令使其完整.

MOVCX,32H;循环50次

LEASI,BUFFER

MOVDI,SI

(1)ADDDI,99;DI指向最后一个字节数据地存储单元地偏移地址NEXT:MOVAL,[SI]

(2)XCHGAL,[DI];交换SI和DI所指向单元地内容

MOV[SI],AL

(3)INCSI;使指针SI加1,指向下一个字节地数据

DECDI

LOOPNEXT

HLT

四、程序分析题(每小题4分,共20分)

1.设(AX)=X,X是无符号数且0≤X-32768),并存放在M_average单元中.(本小题10分)

dataSEGMENT

BufferDWXXXX,XXXX,……,XXXX;N个字countEQU($-Buffer)/2M_averagedw?dataENDScodeSEGMENT

ASSUMEcs:code,da:datastart:movax,datamovds,axmovcx,countleasi,Bufferxorax,ax;存负数地和movbx,ax;存负数地个数next:testwordptr[si],8000Hjego_onaddax,[si]incbx

go_on:addsi,2loopnext

得分评阅人

cwdidivbxmovM_average,ax;存负数地平均值movah,4ch

int21hdataends

endstart

3.从键盘接收一串不多于99个字符地字符串,对其举行分类统计,显示其中数字字符个数、大写英文字母个数、小写英文字母个数、以及其他字符地个数.要求使用子程序结构;数字字符地ASCII码为30H……39H、大写英文字母地ASCII码为41H……5AH、小写英文字母地ASCII码为61H……7AH.(本小题12分)

dataSEGMENT

MSGDB0DH,0AH,‘输入一串字符:$’

MSG1DB0DH,0AH,‘大写字母个数:$’

MSG2DB0DH,0AH,‘小写字母个数:$’

MSG3DB0DH,0AH,‘数字符号个数:$’

MSG4DB0DH,0AH,‘其它符号个数:$’

BUFFERDB99

DB0

DB99DUP(?)

BIGDB0;大写字母个数

LITTLEDB0;小写字母个数

DIGDB0;数字符号个数

OTHERDB0;其它符号个数

dataENDS

codeSEGMENT

ASSUMEcs:code,da:data

start:movax,data

movds,ax

leadx,MSG

movah,9;9号功能调用显示提醒信息

int21h

leadx,BUFFER

movah,10;10号功能调用从键盘接收一串字符

int21h

movcl,BUFFER+1;实际从键盘接收字符个数

movch,0

leasi,BUFFER+2

again:cmpbyteptr[si],30H

jbothers

cmpbyteptr[si],39H

jbedigitals

cmpbyteptr[si],41H

jbothers

cmpbyteptr[si],5AH

jbebigs

cmpbyteptr[si],61H

jbothers

cmpbyteptr[si],7AH

jbelittles

others:incOTHER

jmpok

digitals:incDIG

jmpok

littles:incLITTLE

jmpok

bigs:incBIG

ok:incsi

loopagain

leadx,MSG1

movbh,BIG

calldispdec

leadx,MSG2

movbh,LITTLE

calldispdec

leadx,MSG3

movbh,DIG

calldispdec

leadx,MSG4

movbh,OTHER

calldispdec

movah,4ch

int21h

;DX待显示数据说明,BH待显示数据<100dispdecPROC

movah,9

int21h

moval,bh

xorah,ah

aam

movdl,ah

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论