汇编语言程序设计复习附答案完整版.docx

上传人:b****8 文档编号:9547421 上传时间:2023-02-05 格式:DOCX 页数:27 大小:23.38KB
下载 相关 举报
汇编语言程序设计复习附答案完整版.docx_第1页
第1页 / 共27页
汇编语言程序设计复习附答案完整版.docx_第2页
第2页 / 共27页
汇编语言程序设计复习附答案完整版.docx_第3页
第3页 / 共27页
汇编语言程序设计复习附答案完整版.docx_第4页
第4页 / 共27页
汇编语言程序设计复习附答案完整版.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

汇编语言程序设计复习附答案完整版.docx

《汇编语言程序设计复习附答案完整版.docx》由会员分享,可在线阅读,更多相关《汇编语言程序设计复习附答案完整版.docx(27页珍藏版)》请在冰豆网上搜索。

汇编语言程序设计复习附答案完整版.docx

汇编语言程序设计复习附答案完整版

 

一、

选择

1.下面指令执行后,改变AL寄存器内容的指令是(

D)。

A.TESTAL,02H

B.ORAL,AL

C.CMPAL,BL

D.ANDAL,BL

2.对寄存器AX的内容乘以

4的正确指令序列是(B

)。

A.SHRAX,1/SHRAX,1

B.SHLAX,1/SHL,AX,1

C.ROLAX,1/ROLAX,1

D.RCRAX,1/RCRAX,1

3.设DS=8225H,DI=3942H,指令NEGBYTEPTR[DI]操作数的物理地址是(A)

A.85B92H

B.86192H

C.BB690H

D.12169H

4.指令JMPFARPTRDONE属于

C

A.段内转移直接寻址

B.段内转移间接寻址

C.段间转移直接寻址

D.段间转移间接寻址

5.将

DX

的内容除以

2,正确的指令是

C

A.DIV2

B.DIVDX

,2

C.SARDX

,1

D.SHLDX

,1

6.编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令有

(D

)。

A.CMPB.SUBC.ANDD.MOV

7.汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省略的项

是(B)。

A.名字项

B.操作项

C.操作数项

D.注释项

8.假设执行ADD指令后AX=006EH,再执行AAA指令,AX中的值是(

B)

A.14H

B.0104H

C.74H

D.04H

9.用MOV指令将十进制数

89以非压缩BCD码格式存入AX,可使用的指令是(

D)

A.MOV

AX,89

B.MOV

AX,0809

C.MOV

AX,89H

D.MOV

AX,0809H

10.下列语句中能与“DA1DB32H,34H”语句等效的是(

A)

A.MOV

DA1,32H

B.MOV

DA1,32

C.MOVWORDPTRDA1,3234H

D.MOVWORDPTRDA1

,‘24’

MOV

DA1+1,34H

MOV

DA1+1,34

11.使用DOS功能调用时,子程序的编号应放在寄存器中(

A)

A.AH

B.AL

C.AX

D.任意指定

12.

下列语句中能实现留空

8个字节单元的语句是(

D

A.DA1DT?

B.DA2DW?

,?

C.DA3

DD

D.DA4

DQ?

13.指令JMPFARPTRDONE属于C

A.段内转移直接寻址

B.段内转移间接寻址

C.段间转移直接寻址

D.段间转移间接寻址

14.下列叙述不正确的是B

A.在不改变堆栈段寄存器的情况下,堆栈大小为64KB

B.紧跟设置堆栈段寄存器指令可以是设置堆栈指针以外的任何指令

 

C.中断服务程序的返回地址在堆栈中

D.堆栈中数据存放的特点是先进后出

15.一个有128

个字的数据区,它的起始地址为

12ABH:

00ABH,请给出这个数据区最末一个字单

元的物理地址是

C

A.12CSBH

B.12B6BH

C.12C59H

D.12BFEH

16.在下列指令的表示中,不正确的是

A.MOVAL,[BX+SI]

C

B.JMPSHORTDONI

C.DEC[BX]

D.MULCL

17.在进行二重循环程序设计时,下列描述正确的是A

A.外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内

B.外循环初值应置外循环之内;内循环初值应置内循环之内

 

D.内、外循环初值都应置内循环之外,外循环之内

18.条件转移指令A.ZF=0

JNE的测试条件为A

B.CF=0C.ZF=1

 

D.CF=1

19.将

DX

的内容除以

2,正确的指令是

C

A.DIV2

B.DIVDX

,2

C.SARDX

,1

D.SHLDX

,1

20.已知BX=2000H,SI=1234H,则指令

A.数据段中偏移量为3236H的字节

B.附加段中偏移量为3234H的字节

C.数据段中偏移量为3234H的字节

D.附加段中偏移量为3236H的字节

MOVAX

,[BX+SI+2]

的源操作在(

A)中。

21.执行如下程序:

 

A:

MOV

MOV

MOV

ADD

AX,0

BX,1

CX,100

AX,BX

INC

BX

LOOP

A

HLT

执行后(

BX)=

C

A.99

B.100

C.101

D.102

22.上题的程序执行后(

AX)=

B

A.5000

B.5050

C.5100

D.5150

23.在下列指令中,A.JMPNEXT

__D____指令的执行会影响条件码中的

B.JCNEXT

CF位。

C.INCBX

D.SHLAX

,1

24.下面指令序列执行后完成的运算,正确的算术表达式应是

MOVAL,BYTEPTRX

SHLAL,1

DECAL

MOVBYTEPTRY,AL

A.y=x*2+1B.x=y*2+1C.x=y*2-1

D

 

D.y=x*2-1

 

25.在一段汇编程序中多次调用另一段程序,用宏指令比用子程序实现起来。

B

A.占内存空间小,但速度慢

B.占内存空间大,但速度快

C.占内存空间相同,速度快

D.占内存空间相同,速度慢

26.在程序执行过程中,IP寄存器中始终保存的是B

A.上一条指令的首地址

B.下一条指令的首地址

C.正在执行指令的首地址

D.需计算有效地址后才能确定地址

二、简答

1.假定(DX)=10111001B,(CL)=3,(CF)=1,试确定下列各条指令单独执行后,DX中的值。

(3分)

(1)SHRDX,1

(2)RCRDL,1

(3)RCLDX,CL

答:

(1)005CH

(2)00DCH(3)05CCH

 

2.写出完成下述功能的程序段:

(8分)

(1)传送25H到AL寄存器

(2)将AL的内容乘以2

(3)传送15H到BL寄存器

(4)AL的内容乘以BL的内容并请写出最后(AX)=?

答:

(1)MOVAL,25H

(2)SHLAL,1

(3)MOVBL,15H

(4)MULBL

AX=612H

3.指出下列指令的错误原因。

14分)

(1)MOV

BX,AL

操作数类型不同

(2)MOV

256,CX

(3)POP

CS

(4)MUL

45H

(5)MOV

DS,2000H

(6)JMP

WORD

PIRLOO

(7)INAL,3F8H

5.设某数据段:

DATA

SEGMENT

ORG20H

NUM1=8

NUM2=NUM1+10H

DA1

DB'COMPUTER'

DB0AH,0DH

COUNT

EQU$-DA1

DA2

DW'CO'

,'MP'

,'UT'

,'ER'

DATA

ENDS

试回答:

(1)DA1的偏移地址是什么?

(2)COUNT

的值是什么?

 

(3)DA2+5字节单元的内容是什么?

答:

(1)0020H

(2)002AH-0020H=0AH=10

(3)”U”

 

6.某程序段如下:

MOVDX,0EFADH

MOVAX,1234H

MOVCL,4

SHLDX,CL

MOVBL,AH

SHLAX,CL

SHRBL,CL

ORDL,BL

上面的程序段执行完后,DX、AX的内容是什么?

DX=FAD0H

AX=2340H

 

三、填空

1.计算机语言分为

机器

语言、

汇编

语言和

高级

语言。

2.23D=10111

B,100101011B=

12B

H。

3.8086系统的操作数分为

立即操作数

、寄存器操作数

和存储器操作数

三种类型。

4.8086CPU内部共有

14个

16

位的寄存器。

5.汇编语言的编译程序一般用

Edit

,调试程序一般用

debug

 

四、程序分析

1.现有如下程序段:

DATA

SEGMENT

ORG0020H

DA1

DW12H

,23H

DA2

DB11H

,21H

DA3

EQU1234H

DA4

EQU$-DA2

DA5

DB31H

,32H

DATA

ENDS

请回答:

(1)该程序段已占有的存储字节数是多少?

(2)符号名DA4的值是多少?

符号名DA5的值是多少?

答:

(1)该程序段已占有的存储字节数是8个字节。

(2)符号名DA4的值为2,符号名DA5的值是0026H。

 

2.阅读如下程序段,回答所提出的问题,假定X1,X2,XN为无符号数。

ORG

100H

BLOCK

DW

X1,X2,⋯,XN

COUNT

EQU

($-BLOLOK)/2

 

RESULT

DW

COUNT,?

LEA

BX,BLOCK-2

MOV

CX,RESULT

XOR

AX,AX

GOON:

ADD

BX,2

CMP

AX,[BX]

JAE

NEXT

MOV

AX,[BX]

NEXT:

LOOP

GOON

MOV

RESULT+2,AX

程序段执行完,回答下述问题

RESULT+2字存储单元的内容=_MAX(X1,X2,⋯XN)_____

BX=__100H+2×(COUNT-1)____

程序循环次数=__COUNT____

五、程序填空题

1.在表TABLE如果总和值超过AX整。

处存放着N个无符号字节数,求表中前10个字节数的总和并保存在AX寄存器中。

寄存器的容量,则置AX寄存器内容不变。

请在程序中的空格处填入适当指令使其完

LEABX,TABLE

MOVCX,10

MOVSUM,AX

MEXT:

(1)ADDAL,[BX]

ADCAH,0

JNCDON

(2)MOVAX,SUMJCEND0

DON:

INCBX

(3)LOOPNEXT

ENDO:

HLT

2.BEG为起始地址的存储区域中存放有100个字节数据,现将其首、尾颠倒过来,重新排放这100

个字节数据。

请在程序中的空格处填入适当的指令使其完整。

MOVCX,32H

LEASI,BEG

MOVDI,SI

(1)ADDDI99

DON:

MOVAL,[SI]

(2)XCHGAL,[DI]

MOV[SI],AL

(3)INCSI

DECDILOOPDONHLT

3.下面程序段完成用单个字符输入的1号功能调用,从键盘输入10个字符,然后用2号功能调用以

 

相反的顺序显示输出这

10个字符。

请在空白处添上适当的指令(每一空白处只添一条指令)

MOV

CX,10

LOP1:

MOV

AH,1

INT

21H

PUSH

AX

LOOP

LOP1

MOV

CX,10

LOP2:

POP

DX

MOV

AH,2

INT

21H

LOOPLOP2

4.下面程序段完成将以

BUFF

为首地址的内存区域全部存储

0FFH

数据。

请在空白处添上适当的指令

(每一空白处只添一条指令)

BUFFDB20HDUP(?

LEDDI,BUFF

MOVAX

MOVCX

CLD

REPSTOSW

 

,0FFFFH

,10H

 

六、编制程序题

 

1.试编写一个汇编语言子程序,要求将包含任意字符、以0结尾的字符串中的小写字母转换成大写字母。

 

assumecs:

code,ds:

data

datasgsegment

db'BeginnersAll-purposeSymbolicInstructionCode.',0

datasgends

codesgsegment

begin:

movax,data

movds,ax

movsi,0

callletterc

movah,4ch

int21h

letterc:

pushax

s:

moval,[si]

movah,0

movcx,ax

jcxzreturn

 

cmpal,61h

jbnext

cmpal,91h

janext

andal,11011111b

mov[si],al

next:

incsi

jmpshorts

 

return:

popax

ret

codesgends

endbegin

 

2.写一程序段,求双字长数DX∶BX的相反数。

NEGDX

NEGAX

SBBDX,0

 

3.设在内存单元SQTAB首址开始存放了0~15

单元中给定数(<=15=的平方值送B单元保存。

 

的平方数表。

要求用直接查表法编一程序,求出

 

A

 

答:

DATASEGMENT

SQTABDB0,1,4,9,16,25,36,49,64,81

DB100,121,144,169,196,225

ADB12

BDB?

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

STARTPROCFAR

PUSHDX

XORAX,AX

PUSHAX

 

MOVAX,DATA

MOVDS,AX

MOVBX,OFFSETSQTAB

MOVAL,A

XLAT

MOVB,AL

RET

STARTENDP

CODEENDS

ENDSTART

4.编写一个子程序,对两个128位数据相加。

 

答:

书上221页

 

5.编写程序求:

X+10H

(X<0)

Y=

32X

(0≤X≤10)

X-90H

(X>10)

 

STACK

SEGMENT

PARASTACK‘STACK’

DB

100

DUP(0)

STACK

ENDS

DATA

SEGMENT

X

DW

?

Y

DW

?

DATA

ENDS

CODE

SEGMENT

ASSUME

CS:

CODE,DS:

DATA

START:

MOV

AX,DATA

MOV

DS,AX

MOV

AX,X

CMP

AX,0

JGECASE23

ADD

AX,10H

;第一种情况的计算结果

JMP

RESULT

CASE23:

CMP

AX,10D

JG

CASE3

MOV

BX,30D

IMUL

BX

;第二种情况的计算结果

JMPRESULT

CASE3:

SUBAX,190H;第三种情况的计算结果

RESULT:

MOV

Y,AX

;结果保存到变量

Y中

MOV

AH,4CH

INT21H

 

CODEENDS

ENDSTART

 

爱人者,人恒爱之;敬人者,人恒敬之;宽以济猛,猛以济宽,政是以和。

将军额上能跑马,宰相肚里能撑船。

 

最高贵的复仇是宽容。

有时宽容引起的道德震动比惩罚更强烈。

 

君子贤而能容罢,知而能容愚,博而能容浅,粹而能容杂。

 

宽容就是忘却,人人都有痛苦,都有伤疤,动辄去揭,便添新创,旧痕新伤难愈合,忘记昨日的是非,忘记别人先前对自己的指责和谩骂,时间是良好的止痛剂,学会忘却,生活才有阳光,才有欢乐。

 

不要轻易放弃感情,谁都会心疼;不要冲动下做决定,会后悔一生。

也许只一句分手,就再也不见;也许只一次主动,就能挽回遗憾。

 

世界上没有不争吵的感情,只有不肯包容的心灵;生活中没有不会生气的人,只有不知原谅的心。

 

感情不是游戏,谁也伤不起;人心不是钢铁,谁也疼不起。

好缘分,凭的就是真心真意;真感情,要的就是不离不弃。

 

爱你的人,舍不得伤你;伤你的人,并不爱你。

你在别人心里重不重要,自己可以感觉到。

所谓华丽的转身,都有旁人看不懂的情深。

 

人在旅途,肯陪你一程的人很多,能陪你一生的人却很少。

谁在默默的等待,谁又从未走远,谁能为你一直都在?

 

这世上,别指望人人都对你好,对你好的人一辈子也不会遇到几个。

人心只有一颗,能放在心上的人毕竟不多;感情就那么一块,心里一直装着你其实是难得。

 

动了真情,情才会最难割;付出真心,心才会最难舍。

 

你在谁面前最蠢,就是最爱谁。

其实恋爱就这么简单,会让你智商下降,完全变了性格,越来越不果断。

 

所以啊,不管你有多聪明,多有手段,多富有攻击性,真的爱上人时,就一点也用不上。

 

这件事情告诉我们。

谁在你面前很聪明,很有手段,谁就真的不爱你呀。

 

遇到你之前,我以为爱是惊天动地,爱是轰轰烈烈抵死缠绵;我以为爱是荡气回肠,爱是热血沸腾幸福满满。

 

我以为爱是窒息疯狂,爱是炙热的火炭。

婚姻生活牵手走过酸甜苦辣温馨与艰难,我开始懂得爱是经得起平淡。

 

爱人者,人恒爱之;敬人者,人恒敬之;宽以济猛,猛以济宽,政是以和。

将军额上能跑马,宰相肚里能撑船。

 

最高贵的复仇是宽容。

有时宽容引起的道德震动比惩罚更强烈。

 

君子贤而能容罢,知而能容愚,博而能容浅,粹而能容杂。

 

宽容就是忘却,人人都有痛苦,都有伤疤,动辄去揭,便添新创,旧痕新伤难愈合,忘记昨日的是非,忘记别人先前对自己的指责和谩骂,时间是良好的止痛剂,学会忘却,生活才有阳光,才有欢乐。

 

不要轻易放弃感情,谁都会心疼;不要冲动下做决定,会后悔一生。

也许只一句分手,就再也不见;也许只一次主动,就能挽回遗憾。

 

世界上没有不争吵的感情,只有不肯包容的心灵;生活中没有不会生气的人,只有不知原谅的心。

 

感情不是游戏,谁也伤不起;人心不是钢铁,谁也疼不起。

好缘分,凭的就是真心真意;真感情,要的就是不离不弃。

 

爱你的人,舍不得伤你;伤你的人,并不爱你。

你在别人心里重不重要,自己可以感觉到。

所谓华丽的转身,都有旁人看不懂的情深。

 

人在旅途,肯陪你一程的人很多,能陪你一生的人却很少。

谁在默默的等待,谁又从未走远,谁能为你一直都在?

 

这世上,别指望人人都对你好,对你好的人一辈子也不会遇到几个。

人心只有一颗,能放在心上的人毕竟不多;感情就那么一块,心里一直装着你其实是难得。

 

动了真情,情才会最难割;付出真心,心才会最难舍。

 

你在谁面前最蠢,就是最爱谁。

其实恋爱就这么简单,会让你智商下降,完全变了性格,越来越不果断。

 

所以啊,不管你有多聪明,多有手段,多富有攻击性,真的爱上人时,就一点也用不上。

 

这件事情告诉我们。

谁在你面前很聪明,很有手段,谁就真的不爱你呀。

 

遇到你之前,我以为爱是惊天动地,爱是轰轰烈烈抵死缠绵;我以为爱是荡气回肠,爱是热血沸腾幸福满满。

 

我以为爱是窒息疯狂,爱是炙热的火炭。

婚姻生活牵手走过酸甜苦辣温馨与艰难,我开始懂得爱是经得起平淡。

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

当前位置:首页 > 求职职场 > 笔试

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

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