汇编语言程序设计练习题及参考答案Word下载.docx

上传人:b****5 文档编号:18764738 上传时间:2023-01-01 格式:DOCX 页数:25 大小:28.72KB
下载 相关 举报
汇编语言程序设计练习题及参考答案Word下载.docx_第1页
第1页 / 共25页
汇编语言程序设计练习题及参考答案Word下载.docx_第2页
第2页 / 共25页
汇编语言程序设计练习题及参考答案Word下载.docx_第3页
第3页 / 共25页
汇编语言程序设计练习题及参考答案Word下载.docx_第4页
第4页 / 共25页
汇编语言程序设计练习题及参考答案Word下载.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

汇编语言程序设计练习题及参考答案Word下载.docx

《汇编语言程序设计练习题及参考答案Word下载.docx》由会员分享,可在线阅读,更多相关《汇编语言程序设计练习题及参考答案Word下载.docx(25页珍藏版)》请在冰豆网上搜索。

汇编语言程序设计练习题及参考答案Word下载.docx

14.下面指令中,操作数的寻址方式为寄存器间接寻址的指令是(C)

A.INCWORDPTR[BX+SI]

B.INCCX,[SI+COUNT]

C.NEGBYTEPTR[BX]

D.ADDAX,B

15.NUMEQU80H

DADB34H

ANDDA,NUM

上述语句执行后,DA中的内容是(D)

A.0B4HB.80HC.34HD.0

16.直接、间接、立即三种寻址方式指令的执行速度,由快至慢的排序为(A)

A.立即、直接、间接B.直接、间接、立即

C.直接、立即、间接D.不一定

17.语句DA1DB2DUP(3,5,7)汇编后,该语句可等同于的语句是(D)

A.DA1DB3,5,7

B.DA1DB2,3,5,7

C.DA1DB3,5,7,2

D.DA1DB3,5,7,3,5,7

18.MOVAL,80H

MOVCL,2

SARAL,CL

上述指令序列执行后,结果是(D)

A.AL=40HB.AL=20H

C.AL=0C0HD.AL=0E0H

19.下面是实现将AL内容加1的压缩型BCD码加法程序段,其中正确的指令序列是(A)

A.INCALB.ADDAL,1

DAADAS

C.ADDAL,1D.STC

DAAAAA

20.现有数据存储如图所示:

20H

38H

41H

55H

30100H

30101H

30102H

30103H

设AL=01H,BX=0100H,DS=3000H执行换码指令XLAT后正确的结果是(B)

A.AL=20HB.AL=38H

C.AL=00HD.AL=41H

21.若定义DATDW'

A'

,则(DAT)和(DAT+1)两个相邻的内存中存放的数据是(B)

A.0041HB.4100H

C.xx41HD.41xxH

[注]选项C.和D.中的XX表示任意数据。

22.假设VAR为变量,指令MOVBX,OFFSETVAR的寻址方式是(C)

A.直接寻址B.间接寻址

C.立即寻址D.存储器寻址

23.下列指令中,不影响标志位的指令是(A)

A.SUBBX,BXB.RORAL,1

C.JNCLabelD.INTn

24.假定(DS)=4000H,(DI)=0100H,(401OOH)=55H,(40101H)=AAH,试问执行指令LEABX,[DI]后,(BX)=(C)

A.0100HB.55AAH

C.AA55HD.4100H

25.直接、间接、立即三种寻址方式指令的执行速度,由快至慢的排序为(A)

A.直接、立即、间接D.直接、间接、立即

C.立即、直接、间接D.不一定

26.MOVAX,ES:

[BX][SI]的源操作数的物理地址是(B)

A.16×

(DS)+(BX)+(SI)B.16×

(ES)+(BX)+(SI)

C.16×

(SS)+(BX)+(SI)D.16×

(CS)+(BX)+(SI)

27.已知:

VARDW1,2,$+2,5,6

若汇编时VAR分配的偏移地址是0010H,则汇编后0014H单元的内容是:

(D)

A.6HB.14HC.5HD.16H

?

28.PC机采用向量中断方式处理8级外中断,中断号依次为08H~0FH,在RAM0:

002CH单元开始依次存放23H、FFH、00H和FOH四个字节,该向量对应的中断号和中断程序人口是(B)

A.0CH,23FF:

00F0HB.0BH,F000:

FF23H

C.0BH,00F0:

23FFHD.0CH,F000:

29.下列80X86指令中,不合法的指令是(D)

A.INAX,21HB.MOVBL,AL

C.MOVSBD.SHLAX,6

30.执行下面的程序段后,(AX)=(B)

DATASEGMENT

TABDW1,2,3,4,5,6

ENTRYEQU3

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

CODE

MOVAX,DATA

MOVDS,AX

...

MOVBX,OFFSETTAB

ADDBX,ENTRY

MOVAX,[BX]

...

A.0003HB.0300H

C.0400HD.0004H

31.下面指令中影响状态位CF的指令是(D)

A.INCAXB.DECAX

C.NOTAXD.NEGAX

32.判当CX=0时,转ZERO执行的错误指令是(D)

A.CMPCX,0B.MOVAX,CX

JZZEROJZZERO

C.ORCX,CXD.JCXZZERO

JZZERO

33.执行1号DOS系统功能调用后,从键盘输入的字符应存放在(A)

A.AL中B.BL中

C.CL中D.DL中

34.设数据定义如下:

ARRAYDW1,2,3

执行指令ADDSI,TYPEARRAY相当于完成下面同等功能的指令是(B)

A.ADDSI,1B.ADDSI,2

C.ADDSI,3D.ADDSI,0

35.设数据定义如下:

BUFDW100DUP(?

执行指令:

MOVCX,LENGTHBUF相当于完成下面同等功能的指令是(D)

A.MOVCX,00C8HB.MOVCX,0200H

C.MOVCX,0064HD.MOVCX,0100H

36.完成对字单元BUF的内容加1运算,下面错误的指令是(C)

A.MOVBX,BUFB.MOVBX,OFFSETBUF

INCBXINCWORDPTR[BX]

MOVBUF,BX

C.MOVBX,BUFD.MOVBX,0

INCWORDPTR[BX]INCWORDPTRBUF[BX]

37.完成对寄存器BX的内容求补运算,下面错误的指令是(D)

A.NEGBXB.NOTBX

INCBX

C.XORBX,0FFFFHD.MOVAX,0

INCBXSUBAX,BX

38.判当AX的内容为负数时,转MINUS执行,下面错误的指令是(D)

A.NOTAXB.TESTAX,8000H

JNSMINUSJNZMINUS

C.SHLAX,1D.ORAX,AX

JCMINUSJZMINUS

39.下面指令序列执行后,正确的结果是(D)

MOVAL,0FEH

ADDAL,AL

ADCAl,AL

A.AL=0F8HB.AL=0F8H

CF=1CF=0

C.AL=0F9HD.AL=0F9H

CF=0CF=1

40.现有数据存储如图所示:

40H

79H

24H

30H

设AL=01H,BX=0100H,DS=3000H执行换码指令XLAT后正确的结果是(D)

A.AL=00HB.AL=4OH

C.AL=01HD.AL=79H

41、一个8位二进制数的补码为10001010,其原码的16进制形式为C

A.-0AH  B.-75H  C.-76H  D.8AH

42、1号DOS功能调用时,欲将得到的数字的ASCII码转换为该数的实际数值时,可使用A指令来实现。

A.ANDB.ORC.XORD.NOT

43、设DS=8225H,DI=5678H,指令MOVAX,[DI]源操作数的物理地址是D

A.8D89DH  B.86198H  C.8B698H  D.878C8H

44、指令JGLAB是指当标志满足_B__条件时转移到标号LAB处执行

A.((SFXOROF)ORZF)=1B.(SFXOROF)=0ANDZF=0

C.(SFXOROF)=0ORZF=1D.CF=1

45、8086汇编语言中,BCD码的运算是借用二进制数的运算指令并加以调整来实现的。

其中非压缩型BCD码减法的调整指令为_C__

A.AAAB.DAAC.AASD.DAS

46、除法指令中,对于双字除以字运算,商在_A__寄存器中。

A.ALB.AHC.AXD.DX

47、MOVAX,COUNT[SI]的源操作数在_B__

A.CS段B.DS段C.SS段D.ES段

48、汇编程序至少必须有一个_A__

A.CS段B.DS段C.ES段D.SS段

49、LOOPNE指令当满足_C__时执行循环操作。

A.ZF=1且CX=0B.ZF=1且CX≠0

C.ZF=0且CX≠0D.ZF=0且CX=0

50、如果一标号与访问它的JMP指令之间的相对位移量在-128~+127字节的范围内,则可将该标号说明为_C__转移

A.FARB.NEARC.SHORTD.MIDDLE

51、10号功能调用可从键盘上输入一串字符,调用时_B___应指向一输入缓冲区。

A.DS:

AXB.DS:

DXC.ES:

AXD.ES:

DX

52、串操作指令中,目的串通过_D__两个寄存器寻址:

A.DS,SIB.DS,DIC.ES,SID.ES,DI

53、将DX的内容除以2,正确的指令是C___。

 

  A.DIV2  B.DIVDX,2  C.SARDX,1  D.SHLDX,1

54、在END语句中的标号名称能提供_B__寄存器的数值,作为程序执行时的起始地址。

SIB.CS:

IPC.ES:

DID.SS:

SP

55、段内调用时CALL指令将_B__保存进栈,以供过程返回时使用。

A.CSB.IPC.CS:

IPD.SS:

56、执行后使BX=0的同时也使CF=0,OF=0的指令是( A  )

  A.XORBX,BX    B.ORBX,BX

C.ANDBX,BX    D.CMPBX,BX

57、在执行DAA指令,当高四位BCD码校正时产生进位,如要把此进位值送入AH中,对这进位值的操作应是(C   )

A.DAA校正指令的功能已自动加在AH中

B.进位值在AF中,校正后根据AF内容再加在AH中

C.进位值在CF中,校正后根据CF内容再加在AH中

D.进位值在AL最高位上,校正后根据AL最高位内容再加在AH中

58、比较两个带符号的数A、B,当A=B时程序转移,测试的条件为( C  )

  A.ZF=1     B.ZF=0

C.SF=1     D.SF=0

59.设物理地址(21000H)=20H,(21001H)=30H,(21002H)=40H。

如从地址21001H中取出一个字的内容是( 

 

A.2030H 

B.3040HC.3020H 

D.4030H

60.没有语法错误的输入指令是( 

A.INAL,30H 

B.IN30H,ALC.INDX,AL 

D.INAL,[BX]

61.汇编语言源程序,可以是( 

A.可以直接由机器执行 

B.必须由编译程序生成目标程序才能执行

C.必须由解释程序生成目标程序才能执行

D.必须由汇编程序汇编成目标程序才能执行

62.设NUM1EQU100

NUM2=64H

下面指令执行后,使BL中为全1的指令是( 

A.MOVBL,NUM1EQNUM2 

B.MOVBL,NUM1LTNUM2

C.MOVBL,NUM1NENUM2 

D.MOVBL,NUM1GTNUM2

63.循环指令LOOPNZ终止循环的条件是(B)。

A、CX=0,且ZF=0

B、CX=0,或ZF=1

C、CX10,且ZF=0

D、CX10,或ZF=1

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

A、WORD

B、PAGE

C、BYTE

D、PARA

65.BUFDW10HDUP(3DUP(2,10H),3,5)

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

A、80HB、100HC、124D、192

二、填空题

1.Intel8086/8088CPU共有20根地址线,可直接寻址220字节存储空间。

2.ADD是一条双操作数指令,即一条指令有源操作数和目的操作数。

例如指令ADDOPR1,OPR2中的源操作数是OPR2,目的操作数是OPR1。

3.8086/8088的存储器是分段的,因此存储单元的物理地址是由段地址和偏移地址组合而成的。

4.PSW是一个八位的寄存器。

5.用DW1234H语句定义的一个字,如改用DB定义时,其语句是DB34H,12H。

6.执行ADDAX,BX指令后产生溢出则转移到ERROR处执行。

那么在ADD指令后,如AX,BX中是带符号数时,应选用的条件转移指令是JO,如是无符号数时,应选用的条件转移指令是JC。

7.8086/8088CPU允许的最大存储空间为1M,其地址编号从00000H到FFFFFH。

8.汇编语言是一种面向机器的语言。

完成将汇编语言源程序翻译成机器语言目的程序的翻译程序称汇编程序。

9.8086/8088的存储器是分段的,因此存储单元的物理地址是由段地址和偏移地址组合而成的。

10.标号和变量(名字)均有三种属性,它们是段、偏移和类型属性。

11.判断无符号数运算是否溢出应根据CF标志位;

而判断有符号数运算是否溢出应根

据OF标志位。

12.在16位存储单元中能存储的最大无符号数为65535,能表示的有符号数的范围是

H到103E7H。

-216~216-1

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

14.当标志位_CF_______=1时表示无符号数运算产生溢出,而当标志位_OF_______=1是表示带符号数运算产生溢出。

三、程序分析题

1.MOVAX,0F0FH

ANDAX,0FFFH

ORAX,0F0FH

XORAX,00FFH

上述程序段运行后,AX=0FF0H,CF=0

2.MOVAX,BX

NEGAX

ADDAX,BX

(注:

BX=0101H)

问:

该程序段执行后,AX= 0000H    ,CF= 1     。

3.BUFDW0000H

LEABX,BUF

STC;

进位位置1

RCRWORDPTR[BX],1

MOVCL,3

SARWORDPTR[BX],CL;

算术右移

该程序段执行后:

存储单元BUF的内容为 F000H    。

4.BLOCKDB 20H,1FH,08H,81H,0FFFH……

RESULTDB  ?

START:

 LEASI,BLOCK

 MOVCX,[SI]

INCSI

MOVAL,[SI]

LOP1:

CMPAL,[SI+1]

JNGNEXT

MOVAL,[SI+1]

NEXT:

LOOPLOP1

MOVRESULT,AL

HLT

(1)该程序完成的功能是:

找出存储单元block中的最小值。

(2)该程序的循环次数是:

20H。

5.CODESEGMENT

ASSUMECS:

START:

MOVCX,1

MOVBL,2

AGAIN:

MOVAL,BL

INCBL

MULBL

ADDCX,AX

CMPAX,002AH

JBAGAIN

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

(1)该程序所完成的功能可用算术表达式表示为sum=1+2*3+3*4+4*5+5*6+6*7。

(2)该程序完成后CX=6F。

6、ARY 

DW 

10 

DUP(?

MOV 

AL,TYPE 

ARY

BL,LENGTH 

CL,SIZE 

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

Moval,2

Movbl,0Ah

Movcl,14H

7、试分析下面程序段的功能是什么?

CMPDL,‘A’

JBDIS

CMPDL,‘Z’

JNADIS

LETTER:

ADDDL,20H

DIS:

MOVAH,2

INT21H

8、下列指令执行后,AL的内容是什么?

MOVAL,53H

ADDAL,69H

DAA

88H

9.DS:

5000H,CS=6000H,BX=1278H,SI=345FH,(546D7H)=00,(546D8H)=80H。

分别执行下述两条段内转移指令后,实际转移的目标物理地址各是多少?

(1)JMPBX

(2)JMP[BX+S1]

10.数据定义语句ARRARDW1,2,$+4,3,4,$+5如汇编时ARRAY分配的偏移地址为000AH,试指出ARRAY数组数据项$+4和$+5中的$分别是多少?

000E,0014

11.试按下列要求在数据段中依次书写各数据定义语句:

(1)DA1为首字节的连续存储单元中存放20H个重复的数据序列:

2,3,10个4,一个7

Da1db20hdup(2,3,10dup(4),7)

(2)DA2为字符串变量,用字变量(DW)设置一字符串:

'

STUDENTS'

(按此顺序存放在各单元中)

Da2dw‘st’,’ud’,’en’,’ts’

(3)用等值语句给符号COUNT赋值以DA1为首址的数据区共占有的字节数,此等值语句必须放在最后一语句。

Countequ$-da1

12.MOVDL,AL

NOTDL

TESTDL,04H

JENEXT

NEXT:

若上述程序段执行时产生分支,说明AL中的数第几位一定为1?

程序段执行后CF是多少?

3

13. 

MOVBL,64H

MOVCL,03H

XORAX,AX

AGAIN:

ADDAL,BL

ADCAH,0

DECCL

JNZAGAIN

问:

(1)该程序段完成的功能是:

64h*3放入ax中

   

(2)AX=_12C_______。

14.AT 

DB0AH,0BH,0CH,0DH,0EH,0FH,00H

MOVBX,0

LOP:

MOVDL,AT[BX]

CMPDL,0

JZDONE

ADDDL,37H

MOVAH,2

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

当前位置:首页 > 医药卫生 > 基础医学

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

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