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

上传人:b****2 文档编号:11567324 上传时间:2023-06-01 格式:DOCX 页数:54 大小:32.19KB
下载 相关 举报
汇编语言复习题带答案.docx_第1页
第1页 / 共54页
汇编语言复习题带答案.docx_第2页
第2页 / 共54页
汇编语言复习题带答案.docx_第3页
第3页 / 共54页
汇编语言复习题带答案.docx_第4页
第4页 / 共54页
汇编语言复习题带答案.docx_第5页
第5页 / 共54页
汇编语言复习题带答案.docx_第6页
第6页 / 共54页
汇编语言复习题带答案.docx_第7页
第7页 / 共54页
汇编语言复习题带答案.docx_第8页
第8页 / 共54页
汇编语言复习题带答案.docx_第9页
第9页 / 共54页
汇编语言复习题带答案.docx_第10页
第10页 / 共54页
汇编语言复习题带答案.docx_第11页
第11页 / 共54页
汇编语言复习题带答案.docx_第12页
第12页 / 共54页
汇编语言复习题带答案.docx_第13页
第13页 / 共54页
汇编语言复习题带答案.docx_第14页
第14页 / 共54页
汇编语言复习题带答案.docx_第15页
第15页 / 共54页
汇编语言复习题带答案.docx_第16页
第16页 / 共54页
汇编语言复习题带答案.docx_第17页
第17页 / 共54页
汇编语言复习题带答案.docx_第18页
第18页 / 共54页
汇编语言复习题带答案.docx_第19页
第19页 / 共54页
汇编语言复习题带答案.docx_第20页
第20页 / 共54页
亲,该文档总共54页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

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

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

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

汇编语言复习题带答案

汇编语言复习题(带答案)

汇编语言期末复习题

第1章:

基础知识

1、在汇编语言程序的开发过程中使用宏功能的顺序是(C)。

DX

A、宏定义,宏调用B、宏定义,宏展开

C、宏定义,宏调用,宏展开D、宏定义,宏展开,宏调用

2、汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省略的项是(B)。

DX

A、名字项B、操作项C、操作数项D、注释项

3、可屏蔽中断就是它的请求是否被CPU响应要受(IF)的控制。

DX

4、使用LINK连接命令,执行后可生成文件的扩展名为(EXE)。

DX

5、在寄存器间接寻址中,如果指令中指定的寄存器为BP,则操作数在段中,段地址在SS寄存器中。

TK

6、注释项用于说明程序段或是一条和几条指令的功能,一般用;(或分号)表示注释的开始。

TK

7、DOS系统功能调用方式为:

(1)置入口参数;

(2)中断程序编号送AH寄存器后执行INT21H。

TK

8、通常主程序和子程序间参数传送的方法有三种:

用寄存器传递、用存储单元传递、用堆栈传递(顺序可调换)。

TK

9、CPU暂停当前程序的执行,转而执行处理紧急事务的程序,并在该事务处理完后能自动恢复执行原先程序的过程。

在此,称引起紧急事务的事件为中断源。

TK

10、在字符串操作指令中,DS∶SI指向源串,ES∶DI指向目的串。

TK

11、计算机系统通过接口与外围设备通信。

TK

12、键盘I/O、显示I/O和打印I/O分别对应、和号中断。

TK

13、字符显示模式缓冲区中的一个字对应于屏幕上的一个字符。

每个字的第一个字节为显示字符的ASCII码,第二个字节为显示字符的属性。

TK

14、简述上机运行汇编语言程序的过程。

JD

答:

首先打开未来汇编,新建一个空的汇编文件,后缀为.asm,然后输入汇编程序代码,保存,再编译成机器指令,然后连接成可执行文件,即exe文件,最后再运行。

15、简述程序中指令和伪指令的区别。

JD

答:

能被计算机识别并执行的二进制代码,它规定了计算机能完成的某一操作。

伪指令是对汇编起某种控制作用的特殊命令,其格式与通常的操作指令一样,并可加在汇编程序的任何地方,但它们并不产生机器指令。

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

DX

①无符号十进制数136

②带符号十进制数-120

③压缩型BCD码十进制数88

④8位二进制数-8的补码表示

17、指令指针寄存器是(IP)。

DX

18、汇编语言语句格式中对名字项的规定如下,请找出其中错误的说法(B)DX

A.名字的第一个字符可以是大写英文字母及小写英文字母

B.名字的第一个字符可以是字母、数字及、@、_

C.名字的有效长度≤31个字符

D.在名字中不允许出现$

19、CS寄存器属于(段寄存器)。

DX

20、已知物理地址(371F0H)=12H,(371F1H)=34H,(371F2H)=56H,如从地址371F0H中取出一个字的内容是(3412H)。

DX

21、一个有16个字的数据区,它的起始地址是70A0H∶DDF6H,则这个数据区最末一个字单元的物理地址是(7E814H)。

DX

22、简述上机运行汇编语言程序的过程。

JD答:

首先打开未来汇编,新建一个空的汇编文件,后缀为.asm,然后输入汇编程序代码,保存,再编译成机器指令,然后连接成可执行文件,即exe文件,最后再运行。

第2章:

8086/8088的寻址方式和指令系统

1、下列指令属于基址加变址寻址方式的是(MOVDX,DS:

[BP][SI])。

DX

2、当程序顺序执行时,每取一条指令语句,IP指针增加的值是(D)。

DX

A.1B.2C.3D.由指令长度决定的

3、下列属于合法的指令是(D)DX

A.MOVDS,ESB.MOV[SI],[DI]C.MOVAX,BLD.MOV[DI],BL

4、若AX=349DH,CX=000FH。

则执行指令ANDAX,CX后,AX的值是(000DH)。

DX

5、设DS=8225H,DI=3942H,指令NEGBYTEPTR[DI]操作数的物理地址是(85B92H)DX

6、下列寄存器组中在段内寻址时可以提供偏移地址的寄存器组是(B)DX

A、AX,BX,CX,DXB、BX,BP,SI,DIC、SP,IP,BP,DXD、CS,DS,ES,SS

7、对寄存器AX的内容乘以4的正确指令序列是(SHLAX,1SHL,AX,

1)。

DX

8、执行INC指令除对SF、ZF有影响外,还要影响的标志位是(OF,AF,PF)。

DX

9、设DH=10H,执行NEGDH指令后,正确的结果是(DH=0F0HCF=1)。

DX

10、下列传送指令中有语法错误的是(A)。

DX

A、MOVCS,AXB、MOVDS,AXC、MOVSS,AXD、MOVES,AX

11、下面指令执行后,改变AL寄存器内容的指令是(D)。

DX

A、TESTAL,02HB、ORAL,ALC、CMPAL,BLD、ANDAL,BL

12、执行除法指令后,影响的标志位是(AF,CF,OF,PF,SF,ZF都不确定)。

DX

13、执行下面指令序列后,结果是(AX=0FF82H)。

DX

MOVAL,82H

CBW

14、与MOVBX,OFFSETVAR指令完全等效的指令是(D)。

DX

A、MOVBX,VARB、LDSBX,VARC、LESBX,VARD、LEABX,VAR

15、在段定义时,如果定位类型用户未选择,就表示是隐含类型,其隐含类型是(PARA)。

DX

16、MOVSP,3210H

PUSHAX执行上述指令序列后,SP寄存器的值是(320EH)。

DX

17、BUFDW10HDUP(3DUP(2,10H),3,5)

上述语句汇编后,为变量BUF分配的存储单元字节数是(100H)。

DX

18、MOVAH,7896H

ADDAL,AH

上述指令执行后,标志位CF和OF的值是(CF=1,OF=0)。

DX

19、完成将带符号数AX的内容除以2的正确指令是(SHRAX,1)。

DX

20、在汇编语言程序中,对END语句的叙述正确的是(C)。

DX

A.END语句是一可执行语句B.END语句表示程序执行到此结束

C.END语句表示源程序到此结束D.END语句在汇编后要产生机器码

21、已知BX=2000H,SI=1234H,则指令MOVAX,[BX+SI+2]的源操作在(数据段中偏移量为3236H的字节)中。

DX

22、下面指令序列执行后完成的运算,正确的算术表达式应是(y=x2-1)。

DX

MOVAL,BYTEPTRX

SHLAL,1

DECAL

MOVBYTEPTRY,AL

23、已知(AX)=1234H,执行下述三条指令后,(AX)=(0000H)。

DX

MOVBX,AX

NEGBX

ADDAX,BX

A.1234HB.0EDCCHC.6DCCHD.

24、将DX的内容除以2,正确的指令是(C)。

DX

A.DIV2B.DIVDX,2C.SARDX,1D.SHLDX,1

25、有如下指令序列:

DX

ORG40H

DA1DW0AB12H,8574H

……

MOVAX,DA1

MOVBX,OFFSETDA1

上述指令执行后,寄存器AX和BX的值分别为(AB12H,40H)。

26、下列数值表达式和地址表达式中,错误的是(D)。

DX

A.MOVAL,8*14+4B.MOVSI,OFFSETBUF+13

C.MOVCX,NUM2-NUM1D.MOVCX,NUM2+NUM1

27、数据段定义如下:

DX

X1DB10H,50,1

X2DW10H,20,3

X3DD?

COUNTEQUX3-X1

变量COUNT的值是(9)。

28、为使CX=-1时,转至MINUS而编制了一指令序列,其中错误的序列是(C)。

DX

A、INCCXJZMINUSB、SUBCX,OFFFFHJZMINUS

C、ANDCX,OFFFFHJZMINUSD、XORCX,OFFFFHJZMINUS

29、AL和VAR字节单元中分别存放一个带符号数,执行CMPAL,VAR时,如AL>VAR,那么溢出位和符号位的关系是(OF=SF)。

DX

30、下面是关于汇编语言程序中使用RET的描述,不正确的是(C)。

DX

A.每一个子程序中允许有多条RET指令。

B.每一个子程序结束之前一定要有一条RET指令。

C.每一个子程序中只允许有一条RET指令。

D.以过程形式表示的代码段,一定有RET指令存在。

31、在串操作指令前使用重复前缀指令REPE,终止串的重复操作条件是(CX=0或ZF=0)。

DX

32、用MOV指令将十进制64以组合型BCD码格式送入AX,正确使用的指令是(MOVAX,0604H)。

DX

33、重复前缀指令REP的重复次数由TK

34、DR1DB10H,30H

DR2DW10HDUP(0,2DUP

(2))

……

MOVBL,LENGTHDR1

MOVCL,LENGTHDR2请问指令执行后,BL和CL的值分别为。

TK

35、设(SP)=100H,(AX)=0FFFFH

STC

PUSHAX

ADCAX,0

PUSHAX

POPBX上述程序段运行后,(BX)=0,(SP)=1和0FEH。

CXFX

36、假设数据段定义如下:

DA1DW’C’,’D’

DA2DB18DUP(?

DA3DW$-DA2

……

MOVBX,DA3

MOVAX,DA1

上述指令执行后,BX寄存器中的内容是寄存器中的内容是寄存器中的内容是43H。

CXFX

37、现有如下数据段

DATASEGMENT

ARRAY1DB1,26,‘3456’

ARRAY2DW7,89H,10

VALEQUARRAY2-ARRAY1

DATAENDS

请问:

该数据段已占有字节的存储空间。

CXFX

38、当执行指令ADDAX,BX后,若AX的内容为2BA0H,设置的奇偶标志位PF=1,下面的

叙述正确的是(④)。

DX

①表示结果中含1的个数为偶数②表示结果中含1的个数为奇数

③表示该数为偶数④表示结果中低八位含1的个数为偶数

39、AND,OR,XOR,NOT为四条逻辑运算指令,下面的解释正确的是(C)DX

A.指令XORAX,AX执行后,AX内容不变,但设置了标志位

B.指令ORDX,1000H执行后,将DX最高位置1,其余各位置0

C.指令ANDAX,OFH执行后,分离出AL低四位

D.NOTAX,执行后,将AX清0

40、完成对CL寄存器的内容乘以4的正确操作是(C)DX

A.ROLCL,1B.MUL4

ROLCL,1

C.SHLCL,1D.MOVCL,2

SHLCL,1SHLCL,CL

41、下面各传送指令中,正确的是(C)DX

A.MOV[DI],[SI]B.MOV[DX+DI],ALC.MOVWORDPTR[BX],0100HD.MOVAL,BX

42、要实现使BETA的值为56,应采用语句为(BETAEQU56)DX

43、REPZCMPSW指令,重复执行的终止条件是(CX=0或ZF=0)DX

44、下面程序段执行后,AL中的内容是(21H)DX

MOVAX,8833H

ADDAL,AH

DAA

45、完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是(①)。

DX

①MOVAL,00H②ANDAL,00H③XORAL,AL④SUBAL,AL

46、下列指令执行后总是使CF=0,OF=0的是(AND)。

DX

47、完成同指令XCHGAX,BX相同功能的指令或指令序列是(④)。

DX

①MOVAX,BX②MOVBX,AX

③PUSHAX

POPBX

④MOVCX,AX

MOVAX,BX

MOVBX,CX

48、设AH=0,AL=06H,BL=09H,执行指令

ADDAL,BLAAA

之后,其结果应是(AH=01,AL=05)。

DX

49、设AL=0B4H,BL=11H,指令“MULBL”和指令“IMULBL”分别执行后OF,CF的值为(OF=1,CF=1)。

DX

50、在串操作指令前使用重复前缀指令REPE,终止串的重复操作条件是(CX=0或ZF=0)。

DX

51、下面指令中,合理而有意义的指令是(④)。

DX

①REPLODSB②REPSCASB③REPCMPSB④REPMOVSB

52、在下列串操作指令中,同时使用源串和目的串地址指针的指令是(D)DX

A.STOSWB.LODSWC.SCASWD.CMPSW

53、AL=0AH,下列指令执行后能使AL=05H的是(C)DX

A.NOTALB.ANDAL,0FHC.XORAL,0FHD.ORAL,0FH

54、DA1DW‘AB’,‘CD’,‘EF’,‘GH’

MOVAX,DA1+3

指令执行后AX中的内容是(‘FC’)。

DX

55、在汇编语言程序中,对END语句的叙述正确的是(③)。

DX

①END语句是一可执行语句②END语句表示程序执行到此结束

③END语句表示源程序到此结束④END语句在汇编后要产生机器码

56、下面的数据传送指令中,错误的操作是(④)。

DX

①MOVSS:

[BX+DI],1000H②MOVDX,1000H③MOVWORDPTR[BX],1000H④MOV

DS,2000H

57、下面指令执行后,变量DAB中的内容是(0F5H)。

DX

DAWDW2A05H

DABDB0FAH

:

MOVAL,BYTEPRTDAW

SUBDAB,AL

58、执行下列指令后,正确的结果是(②)。

DX

MOVAL,100

MOVBL,-2

①AL=100H

BL=02H

②AL=64H

BL=0FEH

③AL=64H

BL=82H

④AL=100H

BL=0FEH

59、设数据段中已有:

DA1DB12H,34H

DA2DW56H,78H

下面有语法错误的语句是(②)。

DX

①ADR1DWDA1②MOVDA1+1,AX③MOVBYTEPTRDA2+1,AL④MOVWORDPTRDA1+1,AX

60、DATASEGMENT

TA1DW0102H,0304H,0506H

TA2DB02H,03H,04H

:

MOVBX,DS:

[0006H]

ANDBX,0FFH

ANDBH,[BX]

上述指令序列运行后,BX的内容是(0402H)。

DX

61、若DS=0F3EH,SI=2000H,COUNT=0A8H,指令MOVAX,(SI+COUNT)中,源操作数的有效地址EA为___20A8H_____,其物理地址为___11488H_____。

TK

62、如JMP指令采用段间间接寻址,那么由4个相邻字节单元中存放有转移地址,其中前两个字节存放的是____TK

63、在串操作程序中,通常在重复前缀指令REPZ或REPNZ后,选用的串操作指令是___STOS____或___CMP__才有实际意义。

TK

64、已知:

BX=1357H,DI=2000H,DS=2000H,CS=4000H,分别指出下面各指令中存储器操作数的物理地址。

JD

(1)MOVAL,[BX]

21357H

(2)MOVCS:

[BX+DI],AH

43357H

65、

0P1DB1,2

0P2DW3412H,5678H

MOVAX,OP1+1;字单元(OP1+1)AX

MOVBL,OP2+1;字节单元(OP2+1)BL

上述二条传送语句有语法错误,请根据注释字段的说明,将其改正。

MOVAX,WORDPTR(OP1+1)

MOVBL,BYTEPTR(OP2+1)

66、下列语句在存储器中分别为变量分配多少字节?

JD

(1)AD2DW10DUP(?

),1022

(2)AD3DD100DUP(?

)400

67、简述下面两条指令分别是什么语法错误?

JD

MOV[BX],[SI]

MOVAX,DL

MOV指令不能在两个存储器操作数之间进行;

操作数类型不匹配。

68、在指令系统中,段内、段间返回均为RET指令。

试回答:

JD

(1)执行段内返回RET指令时,执行的操作是:

栈顶内容→IP,SP+2→SP

(2)执行段间返回RET指令时,执行的操作是:

①栈顶内容→IP,SP+2→SP

SP+2→SP

69、

ARYDW10DUP(?

MOVAL,TYPEARY

MOVBL,LENGTHARY

MOVCL,SIZEARY

上述MOV指令序列执行后的结果是什么?

JD

AL=2

BL=10

CL=20

70、设某数据段:

JD

DATASEGMENT

ORG20H

JD②栈顶内容→CS,

NUM1=8

NUM2=NUM1+10H

DA1DB'COMPUTER'

DB0AH,0DH

COUNTEQU$-DA1

DA2DW'CO','MP','UT','ER'

DATAENDS

试回答:

(1)DA1的偏移地址是:

的值是(3)DA2+5字节单元的内容是‘U’的ASCII码_

71、已知

AX=0FF60H,CF=1

MOVDX,96

XORDH,0FFH

SBBAX,DXCXFX

72、设寄存器AL,BL,CL中内容均为76H,

XORAL,0FH

ANDBL,0FH

ORCL,0FHCXFX

73、已知

AX=0A33AH,DX=0F0F0H

ANDAH,DL

XORAL,DH

NEGAH

NOTALCXFX

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

JD

(1)SHRDX,1

(2)RCRDL,1(3)RCLDX,CL答:

(1)005CH

(2)00DCH(3)05CCH

75、写出完成下述功能的程序段:

JD

(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=1554

76、写一程序段,求双字长数DX∶bX的相反数。

JD

答:

NEGDX

NEGAX

SBBDX,0

77、在某子程序的开始处要保护AX,BX,CX,DX四个寄存器信息,在子程序结束时要恢复这四个寄存器信息。

例如:

JD

PUSHBX\保护现场

PUSHCX/

PUSHDX/

:

}恢复现场

试写出恢复现场时的指令序列。

答:

POPDX

POPCX

POPBX

POPAX

78、完成下列操作,选用什么指令:

JD

(1)将AX的内容,减去0520H,和上次运算的借位;

(2)将变量名TABL的段地址送AX;答:

(1)SBBAX,0520H(2分)

(2)MOVAX,SEGTABL(2分)

79、D1DB20HDUP(?

D2DWD1请写出用一条指令实现取D1的偏移地址=>SI中的三种方法。

JD答:

①LEASI,D1②MOVSI,OFFSETD1③MOVSI,D2

80、ADW1234H

BDW5678H

:

PUSHA

PUSHB

POPA

POPB

试回答:

CXFX

①上述程序段执行后(A)=__________,(B)=_____

②设执行前SP=200H,执行后SP=____________

答:

①(A)=5678H(2分)(B)=1234H(2分)

②SP=2000H(2分)

81、现有下列程序段:

CXFX

MOVAX,6540H

MOVDX,3210H

MOVCL,04

SHLDX,CL

MOVBL,AH

SHLAX,CL

SHRBL,CL

ORDL,BL

试问上述程序段运行后,(AX)=_5400H_(BL)=_06H_(DX)=_2106H_

82、分析下面程序段,CXFX

MOVAL,200

SARAL,1

MOVCL,2

SARAL,CL

ADDAL,BL试问程序段执行后(BL)=__0E4H_(AL)=__0DDH___

83、DA3EQUWORDPTRDA4

DA4DB0ABH,89H

SHRDA3,1

MOVDX,DA3

SHLDA4,1

MOVCX,DA3上述程序段运行后,CX=___44AAH___,DX=__44D5H___。

CXFX

84、设(SP)=100H,(AX)=0FFFFH

STC

PUSHAX

ADCAX,0

PUSHAX

POPBX上述程序段运行后,(BX)=。

CXFX

85、STRINGDB‘ABCDEFGHIJ'

:

MOVAH,01;从键盘输入字符1~9

INT21H

ANDAL,0FH

DECAL

XORAH,AH

MOVBX,OFFSETSTRING

ADDBX,AX

MOVBL,[BX]

MOVAH,02H;显示输出

INT21H

:

试回答:

(1)上述程序段的功能是什么?

CXFX

根据从键盘输入的字符‘1’~‘9’,确定在显示器上显示STRING中第几个字符。

(2)如从键盘输入字符‘4',程序段有什么结果?

显示器显示字符‘D’

86、已知:

BX=4567H

NEGBX

INCBX

NEGBX

DECBXCXFX

87、已知数据段中定义

DAT1DB12H,34H,56H,78H

MOVCX,0

MOVAX,WORDPTRDAT1

MOVCL,DAT1+3当程序段执行完后CXFX

88、DA1DB

MOV

AND

MOV

SHL

CXFX

89、现有如下程序段:

CXFX

DATASEGMENTDA3EQU1234H

ORG0020HDA4EQU$-DA2

DA1DW12H,23HDA5DB31H,32H

DA2DB11H,21HDATAENDS

请回答:

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

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

符号名DA5的值是多少?

答:

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

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

90、执行下列程序段后,回答问题。

CXFX

ORG1221HMOVBX,OFFSETNUM

NUMDW12HMOVCL,BYTEPTRNUM+1

…MOVCH,TYPENUM

MOVAX,NUMHLT

请问:

(AX)=______,(BX)=______,(CX)=______。

答:

(AX)=0012H(BX)=1221H(CX)=0200H

91、执行下列指令后AX、BX寄存器的内容?

CXFX

MOVSI,10H

MOVAX,1234H

MO

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

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2