汇编语言练习题.docx

上传人:b****1 文档编号:1085168 上传时间:2022-10-16 格式:DOCX 页数:17 大小:26.64KB
下载 相关 举报
汇编语言练习题.docx_第1页
第1页 / 共17页
汇编语言练习题.docx_第2页
第2页 / 共17页
汇编语言练习题.docx_第3页
第3页 / 共17页
汇编语言练习题.docx_第4页
第4页 / 共17页
汇编语言练习题.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

汇编语言练习题.docx

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

汇编语言练习题.docx

汇编语言练习题

一、单项选择题(共20题)

1.对于有符号的数来说,下列哪个值最大(D)

A:

0F8HB:

11010011BC:

82D:

123Q

2.下列有关汇编语言中标号的命名规则中,错误的是(D)

A:

通常由字母打头的字符、数字串组成B:

标号长度不能超过31个字符

C:

和$不能单独作为标号D:

.号不可位于标号首

3.设A=0.4H,B=0.8H,C=0.4,D=0.4Q,它们之间的关系是(C)。

A.C+D=BB.A+D=B

C.B=DD.A>C>D

4.下列四个寄存器中,可作为十六位寄存器的是(C)

A.DLB.CL

C.BPD.EBX

5.8088/8086存储器分段,每个段不超过(D)

A.64K个字B.32K个字节C.1兆个字节D.64K个字节

6.寻址指令MOVCX,[BX+DI+20]使用的是哪一种寻址方式(B)

A:

寄存器寻址B:

相对基址变址寻址

C:

变址寻址D:

基址变址寻址

7.连接程序把汇编语言源程序生成的目标文件(.OBJ文件)转换成(B)。

A..OBJ文件B..EXE文件

C..LST文件D..CRF文件

8.在程序运行过程中,确定下一条指令的物理地址的计算表达式是(A)。

A.(CS)×16+(IP)B.(DS)×16+(DI)

C.(SS)×16+(SP)D.(ES)×16+(SI)

9.若AX=-15要得到AX=15应执行的指令是(A)

A.NEGAXB.NOTAX

C.INCAXD.DECAX

10.8086/8088系统执行传送指令MOV时(A)

A.不影响标志位B.影响DF方向标志

C.影响SF符号标志D.影响CF进位标志

11.执行下列程序后,(AL)=(D)H。

DATASEGMENT

TABDB‘0123456789’

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVBX,OFFSETTAB

MOVAL,04

XLATTAB

A.04B.0400

C.33D.34

12.下列指令中操作数在代码段中的是(A)。

A.MOVAL,25HB.ADDAH,BL

C.INCBYTEPTR[25H]D.CMPBL,AL

13.若要求一个操作数中的若干位维持不变,若干位置“1”,可以使用(B)

A:

NOTB:

ORC:

ANDD:

XOR

14.下列指令中段默认为堆栈段的是(C)

A.MOVAX,[BX+SI+10]B.ADDAX,ES:

[SI]

C.SUB[BX],[BP][DI]D.MOVDX,[1000H]

15.设BL=05H,要使结果BL=0AH,应执行的指令是(C)。

A.NOTBLB.ANDBL

C.XORBL,0FHD.ORBL,0FH

16.表示一条指令的存储单元的符号地址称(A)。

A.标号B.变量

C.偏移量D.类型

17.关于8086/8088微机系列,下列说法哪个是正确的(D)

A:

一个存储单元由16个二进制位组成,简称字。

B:

当存储一个字数据时,低字节放高地址位,高字节放低地址位。

C:

在内存空间中,可以无限分配段,且段的大小不受限制。

D:

段与段之间可以邻接,也可以重叠。

18.下列关于堆栈的说法,错误的是(D)

A:

以“先入后出”为原则。

B:

栈区最高地址单元的前一个单元为栈底。

C:

运行中SP寄存器动态跟踪栈顶位置。

D:

压栈和弹出都是以字节为单位。

 

19.分配给INT12H在中断向量表中的物理地址是(D)。

A.12HB.24H

C.36HD.48H

20.DOS调用INT21H的键盘输入功能1和功能8的区别是(B)。

A.功能1不回显而功能8回显B.功能1回显而功能8不回显

C.功能1和功能8都不回显D.功能1和功能8都回显

二、填空题(共27题)。

(最后二题有备选答案)

1.设一存储单元中的二进制代码是83H,其对应的一个无符号数是148,一个带符号数是-108。

2.8086/8088系统中,I/O端口地址范围是0000H~FFFFH。

3.8086/8088系统中,段内一个单元相对段的起始地址的距离称为偏移地址,它小于64K。

4.8086/8088CPU内部用来存放段地址的寄存器有CS,DS,ES,SS。

5.在PC机中,使用SS、SP合成20位的物理地址,用以指向当前堆栈桟顶的位置。

6.一个字单元由二个连续的字节单元组成,其中数据的低8位存放在低地址单元、高8位存放在高地址单元。

7.在指令中直接给出操作数的寻址方式称为立即寻址方式。

8.设MASK为一个变量,在“MOVAX,MASK[SI+BX]”指令中,源操作数的寻址方式是相对基址变址寻址方式,其物理地址是(DS)×16+(SI)+(BX)+OFFSETMASK,目的操作数的寻址方式是

寄存器寻址方式。

9.若(SS)=1100H,(SP)=0150H,那么执行PUSHEAX指令后SP的内容是014CH,再执行POPCX指令后桟顶的物理地址是1114EH。

10.CPU执行“JMPBX”指令只改变IP,而不改变CS内容。

11.执行CALLNEARPTRSUBROUT时,在修改IP/EIP内容之前应该PUSHIP或PUSHEIP。

12.STRINGDB‘ABCDEFG’

COUNTEQU$-STRING

COUNT的值是7,表示的意义是表示变量STRING所分配的字节数。

13.数据定义语句:

TABDW100DUP(?

执行MOVBX,LENGTHTAB指令后,BX的内容是100。

14.循环程序可由三个部分组成:

设置循环初始部分、循环体和循环控制部分。

15.在多个模块中传递参数的时候,在本模块中要使用另一个模块中的符号要用EXTRN伪操作进行说明符号,本模块中的符号要提供给另一个模块使用要用

PUBLIC伪操作进行说明符号,

16.宏汇编的三个步骤是:

宏定义、宏调用和宏展开。

17.每种类型的中断都由相应的中断处理程序来处理。

18.下列程序段求数组FLD的平均值,结果在AL中。

请将程序填写完整(不考虑溢出)

FLDDW10,-20,30,-60,-71,80,79,56

LEASI,___FLD___

MOVCX,8

XORAX,AX

R1:

ADDAX,_[SI]____

ADDSI,2

LOOPR1

MOVCL,8

IDIVCL

HLT

19.MOVAX,1090H

SUBAX,4AE0H

JCL1

JOL2

JMPL3

上述程序执行后AX=___C5BO____,程序转向___L1____

20.假设寄存器AX=1234H,DX=0A000H

MOVBX,0

MOVCX,BX

SUBCX,AX

SBBBX,DX

MOVAX,CX

MOVDX,BX

上述程序段执行后AX=___OEDCCH____,DX=__5FFFH_____

21.MOVAX,234H

MOVCL,3

ROLAX,CL

DECAX

MOVCX,4

MULCX

此段程序执行完后,(AX)=__467CH_____,(CX)=___4____

22.DA1 DB83H,72H,61H,94H,5AH

      MOVCX,WORDPTR[DA1]

    ANDCX,0FH

    MOVAL,[DA1+3]

    SHLAL,CL

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

23.阅读如下程序片段

MOVAL,4CH

MOVBL,86H

ADDAL,BL

执行上述程序片段后,(AL)=0D2H,(BL)=86H,

CF=0,OF=0

24.以下程序求出首地址为BUF的M字数组的内容之和。

DATASEGMENT

BUFDWX1,X2,…,XM

COUNTEQU($一BUF)/2

SUMDW?

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVBX,OFFSETBUF

MOVCX,COUNT

MOVAX,0

LOP1:

ADDAX,[BX]

ADDBX,2

LOOPLOP1

MOVSUM,AX

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

25.以下程序完成将键盘输入的小写字母转换成大写字母并输出显示,直到输入字符“$”结束。

DATASEGMENT

ERRORDB“INPUTEXCEEDS‘a’~‘z’,PLEASEINPUTAGAIN!

”,0DH,0AH,‘$’

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

NEXT:

MOVAH,1

INT21H

CMPAL,‘$’

JEEXIT

CMPAL,‘a’

JBERR

CMPAL,‘z’

JAERR

SUBAL,20H

MOVDL,AL

MOVAH,2

INT21H

JMPNEXT

ERR:

LESDX,ERROR

MOVAH,9

INT21H

JMPNEXT

EXIT:

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

26.下面子程序完成把BX寄存器内的二进制数用十六进制数的形式在屏幕上显示出来。

BINTOHEXPROCNEAR

PUSHCX

PUSHAX

PUSHDX

MOVCH,4

ROTATE:

MOVCL,4

ROLBX,CL

MOVAL,BL

2

ADDAL,30H

CMPAL,3AH

1

ADDAL,7H

PRINTIT:

MOVDL,AL

MOVAH,2

INT21H

3

JNZROTATE

POPDX

POPAX

POPCX

RET

BINTOHEXENDP

备选答案:

①JLPRINTIT

②ANDAL,OFH

③DECCH

27.下面程序段是判断寄存器BL中第3位、第5位是否同时为1,如同时为1,则AH置0,否则AH置全l。

    MOVDL,BL

NOTDL

2

JZZERO

MOVAH,0FFH

1

ZERO:

MOVA

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

当前位置:首页 > 解决方案 > 工作计划

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

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