视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
汇编语言考试复习试题及答案
2025-10-05 05:15:50 责编:小OO
文档
《汇编语言》考试复习题及答案

一、单项选择题(共20小题,每小题1分,共20分)在每题列出的四个备选项中只有一个是符合要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。

1.CPU要访问的某一存储单元的实际地址称(   )

  A.段地址         B.偏移地址

  C.物理地址        D.逻辑地址

2.某存储单元的物理地址是12345H,可以作为它的段地址有(   )

  A.2345H       B.12345H

  C.12340H       D.1234H

3.执行后使BX=0的同时也使CF=0,OF=0的指令是(   )

  A.XORBX,BX    B.ORBX,BX

  C.ANDBX,BX    D.CMPBX,BX

4.循环控制指令LoopNZ/LoopNE控制循环继续执行的条件是(   )

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

  C.CX≠0或ZF=1    D.CX≠0或ZF=0

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

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

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

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

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

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

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

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

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

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

7.在执行下列指令时,需要使用段寄存器DS的指令是(   )

  A.STOSW       B.ADDAL,CL

  C.NEGBX       D.INCDA[BX]

8.无论BH中原有的数是奇数或偶数,若要使BH中的数一定为奇数,应执行的指令是(   )

  A.ADDBH,01H     B.ORBH,01H

  C.XORBH,01H     D.TESTBH,01H

9.完成对CL寄存器的内容乘以4的正确操作是(   )

  A.ROLCL,1       B.MUL4

   ROLCL,1

  C.SHLCL,1       D.MOVCL,2

    SHLCL,1           SHLCL,CL

10.下面各传送指令中,正确的是(   )

  A.MOV[DI],[SI]            B.MOV[DX+DI],AL

  C.MOVWORDPTR[BX],0100H      D.MOVAL,BX

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

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

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

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

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

12.要实现使BETA的值为56,应采用语句为(   )

  A.BETADB56     B.BETADB56H

  C.BETAEQU56     D.BETAEQU56H

13.REPZCMPSW指令,重复执行的终止条件是(   )

  A.CX=0或ZF=0     B.CX=0且ZF=0

  C.CX=0或ZF=1     D.CX=0且ZF=1

14.下面程序段执行后,AL中的内容是(   )

  MOVAX,8833H

  ADDAL,AH

  DAA

  A.21      B.21H

  C.0C1H     D.0DDH

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

  A.ZF=1     B.ZF=0

  C.SF=1     D.SF=0

16.检查二个无符号数的关系,若要实现AL≥BL时分支去LOP1处,那么在“CMPAL,BL”指令后应跟的分支指令是(   )

  A.JNCLOP1     B.JALOP1

  C.JCLOP1     D.JGELOP1

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

  A.STOSW     B.LODSW

  C.SCASW     D.CMPSW

18.设AL=0AH,下列指令执行后能使AL=05H的是(   )

  A.NOTAL       B.ANDAL,0FH

  C.XORAL,0FH     D.ORAL,0FH

19.DA1DW‘AB’,‘CD’,‘EF’,‘GH’(   )

MOVAX,DA1+3

指令执行后AX中的内容是

  A.‘EF’  B.‘CD’

  C.‘BC’  D.‘FC’

20.使用DOS系统功能调用时,使用的软中断指令是(   )

  A.INT21    B.INT10H

  C.INT16H    D.INT21H

二、填空题(本大题共12空,每空0.5分,共6分)请在每小题的空格中填上正确答案。错填、不填均无分。

21.十六进制数0FFF8H表示的十进制正数为________,表示的十进制负数为________。

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

23.CPU的标志寄存器中标志位,可以分为两大类,其中一类称为________标志位,另一类称为________标志位。

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

25.如JMP指令采用段间间接寻址,那么由4个相邻字节单元中存放有转移地址,其中前两个字节存放的是________,而后两个字节存放的是________。

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

三、简答题(本大题共4小题,每小题2分,共8分)

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

(1)MOVAL,[BX]

(2)MOVCS:[BX+DI],AH

28.0P1DB1,2

0P2DW3412H,5678H

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

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

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

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

(1)AD2DW10DUP(?),10

(2)AD3DD100DUP(?)

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

MOV[BX],[SI]

MOVAX,DL

四、程序分析题(本大题共6小题,每小题6分,共36分)

31.MOVDL,AL

NOTDL

TESTDL,04H

JENEXT

NEXT:…

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

32.DA1DB‘ABCDEFGHI’

DA2DB9DUP(0)

LEASI,DA1

LEADI,DA2

MOVCX,9

CLD

LOP:LODSB

SUBAL,10H

STOSB

LOOPLOP

...

试问:①写出程序执行后DA2各字节中的数据。

   ②保持程序功能情况下,程序中可否改写为

33.已知:BX=4567H

NEGBX

INCBX

NEGBX

DECBX

程序段执行后,BX=________,CF=________。

34.MOVBL,H

MOVCL,03H

XORAX,AX

AGAIN:ADDAL,BL

ADCAH,0

DECCL

JNZAGAIN

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

   (2)AX=________。

35.已知数据段中定义

DAT1DB12H,34H,56H,78H

MOVCX,0

MOVAX,WORDPTRDAT1

MOVCL,DAT1+3

当程序段执行完后AX=________,CX=________。

36.DA1DB83H,72H,61H,94H,5AH

MOVCX,WORDPTRDA1

ANDCX,0FH

MOVAL,DA1+3

SHLAL,CL

上述指令序列执行后,AL=_______,CL=_______。

五、程序填空题(本大题共2小题,每小题6分,共12分)

37.在NUMW单元存放有一个0-65535范围内的整数,将该数除以500,商和余数分别存入QU1和REM单元,请在空行处各填上一条指令完善该程序。

MOVAX,NUMW

_____________

XORDX,DX

DIVBX

MOVQUI,AX

_____________

38.某程序欲用单个字符显示的2号功能调用去显示STRING中的字符串‘COMPUTER’(不显示字符‘$’!).试在空白处填上适当的一条指令。

STRINGDB‘COMPUTER’,‘$’

MOVBX,0FFSETSTRING

LOP:MOVDL,[BX]

MOVAH,02H

INT21H

____________________

____________________

JNELOP

六、编程序题(本大题共2小题,第39小题6分,第40小题12分,共18分)

39.试编制一程序段,用串操作指令实现以DA_BY为首址的20H个字节单元中存放相同字符‘Y’(设DA_BY存储区已有ES指向)。

40.试编制一源程序,统计DA1字单元中含0的个数,如统计的个数为奇数,则将进位位置1,否则进位位清0。

DATASEGMENT

DA1DWXXXX

DATAENDS

汇编语言程序设计试题答案

一、

1、C;2、D;3、A;4、B;5、C;

6、C;7、D;8、B;9、C;10、C;

11、B;12、C;13、A;14、B;15、A

16、C;17、D;18、C;19、D;20、B

二、

21、+65528;-32760

22、20A8H;11488H

23、状态;控制

24、CF;OF

25、IP;CS

26、STOS;CMP

三、

27、(1)21357H;(2)43357H

28、MOVAX,WORDPTR(OP1+1)

MOVBL,BYTEPTR(OP2+1)

29、(1)22;(2)400

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

操作数类型不匹配

四、

31、第2位;CF=0

32、1234567;不能更改

33、BX=4565H;CF=1

34、AX=012CH,将AX内容乘3送BX中

35、AX=3412H,CX=0078H

36、AL=0A0H,CL=03H

五、

37、MOVBX,500

MOVREM,DX

38、INCBX

CMP[BX],24H

六、

39、LEADI,DA_BY

MOVCX,32

MOVAL,‘Y’

CLD

REPSTOSB

40、CODESEGMENT

ASSUMECS:CODE,DS:DATA

START:MOVAX,DATA

MOVDS,AX

LEASI,DA1

MOVCX,16

XORBL,BL

AGAIN:MOVAL,[SI]

HLAL,1

JCNEXT

INCBL

 NEXT:INCSI

LOOPAGAIN

TESTBL,01H

JNEL1

CLC

JMPDONE

L1:STC

DONE:MOVAH,4CH

INT21H

CODEENDS

ENDSTART下载本文

显示全文
专题