汇编语言复习题.docx

上传人:b****8 文档编号:29558676 上传时间:2023-07-24 格式:DOCX 页数:23 大小:52.25KB
下载 相关 举报
汇编语言复习题.docx_第1页
第1页 / 共23页
汇编语言复习题.docx_第2页
第2页 / 共23页
汇编语言复习题.docx_第3页
第3页 / 共23页
汇编语言复习题.docx_第4页
第4页 / 共23页
汇编语言复习题.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

汇编语言复习题.docx

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

汇编语言复习题.docx

汇编语言复习题

汇编语言复习题

注:

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

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

一、选择题

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

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

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

A..SS和SP和DI和IP和SI

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

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

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

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

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

A.XCHGB.LEASD.MOV

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

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

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

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

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

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

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

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

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

CL指令实现的功能是(A)。

A.无符号乘法:

AXAL×CLB.有符号乘法:

AXAL×CL

C.无符号乘法:

DXAL×CLD.有符号乘法:

DXAL×CL

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

D.09H

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

和SP和DI和IP和SI

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

AX,23HB.MOVAX,[BX+SI]AX,[BX]D.ADDAX,BX

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

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

20,20,20,40,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)。

AL,0F0HAL,0F0HAL,0FHAL,0FH

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

A.296EH:

100HB.295EH:

200HC.287EH:

100HD.297EH:

0H

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

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

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

B.80HC.6AH

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

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

A.297E0HB.2A6EH

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

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

A.[AX]B.[SI+DI]+90

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

A、EXE     B、OBJ      C、ASM     D、LST

27在程序执行过程中,IP寄存器始终保存的是( C)。

A、上一条指令的首地址 B、本条指令的首地址。

C、下一条指令的首地址 D、需计算有效地址后才能确定地址。

28设DS=1000H,ES=2000H,BX=3000H,指令ADD AL,[BX]的源操作数的物理

址为( A )。

A、13000H  B、23000H   C、33000H    D、3000H

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

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

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

A、CS  B、DS    C、ES    D、SS

31、汇编语言源程序是(A)程序。

A.不可直接执行的              B.经连接后就可直接执行的

C.经汇编程序汇编后就可执行的  D.可直接执行的

32、8086/8088CPU的寄存器组中,16位的寄存器共有(D)个。

A.10  B.12 C.14 D.16

33、设BX=2000H,SI=3000H,指令MOVAX,[BX+SI+8]的源操作有效地址为( B)。

A、5000H   B、5008H    C、23008H    D、32008H

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

A、DEBUG B、LINK  C、MASM D、EDIT

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

(C)

       A、100H

       B、102H

       C、98H

 D、0FEH

36、若定义“A EQU 100”,执行“MOV AX,A”后,AX=( C)。

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

C、100              D、A的段地址

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

A、1M     B、64K   C、32K   D、16K

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

A、MOV AX,A      B、MOV AX,B   

C、JNE  A           D、JMP  C

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

A、SHL  AL,1          B、INC  CX

C、ADD  [BX],AL      D、SUB  AX,BX

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

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

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

41、指令JMP WORD PTR[BX]属于( A )寻址。

A、段内直接  B、段内间接   C、段间直接  D、段间间接

42、指令MOV AX,[BX+SI+8]的源操作数属于( D )寻址。

A、直接      B、寄存器相对 C、基址变址  D、相对基址变址

43、指令(  A)不改变CF的内容。

A、DEC AL          B、ADD AX,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,执行“CMP  AL,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(对)

POPAL(错)

SUBAL,SI(错)

MOVDS,SS(错)

SALDX,AL(错)

MOVAX,BL(错)

MUL25(错)

SHRBX,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个字类型的数组ARRAY,要求STRING和ARRAY偏移量相同。

解:

ORG10

STRINGDB‘abcdef’

ORG10

ARRAYDW5DUP(?

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

解:

db0dh,0ah,’-1’

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

解:

EVEN

DW20DUP

(1)

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

解:

DW100DUP(0)

9、设数据段定义如下:

DATA   SEGMENT

V1      DW     1234h,3456h

V2      DB   ‘ab’

V3     =         $+5

V4     DB      10 DUP(?

V5      DW     v4

DATA  ENDS

请回答:

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

(18D)

       

(2)v3的值为多少?

(11D)

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

(6H)

(4)执行“MOV AL,BYTE PTR v2”指令后,AL值为多少?

(a)

10、设数据段定义如下:

DATA  SEGMENT

v1  DB    0ah,0c4h

v2  DW    1,2,3

v3  DB    4,100 DUP(?

v4  DB   ‘ABCDE’

v5  DW    v3

v6  EQU   $-v3

DATA  ENDS

请回答:

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

(116D)

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

(8H)

(3)v6的值是多少?

(108D)

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

(C)

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

(1)字节:

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

(2)字:

12H、0AB56H和-1,0

(3)双字:

-765H、H和0,-1

解:

它们的内存示意图如下:

(注:

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

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,10B

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

SHLAX,1

RCLDX,1

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

MOVAX,[BX+SI]

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

MOVDX,220H

INAL,DX

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

答:

(1)二进制:

在书写二进制时,在数据后面紧跟一个B,其一般形式为bn-1…b1b0B,其表示元素只有0和1;

(2)八进制:

在书写八进制时,在数据后面紧跟一个Q,其基本元素为0、1、、、7;

(3)十进制:

在书写十进制时,在数据后面紧跟一个D,其基本元素为0、1、、、9;

(4)十六进制:

在书写十六进制时,在数据后面紧跟一个H,其基本元素为0、1、、、A、B、C、D、E、F,其中A、B、C、D、E、F分别代表10、11、12、13、14、15。

若十六进制的第一个字符是字母,则在之前必须添加一个“0”。

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

答:

(1)与机器相关性;

(2)执行的高效率性;

(3)编写程序的复杂性;

(4)调试程序的复杂性。

17、设BX=1000H,SI=2000H,位移量D=3000H,请指出下列各种寻址方式的有效地址是什么?

(1)使用D的直接寻址EA=D=3000H

(2)使用BX寄存器的间接寻址EA=(BX)=1000H

(3)使用BX寄存器的相对寻址EA=(BX)+D=1000H+3000H=4000H

(4)基址变址寻址EA=(BX)+(SI)=1000H+2000H=3000H

(5)相对基址变址寻址EA=(BX)+(SI)+D=1000H+2000H+3000H=6000H

四、程序阅读题

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

DATASEGMENT

SOURCEDB?

,?

;两个无符号数

MAXDB?

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

MOVAX,DATA

MOVDS,AX

MOVAL,SOURCE

CMPAL,SOURCE+1

JNCBRANCH

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.将下列程序补充完整(即在画线的地方填入相应的内容),使该程序实现如下的功能:

 

DATASEGMENT

XDB?

YDB?

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

MOVAX,DATA

MOVDS,AX

MOVAL,X

AL,0

JGEBIGPTR

MOVY,3

HLT

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

MOVCX,COUNT/2

JCXZEXIT

LEABX,BUFF

AGAIN:

JGENEXT

MOVAX,[BX]

NEXT:

ADDBX,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

MOVCX,6

LEABX,BUFF

AGAIN:

CMPAX,[BX]

JLENEXT

MOVAX,[BX]

NEXT:

ADDBX,2

LOOPAGAIN

MOVX,AX

MOVAH,4CH

INT21H

CODE1ENDS

ENDSTART

请回答:

(1)指令JLE的功能是。

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

参考答案:

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

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

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

……

MOVAH,01H

INT21H

MOVBL,AL

MOVAH,01H

INT21H

XORAH,AH

ADDAL,BL

AAA

MOVBL,0

JCEXIT

MOVBL,1

EXIT:

参考答案:

0007H,01H

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

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

MOVAX,X

IMULY

MOVCX,AX

MOVBX,

MOVAX,Z

CWD

ADDCX,AX

BX,DX

SUBCX,540

BX,0

MOVAX,V

CWD

SUBAX,CX

SBBDX,BX

参考答案:

DX,

ADC

SBB

IDIVX

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

MOVES,SEGSTRING

LEA,STRING

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

          

CLD

REPNZ

JZYES

NO:

MOVAL,-1

         

YES:

MOVAL,0

EXIT:

......

参考答案:

DI

MOVAL,’B’

SCASB

JMPEXIT

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

请将程序填写完整。

datasegment

sourcedb100dup(a)

destdb100dup(?

dataends

codesegment

assumecs:

code,ds:

data

start:

movax,

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

当前位置:首页 > 自然科学 > 化学

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

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