汇编语言复习题附答案.docx

上传人:b****6 文档编号:4819180 上传时间:2022-12-09 格式:DOCX 页数:20 大小:100.16KB
下载 相关 举报
汇编语言复习题附答案.docx_第1页
第1页 / 共20页
汇编语言复习题附答案.docx_第2页
第2页 / 共20页
汇编语言复习题附答案.docx_第3页
第3页 / 共20页
汇编语言复习题附答案.docx_第4页
第4页 / 共20页
汇编语言复习题附答案.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

汇编语言复习题附答案.docx

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

汇编语言复习题附答案.docx

汇编语言复习题附答案

汇编语言复习题注:

蓝色标记的为答案,此答案仅供参考,大家自己做一下或看以一下,认为不对的地方,可以提出来一起讨论一下,另外看一下课后老师布置的相应作业。

在此文档最后最后附有课后四、六章的答案,大家抓紧时间复习哦!

一、选择题

1.把要执行的程序与库文件连接起来形成可执行文件的系统程序是(B)。

A.汇编程序B.连接程序C.机器语言程序D.源代码程序

2.在8088/8086的寄存器组中,CPU确定下一条指令的物理地址时需要用到的寄存器对是(C)。

A..SS和SPB.DS和DIC.CS和IPD.ES和SI

3.为了使主机访问外设方便起见,外设中的每个寄存器给予一个(C)。

A.物理地址B.逻辑地址C.端口地址D.段地址

4.MOVAX,3064H,该指令中源操作数采用的寻址方式是(A)。

A.立即B.直接C.寄存器相对D.寄存器间接

5.换码指令的助记符是(C)。

A.XCHGB.LEASC.XLATD.MOV

6.如果A≥B(A、B有符号数)发生转移,应选择的条件转移指令是(JGE)。

7.下列符号中,可用作标识符的是(C)。

A.MOVB.AXC.MSG1D.1ABC

8.XDB10HDUP(1,2)内存变量定义语句拥有了(A)个字节的存储空间。

A.20DB.10DC.20HD.10H

9.当DF=0时,执行串操作指令MOVS,B变址寄存器SI、DI的值将(C)。

A.不变B.减1C.加1D.无法确定

10.如下指令可将AX寄存器内容改变的是(A)。

A.ANDAX,BXB.TESTAX,BXC.CMPAX,BXD.XCHGAX,AX

11.16位CPU支持的I/O地址范围是(D)。

A.0~0FFFFFHB.0~0FFFFHC.0~0FFFHD.0~0FFH

12.MULCL指令实现的功能是(A)。

A.无符号乘法:

AXAL×CLB.有符号乘法:

AXAL×CL

C.无符号乘法:

DXAL×CLD.有符号乘法:

DXAL×CL

13.DOS系统功能调用(INT21H)中,显示字符串的功能号是(D)。

A.01HB.02HC.08HD.09H

14.在16位CPU读取指令时,需要用到的寄存器对是(C)。

A.SS和SPB.DS和DIC.CS和IPD.ES和SI

15.下列指令中,源操作数(既第2操作数)属于基址加变址寻址方式是(B)。

A.MOVAX,23HB.MOVAX,[BX+SI]C.SUBAX,[BX]D.ADDAX,BX

16.有内存变量定义语句:

VARDW10DUP(1,2),1234H,VAR的属性TYPE、LENGTH和SIZE的值分别是(D)。

A.1,20,20B.2,20,40C.2,22,44D.2,10,20

17、在下列语句中,AGAIN称为(C)。

AGAIN:

INCSI

A.指令B.寄存器C.标号D.变量

18、十六进制数88H,可表示成下面几种形式,请找出错误的表示(A)。

A.8位二进制数-8的补码B.带符号十进制数-120

C.压缩型BCD码十进制数88D.表示无符号十进制数136

19、将AL中的最低4位置为0而不改变其他位的正确指令是(B)。

A.ORAL,0F0HB.ANDAL,0F0HC.ORAL,0FHD.ANDAL,0FH

20、某内存单元的物理地址为297E0H其对应的逻辑地址表示错误的是(C)。

A.296EH:

100HB.295EH:

200HC.287EH:

100HD.297EH:

0H

21、与二进制数00011011等值的十进制数为(B)。

A.26B.27C.28D.30

22、表达式“12HXOR78H”的值是(C)。

A.3AHB.80HC.6AHD.90H

23、某内存单元的逻辑地址为296EH:

100H,其对应的物理地址是(A)。

A.297E0HB.2A6EHC.297F0HD.296E0H

24、16位微机分段管理存储空间,但每段容量最大不超过(C)。

A.8KB.16KC.64KD.1M

25、下列操作数的寻址方式正确的是(D)。

A.[AX]B.[SI+DI]C.BX+90D.BX

26汇编语言源程序经汇编程序汇编后产生的文件的扩展名是(B)。

 

28设DS=1000H,ES=2000H,BX=3000H,指令ADDAL,[BX]的源操作数的物理址为(A)。

A、13000HB、23000HC、33000HD、3000H

29、汇编语言属于(D)。

A、用户软件B、系统软件C、高级语言D、机器语言

30、当使用BP作编程地址时,此时使用的是(D)段。

 

34、伪指令是(C)规定的汇编说明符,它在源程序汇编时进行说明。

A、DEBUGB、LINKC、MASMD、EDIT

35、已知CALLBX执行前SP=100H,执行后SP的内容为。

(C)

A、100H

B、102H

C、98H

D、0FEH

36、若定义“AEQU100”,执行“MOVAX,A”后,AX=(C)。

A、A的偏移地址B、A单元中的内容

C、100D、A的段地址

37、一个段最大可定义(B)字节。

A、1MB、64KC、32KD、16K

38、设A和B为字变量,C为标号,下列指令中不正确的是(C)。

A、MOVAX,AB、MOVAX,B

C、JNEAD、JMPC

39、下述指令中不影响CF的指令是(B)。

A、SHLAL,1B、INCCX

C、ADD[BX],ALD、SUBAX,BX

40、两个整数补码9CH和7AH相加运算后,会产生(C)。

A、无溢出且无进位B、无溢出但有进位

C、有溢出且有进位D、有溢出但无进位

41、指令JMP

WORDPTR[BX]属于

(A)寻址。

A、段内直接

B、

段内间接

C、段间直接

D

、段间间接

42、指令MOV

AX,

[BX+SI+8]的源操作数属于(D

寻址。

A、直接

B、寄存器相对

C、基址变址

D、相对基址变址

43、指令(

A)

不改变CF的内容。

A、DECAL

B

、ADDAX,CX

C、SUB[BX],

CL

D、SBB

AL,DL

44、十进制数字

74所对应的压缩型BCD码的形式是(

B

)。

A、74

B、74H

C、4AH

D、4A

45、十进制数字

85所对应的非压缩型

BCD码的形式是(

D)。

A、0085

B、0085H

C、0805

D、0805H

46、设AL=67H,

执行

“CMPAL,76H”后,AL=(

C)。

A、76H

B、0DFH

C、67H

D、00

二、判断题

MOVAL,BX

错)

MOVDS,SS

错)

MOV[BX],[DI]

错)

POPCS

对)

MOVDS,5678H

错)

ADD1234H,CX

错)

CLD

对)

SHLBX,AL

错)

MULDX

对)

LEAAX,[BX+DI]

对)

ADDDS,5678H

对)

STC

对)

CMP234H,CX

错)

MULDX,10H

错)

LEAAX,[BX+DI]

对)

XCHGES,AX

对)

POP

AL

错)

SUB

AL,SI

错)

MOV

DS,SS

SAL

DX,AL

MOV

AX,BL

MUL

25

SHR

BX,CH

PUSHCS

LEAAX,[BX+SI]

三、简答题

1、标志寄存器共有那些标志位?

答:

有运算结果标志位和状态控制标志位两大类,其中运算结果标志位有进位标志位CF、

奇偶标志PF、辅助进位标志AF、零标志ZF、符号标志SF、溢出标志OF。

状态控制标志位有方向标志DF、中断允许标志IF、陷阱标志TF。

2.标号和变量所具有哪三种属性?

答:

段属性、偏移量属性、类型属性。

3、写出16位CPU的段寄存器的助记符和中文名称。

答:

CS代码段寄存器

DS数据段寄存器

ES附加段寄存器

SS堆栈段寄存器

4、指出下列指令源操作数(第二操作数)的寻址方式。

1)MOVAX,1000[BX][DI]

基址变址相对寻址

2)MOVBX,[1000H]

直接寻址

3)ADDSI,AX

寄存器寻址

4)MOVAX,100

立即数寻址

5)MOVAX,[SI]

寄存器间接寻址

5、在8088/8086的寻址方式中,与数据有关的寻址方式分为哪七种寻址方式?

答:

立即数寻址、寄存器寻址、直接寻址、寄存器间接寻址、相对寻址、基址变址寻址、基址变址相对寻址。

6、已知DS=1000H,BX=100H,SI=2,存储单元[11200H]~[11203H]依次存放(十六进制)12、34、56、78,说明下列每条指令执行完后AX寄存器的内容。

1)

MOVAX,[1200H]

3412H

2)

MOVAX,[BX+1101H]

5634H

3)

MOVAX,[BX+SI+1100H]

7856H

7、编写将字节数据70h输出到端口地址为220H的指令序列。

解MOVDX,220H

MOVAL,70H

OUTDX,AL

8、按要求写出下列相应的内存变量定义语句。

(1)定义一个字节区域,第一个字节的值为10,其后跟100个初值为0的连续字节。

解:

DB10,100DUP(0)

(2)先定义一个字符串STRING,其偏移量指定为10,其初值为“abcdef”,然后再定义5个字类型的数组ARRA,Y要求STRING和ARRAY偏移量相同。

解:

ORG10STRINGDB

abcdef

 

ORG10

ARRAYDW5DUP(?

(3)定义一个以-1为结束符的字符串,该串中含有换行符和回车符

解:

db0dh,0ah,'-1'

(4)从偶地址开始定义20个字,其初值为1。

解:

EVEN

DW20DUP

(1)(5)定义100个字,其初值为0。

解:

DW100DUP(0)

9、设数据段定义如下:

DATASEGMENT

V1

DW

V2

DB

V3

=

V4

DB

V5

DW

DATAENDS

1234h,3456h

ab'

$+5

10DUP(?

v4

请回答:

(1)该数据段占用的内存有多少字节?

(18D)

(2)v3的值为多少?

(11D)

(3)执行“MOVAX,v5”指令后,AX值为多少?

(6H)

(4)执行“MOVAL,BYTEPTRv2”指令后,AL值为多少?

(a)

10、设数据段定义如下:

DATASEGMENT

v1

DB

0ah,0c4h

v2

DW

1,2,3

v3

DB

4,100DUP(?

v4

DB

‘ABCDE'

v5

DW

v3

DATAENDS

请回答:

(1)该数据段占用的内存有多少字节?

(116D)

(2)v5单元中的值是多少?

(8H)

(3)v6的值是多少?

(108D)

(4)执行“MOVAL,v4+2”指令后,AL的值是多少?

(C)11、下列数值在内存中连续存储,试画出其在内存的存储形式。

(1)字节:

7,8,‘1'、‘a'、‘A'和-1

(2)字:

12H、0AB56H和-1,0

(3)双字:

-765H、56789256H和0,-1

解:

它们的内存示意图如下:

(注:

此题中的内存物理地址可以自己任意指定,只要连续即可)

12340H

12341H

12342H

(2)题

(1)题

9B

F8

FF

FF

56

92

78

56

00

00

00

00

FF

FF

FF

FF

13000H

13001H

13002H

第(3)题

12下列操作可使用哪些寄存器?

(1)加法和减法。

(AX,BX,CX,DX,AL,AH,BL,BH,CL,CH,DL,DH,SI,DI)

(2)循环计数。

(CX,CL)

(3)乘法和除法。

(BX,CX,AH,BL,BH,CL,CH,DL,DH)

(4)指示程序已执行到哪条指令的地址。

(CS,IP)

(5)指示当前从堆栈中弹出数据的地址。

(SP)

(6)表示运算结果为零。

(ZF)

13、按要求编写指令序列。

(1)将立即数1234H与BX指示存储单元偏移地址的内容相加。

ADD[BX],1234H

(2)将AX寄存器中的高字节和低字节内容交换。

XCHGAH,AL

(3)右移DX4位,并把0移入最高位。

MOVCL,4

SHRDX,CL

(4)用一条指令实现把(BX)和(SI)之和传送给DX。

LEADX,[BX+SI]

(5)检测BX中的第2、8和10位中是否有1位为1。

TESTBX,1000000010B

(6)将DX—AX中的32位数算术左移1位。

SHLAX,1

RCLDX,1

(7)以BX和SI寄存器作基址变址寻址方式,把该单元中的一个字传送到AX。

MOVAX,[BX+SI]

14编写从端口地址为220H的端口读入一个字节的指令序列。

MOVDX,220H

INAL,DX15、在汇编语言中,如何表示二进制、八进制、十进制、十六进制的数值?

答:

(1)二进制:

在书写二进制时,在数据后面紧跟一个其表示元素只有0和1;

(2)八进制:

在书写八进制时,在数据后面紧跟一个

(3)十进制:

在书写十进制时,在数据后面紧跟一个

(4)十六进制:

在书写十六进制时,在数据后面紧跟一个A、B、C、D、E、F,其中A、B、C、D、E、F分别代表10、制的第一个字符是字母,则在之前必须添加一个“0”。

16、汇编语言的主要特点有哪些?

答:

(1)

(2)

(3)

(4)

B,其一般形式为bn-1⋯b1b0B,

Q,

D,

11、

其基本元素为0、其基本元素为0、

H,其基本元素为

12、13、14、15。

1、、、7;

1、、、9;

0、1、、、

若十六进

与机器相关性;执行的高效率性;编写程序的复杂性;调试程序的复杂性。

D=3000H,请指出下列各种寻址方式的有效地址是什么?

EA=D=3000H

EA=(BX)=1000H

EA=(BX)+D=1000H+3000H=4000H

EA=(BX)+(SI)=1000H+2000H=3000H

EA=(BX)+(SI)+D=1000H+2000H+3000H=6000H

17、设BX=1000H,SI=2000H,位移量

(1)

(2)

(3)

(4)

(5)

四、程序阅读题

1.有下列程序,试分析该程序,并在程序的后面写出该程序实现的功能。

DATA

使用D的直接寻址

使用BX寄存器的间接寻址使用BX寄存器的相对寻址基址变址寻址相对基址变址寻址

DATA

SEGMENT

SOURCEDB?

,?

MAXDB?

ENDS

;两个无符号数

SEGMENT

CODE

ASSUMECS:

CODE,DS:

DATA

MOVAX,DATA

MOVDS,AX

 

MOVAL,SOURCE

CMPAL,SOURCE+1JNCBRANCH

MOVAL,SOURCE+1

BRANCH:

MOVMAX,AL

HLT

CODEENDS

END

程序的功能是:

参考答案:

比较两个无符号数的大小,把大数存入变量MAX中。

2、设A,B,C,X和Y都是有符号的字变量,阅读下列程序段,回答后面的问题。

MOVAX,C

SUBAX,120D

CWD

MOVCX,DX

MOVBX,AX

MOVAX,A

IMULB

ADDAX,BX

ADCDX,CX

IDIVC

MOVX,AX

MOVY,DX

请回答:

上述程序段完成的运算公式是。

上述程序段执行后,商存于,余数存于。

参考答案:

(C-120+A*B)/C,X,Y

3.将下列程序补充完整(即在画线的地方填入相应的内容),使该程序实现如下的功能:

1

Y=2

3

X>0

X=0

X<0

-128≤X≤127

DATA

SEGMENT

XDB

YDB

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

MOVAX,DATA

 

MOVDS,AX

MOVAL,X

AL,0

JGEBIGPTR

MOVY,3HLT

BIGPTR:

JEEQUPTR

MOVY,

HLT:

MOVY,2

HLT

CODEENDS

END

参考答案:

CMP,1,EQUPTR:

4、以ARRAY为首址的字单元中,存放了COUNT个有符号数,下面程序是找出其中最大数并送给变量BIG,请把程序中所空缺的指令填上。

DATA1SEGMENT

ARRAYDW1,2,9,-12,15,19

COUNTEQU$—BUFF

BIGDW?

DATA1ENDS

CODE1SEGMENT

ASSUMECS:

CODE1,DS:

DATA1

START:

MOVAX,DATA1

MOVDS,AX

MOVAX,ARRAY

MOV

CX,COUNT/2

JCXZ

EXIT

LEA

BX,BUFF

AGAIN:

JGE

NEXT

MOV

AX,[BX]

NEXT:

ADD

BX,2

MOVBIG,AX

EXIT:

MOVAH,4CH

INT21H

CODE1ENDS

ENDSTART参考答案:

CMPAX,[BX]LOOPAGAIN

5、阅读下列程序,回答后面的问题。

DATA1SEGMENT

BUFFDW-1,3,11,-2,-5,9

XDW?

DATA1ENDS

CODE1SEGMENT

ASSUMECS:

CODE1,DS:

DATA1

START:

MOVAX,DATA1

MOVDS,AX

MOVAX,BUFF

MOV

LEA

CX,6

BX,BUFF

AGAIN:

CMP

AX,[BX]

JLE

NEXT

MOV

AX,[BX]

NEXT:

ADD

BX,2

LOOPAGAIN

MOVX,AX

MOVAH,4CH

INT21H

CODE1ENDS

ENDSTART

请回答:

(1)指令JLE的功能

(2)上述程序段的功能是,上述程序段执行后,X等

于。

参考答案:

若小于或等于则转移,数组BUFF的最小值送X,-5

6.下面程序段使用1号DOS功能调用从键盘接受两个数字。

如该程序段执行时,从键盘输入‘2'和‘5',请问执行后,(AX)=,(BL)=。

MOVAH,01HINT21HMOVBL,ALMOVAH,01HINT21HXORAH,AHADDAL,BLAAAMOVBL,0JCEXITMOVBL,1

EXIT:

参考答案:

0007H,01H

7、设V、X、Y和Z都是有符号的字变量,下面程序段是实现运算公式:

(V-(X*Y+Z-540))/X,请在空格中填入应有的内容。

MOVAX,X

IMULY

MOVCX,AX

MOVBX,

MOVAX,ZCWD

ADDCX,AX

BX,DX

SUBCX,540

BX,0

MOVAX,VCWD

SUBAX,CXSBBDX,BX

参考答案:

DX,

ADC

SBB

IDIVX8、下面程序查找字符串STRING中是否有字母"B",有则AL=0;否则AL=-1,请将程序填写完整。

MOVES,SEGSTRING

LEA,STRING

MOVCX,20;假设字符串长度为20

CLDREPNZJZYES

NO:

MOVAL,-1

YES:

MOVAL,0EXIT:

......

参考答案:

DI

MOVAL,'B'

SCASB

JMPEXIT

9、下面程序,将source为首地址的100字节传送到dest存储区域(不重叠)。

请将程序填写完整。

datasegment

sourcedb100dup(a)

destdb100dup(

data

ends

codesegmentassumecs:

code,ds:

datastart:

movax,data

movds,ax

moves,ax

leasi,source

leadi,destmovcx,100repmov

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

当前位置:首页 > 高中教育 > 高考

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

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