《汇编语言》练习题库参考答案教学提纲.docx

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

《汇编语言》练习题库参考答案教学提纲.docx

《《汇编语言》练习题库参考答案教学提纲.docx》由会员分享,可在线阅读,更多相关《《汇编语言》练习题库参考答案教学提纲.docx(25页珍藏版)》请在冰点文库上搜索。

《汇编语言》练习题库参考答案教学提纲.docx

《汇编语言》练习题库参考答案教学提纲

华中师范大学网络教育学院

《汇编语言程序设计》练习测试题库参考答案

一、选择题答案:

1.B

2.C

3.B

4.C

5.C

6.C

7.A

8.A

9.D

10.C

11.B

12.A

13.C

14.B

15.A

16.D

17.A

18.A

19.D

20.A

21.A

22.D

23.C

24.B

25.C

26.D

27.B

28.D

29.A

30.A

31.D

32.A

33.D

34.D

35.D

36.D

37.B

38.C

39.A

40.D

41.A

42.C

43.B

44.B

45.C

46.D

47.D

48.D

49.A

50.A

51.D

52.B

53.C

54.A

55.B

56.C

57.A

58.C

59.D

60.C

61.A

62.D

63.C

64.C

65.D

66.A

67.B

68.C

69.B

70.D

71.D

72.A

73.D

74.C

75.D

76.C

77.C

78.D

79.D

80.B

二、判断题答案:

1.×

2.×

3.√

4.√

5.×

6.√

7.×

8.×

9.×

10.×

11.√

12.√

13.×

14.√

15.√

16.√

17.×

18.×

19.√

20.√

21.√

22.√

23.√

24.×

25.√

26.×

27.√

28√

29.√

30.√

31.√

32.√

33.√

34.√

35.√

36.√

37.√

38.√

39.×

40.√

41.×

42.√

三、填空题答案:

1.运行管理程序  

2.汇编程序汇编

3.存储器译码分析 

4.源地址目标地址存储器IO设备

5.63

6.64KD字节

7.不能64K

8.00

9.55

10.FF

11.55

12.源操作数

13.目的操作数

14.CNT1CL

15.字字节

16.带符号数无符号数

17.CFOF

18.SIDI

19.ALAXDF

20.ALAXSI

21.+-

22.段内转移  段间转移  

23.IPCS

24.段地址 偏移地址  

25.-128+127 

26.条件码

27.末尾

28.不影响

29.内部外部

30.IPCSPSW

31.第一个

32.不能

33.PTR

34.标号

35.":

"

36.PTR

37.地址表达式

38.SEG

39.OFFSET

40.TYPE

41.LENGTH

42.HIGH

43.标号、变量

44.指令、伪操作、宏指令的助记符

45.表达式

46.注释项

47.操作数项

48.顺序线性法

49.算法存储工作

50.1-几没有

51.00H4CH

52.数据工作

53.计数控制法

54.任一

55.256

56.已知未知

57.单重循环

58.满足

59.条件

60.DO-UNTILDO-WHILE

61.IF

62.EXE

63.堆栈,SS

64.;(或分号)

65.AH

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

67.中断,中断源。

68.SI,DI

69.接口

70.16H、10H和17H

71.ASCII码,属性

72.000DH85B92H 

73.85B92H   

74.SHLAX,1    SHL,AX,1     

75.OF,AF,PF  

76.DH=0F0H   CF=1 

77.+65528__,____-32760___

78.___状态___,__控制___

79._CF__,_OF___

80.下一条指令的首地址

81.___6__,___3__

82.__ES:

[DI]___

83.SI或DI

84. 320EH  

85. 100H

四、编程题答案:

1.试编写一个程序段,要求能从键盘接收一个个位数N,然后响铃N次(响铃的ASCII码为07)。

MOVAH,01

INT21H

MOVCH,AL

DOWN:

MOVAH,02H

MOVDL,07H

INT21H

DECCH

JNZDOWN

2.编写一个完整的汇编语言程序,在屏幕上显示“华中师范大学”的英文名称。

DATASEGMENT

STRDB”HUAZHONGSHIFANDAXUE$”

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

BEGIN:

MOVAX,DATA

MOVDS,AX

LEADX,STR

MOVAH,09H

INT21H

MOVAH,4CH

INT21H

CODEENDS

ENDBEGIN

3.编程求从1开始连续50个奇数之和,并将结果存放在SUM字存储单元中。

DATASEGMENT

SUMDW?

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

BEGIN:

MOVAX,DATA

MOVDS,AX

MOVCX,50

MOVAX,1

MOVBX,1

LOP:

ADDAX,BX

ADDBX,2

DECCX

JNZLOP

MOVSUM,AX

MOVAH,4CH

INT21H

CODEENDS

ENDBEGIN

4.已知数组A包含6个互不相等的整数,数组B包含9个互不相等的整数,试编一程序将在A、B两数组中都出现的整数存放于数组C中。

DATASEGMENT

ADB2,……

BDB5,…..

CDB?

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

BEGIN:

MOVAX,DATA

MOVDS,AX

LEASI,A

LEADI,B

LEABX,C

MOVCH,6

LOP1:

MOVCL,9

LOP:

MOVAH,[SI]

CMP[DI],AH

JNZL

MOV[BX],AH

INCBX

L:

INCDI

DECCL

JNZLOP

INCSI

LEADI.B

DECCH

JNZLOP1

MOVAH.4CH

INT21H

CODEENDS

ENDBEGIN

5.试编写从内存BUF单元开始的256个字单元的清零程序。

DATASEGMENT

BUFDW21,22,……..

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

BEGIN:

MOVAX,DATA

MOVDS,AX

LEABX,BUF

MOVCX,0FFH

LOP:

MOV[BX],0

ADDBX,2

DECCX

JNZLOP

MOVAH,4CH

INT21H

CODEENDS

ENDBEGIN

6.设在变量ADR为起始地址的字节存储单元中存放一组有符号数据,编写程序分别统计:

(1)正数的个数;

(2)负数的个数;(3)0的个数。

DATASEGMENT

ADRBD9,-1,3,-5,4,….

SUMDB?

?

?

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

BEGIN:

MOVAX,DATA

MOVDS.AX

LEABX,ADR

LOP:

MOVAH,[BX]

CMPAH,0

JZL1

JLL2

INCCH

JMPDOWN

L1:

INCCL

JMPDOWN

L2:

INCDL

DOWN:

DECDL

JNZLOP

MOVSUM,CL

MOVSUM+1,CH

MOVSUM+2,DL

MOVAH,4CH

INT21H

CODEENDS

ENDBEGIN

7.在DATA1首址区有100个字节数据,试编写一个完整程序,将其中的奇、偶数分开。

统计奇、偶数的个数,并将奇数送DATA2首址区,偶数送DATA3首址区。

DATASEGMENT

DATA1DB12,3,4,……..

DATA2DB100DUP(?

DATA3DB100DUP(?

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

BEGIN:

MOVAX,DATA

MOVDS,AX

LEABX,DATA1

LEASI,DATA2

LEADI,DATA3

MOVCH,0

MOVCL,0

MOVDX,100

LOP:

MOVAH,[BX]

TESTAH,01H

JNZL

MOV[DI],AH

INCDI

INCCL

JMPL1

L:

MOV[SI],AH

INCSI

INCCH

L1:

INCBX

DECDX

JNZLOP

MOVAH,4CH

INT21H

CODEENDS

ENDBEGIN

8.编写一程序段,将AL中的第7位和第0位,第6位和第1位,第5位和第2位,第4位和第3位互换。

MOVCX,8

  MOVAH,0

K1:

SHRAL,1

  RCLAH,1

  DECCX

  JNZK1

  MOVAL,AH

9.编制一个程序求数组变量ARRAY中有多少个二进制位为1的程序。

DATASEGMENT

ARRAYDW-l,7FFFH,-80000H.+9,-56ABH

  DW0B12H,-2,O,6578H,30EFH

  COUNTEQU($-ARRAY)/2

  NUMBITDB2DUP(?

  TEMDW?

DATAENDS

 STACKSEGMENT

  STAPNDB1000DUP(?

 SYACKENDS

  CODESEGMENT

  ASSUMECS,CODE,DS:

DATA,SS:

STACK

  BEGINPROCFAR

  PUSHDS

  SUBAX,AX

  PUSHAX

  MOVAX,DATA

  MOVDS,AX

  MOVAX,STACK

  MOVSS,AX

  MOVTEM,SP

  LEABX,ARRAY

  MOVCX,COUNT      

GOON:

MOVAX,LBX]   

AGAIN:

SHLAX,1

  JNCNEXT

  ADDWORDPTRNUMBIT+1

  ADCNUMBIT+2,0

  NEXT:

ANDAX,AX

  JNZAGAlN        

  ADDBX,2         

LOOPGOON        

MOVSP,TEM      

RET

  BEGINENDP

CODEENDS

10.写一子程序CRLF,其功能是输出回车换行。

CRLFPROC

   PUSHAX

   PUSHDX  

MOVAH,2 

MOVDL.0DH

INT21H  

MOVDL,0AH

INT21H  

POPDX

POPAX  

RET     

CRLFENDP

11.编一程序将字节变量DATAl中的压缩BCD数转换成二进制数,并将其存储到原变量中去的程序。

DATASEGMENT

  DATAlDB99H

  TEMDW?

  DATAENDS

  STACKSEGMENT

STABDBl00DUP(?

STACKENDS

CODESEGMENT

  ASSUMECS;CODE,DS:

DATA,SS:

STACK

  STARTPROCFAR

PUSHDS

  SUBAX,AX

  PUSHAX

  MOVAX,DATA

  MOVDS,AX

  MOVTEM,SP        

MOVAL,DATAl      

MOVCL.4

  SHRAL,CL         

MOVDL,lO

  MULBL           

MOVDL,Al         

MOVAL,DATAl

  ANDAL,0FH        

ADDAL,BL        

  MOVDATA1。

AL      

  MOVSP,TEM

  RET

  STARTENDP

CODEENDS

  ENDSTART

12.试编写一程序段,在CHAR为首址的26个字节单元中依次存放字母'A'~'Z'。

chardb26dup(?

...

start:

leabx,char

   moval,'A'

   movcx,26

lop1:

mov[bx],al

   incal

   incbx

   looplop1

...

13.设在DAT1,DAT2字单元中存放一双字长有符号数,编一程序段,完成求出该双字长数的绝对值后送ABS1和ABS2字存储单元。

start:

movax,dat1    

   movdx,dat2    

   ordx,dx     

   jnsnext     

   notax      

   notdx      

   addax,1     

   adcdx,0     

next:

movabs1,ax    

   movabs2,dx    

14.有两个无符号数分别存放于DATA1和DATA2单元,要求将两数中大的一个挑选出来,并送入DATA3单元。

MOVAL,DATA1

CMPAL,DATA2

JNCS1

MOVAL,DATA2

S1:

MOVDATA3,AL

HLT

15.试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。

 …

BEGIN:

MOVAH,1

    INT21H

    CMPAL,’a’

    JBSTOP

    CMPAL,’z’

    JASTOP

    SUBAL,20H

    MOVDL,AL

    MOVAH,2

    INT21H

    JMPBEGIN

    STOP:

RET

16.编制程序段实现:

将AX寄存器中的16位二进制数分成四组,每组4位,然后把这4组数分别放在AL、BL、CL、和DL中。

BC

MOVBH,AL

MOVCH,AH

MOVAL,AH

ANDAL,0F0H

MOVBL,AH

ANDBL,0FH

MOVCL,BH

ANDCL,0F0H

MOVDL,BH

ANDDL,0FH

17.编制完整程序实现下列算式:

W=X+Y+36-Z。

设X、Y、Z、W均为双字长数据,各自的低十六位数和高十六位数分别存放在X、X+2、Y、Y+2、Z、Z+2的存储单元中,结果的低十六位字和高十六位字分别存放在W和W+2两个单元中。

BC

DATASEGMENT

XDD…

YDD…

ZDD…

WDD…

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVAX,X

ADDAX,Y

MOVBX,X+2

ADCBX,Y+2

ADDAX,36

ADCBX,0

SUBAX,Z

SBBBX,Z+2

MOVW,AX

MOVW+2,BX

CODEENDS

ENDSTART

18.下述程序段完成计算2~20之间的偶数的和,并存于AX中。

试把空白处填上适当的指令。

CXTK

XORAX,AX

MOVBX,0

MOVCX,10或MOVCX,0AH

CONT:

ADDAX,BX

ADDBX,2

LOOPCONT

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

BC

   DATA SEGMENT

   DA1 DW XXXX

   DATAENDS

答:

CODESEGMENT

         ASSUMECS:

CODE,DS:

DATA

      START:

MOV AX,DATA

             MOV DS,AX

             LEA SI,DA1

             MOV CX,16

             XORBL,BL

      AGAIN:

MOV AL,[SI]

             HLAL,1

             JCNEXT

             INCBL

       NEXT:

INCSI

             LOOPAGAIN

             TESTBL,01H

             JNE L1

             CLC

             JMPDONE

          L1:

STC

        DONE:

MOVAH,4CH

              INT21H

        CODEENDS

             ENDSTART

20.设在内存单元SQTAB首址开始存放了0~15的平方数表。

要求用直接查表法编一程序,求出A单元中给定数(<=15=的平方值送B单元保存。

BC

答:

DATASEGMENT

    SQTABDB0,1,4,9,16,25,36,49,64,81

    DB100,121,144,169,196,225

    ADB12

    BDB?

    DATAENDS

    CODESEGMENT

    ASSUMECS:

CODE,DS:

DATA

    STARTPROCFAR

    PUSHDX

    XORAX,AX

    PUSHAX

    MOVAX,DATA

    MOVDS,AX

    MOVBX,OFFSETSQTAB

    MOVAL,A

    XLAT

    MOVB,AL

    RET

    STARTENDP

    CODEENDS

    ENDSTART

 

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

当前位置:首页 > 初中教育 > 语文

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

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