汇编语言练习题汇编.docx

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

汇编语言练习题汇编.docx

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

汇编语言练习题汇编.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:

MOVAH,0

NEXT:

备选答案:

①JMPNEXT

②TESTDL,28H

三、判断题(在正确的叙述或指令前打✓,错误的题前打✗)(共20题)

(X)1.PUSH5588H

(X)2.MOVDS,1720H

(X)3.ADDAX,CL

(X)4.ANDAX,[DX]

(X)5.MOVCS,0600H

(X)6.PUSH074CH

(X)7.ADDAX,CL

(X)8.ORBX,[CX]

(V)9IMULDX

(X)10.XORAL,BX

(X)11.MOV[DX],BX

(X)12.SUBEAX,[ECX*10+100]

(X)13.MOVDS,1200H

(X)14.XCHG256,[100H]

(V)15.OUTDX,AX

(X)16.LEAVAR,[BP+SI]

(X)17.NEG88

(V)18.INCWORDPTR[100H]

(V)19IMULDX

(X)20.XORAL,BX

四、简答题(共4题)

1.标志寄存器:

标志寄存器:

是8086/088中唯一按位操作的寄存器,该寄存器为16位,有效的标志位共9位。

其中,CF,PF,AF,ZF,SF,OF为状态标志,用于反映最近一次影响标志位的算术或逻辑运算中运算过程、运算结果的一些性质;TF,IF,DF为控制标志,用于控制CPU对某些特定事件的处理方式以及CPU的工作模式。

2.逻辑地址:

逻辑地址:

由两个16位的地址分量构成,其中一个为段基值,另一个为偏移量,两个分量均为无符号数编码。

物理地址=段基值×16+偏移量.

3.下列程序段执行完后,SF、ZF、CF、OF的内容是什么?

MOVBX,4321H

ADDBX,1234H

SF=0ZF=0CF=0OF=0

4.下列ASCⅡ码串(包括空格串)依次存储在起始地址为CSTRING的字节单元中:

CSTRINGDB‘PERSONALCOMPUTER’

请编写指令将字符串中的第1个和第7个字符传给DX寄存器。

MOVDX,CSTRING

MOVDX,CSTRING+6

五、程序分析题(分析程序段总的功能或回答相关问题或运行结果)(共14题)。

1.阅读如下程序片段

MOVAL,4CH

MOVBL,0B5H

ADDAL,BL

执行上述程序片段后,(AL)=01H,(BL)=0B5H,CF=1,OF=0

2.阅读如下程序片段

MOVAL,0F3H

MOVDL,0C4H

ADDAL,DL

ANDAL,0FH

执行上述程序片段后,(AL)=7H,CF=0,OF=0,PF=0

3.阅读如下程序片段

MOVAL,7EH

MOVCL,04H

ROLAL,CL

执行上述程序片段后,(AL)=0F9H,(CL)=04H,CF=1,OF=无意义

4.阅读如下程序片段

MOVAX,0632H

MOVBX,0C202H

SUBAX,BX

INCAX

执行上述程序片段后,(AX)=4421H,(CF)=1,OF=0,PF=0

5.阅读如下程序片段,假设(DS)=0100H,字节单元(01024H)=56H,字节单元(01025H)=28H

MOVBX,0024H

LEABX,[BX]

ORBX,0

ADCBX,[BX]

执行上述程序片段后,(BX)=287AH,(CF)=0,OF=0,PF=0

6.阅读如下程序片段,假设(SP)=0064H

MOVAX,0001H

MOVBX,0002H

PUSHAX

PUSHBX

POPAX

POPBX

执行上述程序片段后,(AX)=0002H,(BX)=0001H,(SP)=0064H。

(CF)=0

7.DATASEGMENT

TABDW1,2,3,4,5

ENTRYDW2

DATAENDS

MOVBX,OFFSETTAB

ADDBX,ENTRY

MOVAX,[BX]

MOVCX,TYPETAB

MOVDX,SIZETAB

执行上述指令后,(AX)=3,(CX)=2,(DX)=2。

8.MOVAX,W

IMULX

MOVBX,Y

ADDBX,6

IDIVBX

MOVZ,AX

MOVR,DX

上述程序段中X,Y,Z,R,W均为有符号数的字变量,试说明上述程序段完成什么功能。

求数值表达式的值:

(W*X)/(Y+6)→Z,余数→R

9.

MOVAX,1234H

MOVCL,8

ROLAX,CL;这条指令执行后,(AX)=3412H

DECAX;这条指令执行后,CF不变

MOVCX,4

MULCX;这条指令执行后,SF=1

10.CMPDX,BX

JGX

JLY

CMPAX,CX

JAX

X:

Y:

有两个双精度数α、β分别存储于DX、AX及BX、CX中,上述程序段完成的功能是什么?

完成的功能是:

如果α.>β,则转向X执行,否则转向Y执行。

11.设有宏定义如下:

TRANSMACROBUF1,BUF2

MOVAX,BUF1

MOVBX,BUF2

MOVBUF1,BX

MOVBUF2,AX

ENDM

请说明宏指令完成的功能是什么?

并将宏调用TRANSWORD_VAR1,WORD_VAR2进行宏扩展。

宏定义完成的功能是:

将两个存储单元BUF1和BUF2的内容互换。

宏调用TRANSWORD_VAR1,WORD_VAR2的宏扩展是

MOVAX,WORD_VAR1

MOVBX,WORD_VAR2

MOVWORD_VAR1,BX

MOVWORD_VAR2,AX

12.分析下面程序段,回答指定问题:

XORAL,AL

CALLSUBROUT

MOVBL,AL

CALLSUBROUT

RCRAL,1

SUBROUTPROCNEAR

NOTAL

JSNEXT

STC

NEXT:

RET

SUBROUTENDP

上述程序执行后,(AL)=80H,(BL)=0FFH。

13.试回答下面程序段执行后完成什么功能?

OLDSDB‘COMPUTER’

NEQU$-OLDS

NEWSDB‘COMPUTOR’

LEASI,OLDS

LEADI,NEWS

MOVCX,N

CLD

REPECMPSB

JNZNEW_ADDRESS

OLD_ADDRESS:

NEW_ADDRESS:

比较字符串OLDS和NEWS是否相同,若不相同则转到NEW_ADDRESS执行,否则转到OLD_ADDRESS

14.MOVCX,L

LEADI,ARRAY

MOVAL,20H

CLD

REPNESCASB

JNZNOT_FOUND

NOT_FOUND:

试回答上述程序段完成的功能是什么?

在长度为L的字符串ARRAY中查找空格,若有空格在顺序执行,否则转向NOT_FOUND。

六、计算题(共2小题)

1.将十进制数100分别转换为二进制、十六进制数,它们的表示形式分别为多少?

二进制为01100100B,十六进制为64H

2.假设(DS)=0C00H,(BX)=0210H,对于指令MOVDS:

100H[BX],AL,其目的操作数的物理地址为多少?

EA=(BX)+0100H=0310H,物理地址=0C000H+0310H=0C310H

七、程序设计题(共4题)

1.试编写一程序片段,实现BL高4位与低4位相互交换

MOVCL,4

ROLBL,CL

2.试编写一程序片段,不使用乘除法指令,实现((AX)*5+14)/2的功能(AX中的数据理解为补码)

MOVBX,AX

MOVCL,2

SALAX,CL

ADDAX,BX

ADDAX,14

SARAX,1

3.D1DW?

D2DW?

定义了两个双精度数。

编写一条宏定义DSUB,完成双精度数D1减去双精度数D2,差存放在D2中,两个双精度数为变元。

DSUBMACROD1,D2

MOVAX,D1

MOVDX,D1+2

SUBAX,D2

SBBDX,D2+2

MOVD2,AX

MOVD2+2,DX

ENDM

DNEGMACROD1,D2

MOVEAX,D1

SUBEAX,D2

MOVD2,EAX

ENDM

4.现有下列数据段:

DATASECMENT

二、大学生DIY手工艺制品消费分析STR1DB‘ABCDEFGHIJKL’

COUNTEQU$—STR1

BUFDBCOUNTDUP(0)

DATAENDS

试用串指令编写一个完整的程序:

实现把STR1中所有字符逆向传送到BUF缓冲区(即STR1中第一个字符送到BUF的最后一个单元,STR1中最后一个字符送到BUF的第一个单元)。

8、你是如何得志DIY手工艺制品的?

DATASECMENT

(五)DIY手工艺品的“价格弹性化”STR1DB‘ABCDEFGHIJKL’

在上海,随着轨道交通的发展,地铁商铺应运而生,并且在重要的商业圈已经形成一定的气候,投资经营地铁商铺逐渐成为一大热门。

在人民广场地下“的美”购物中心,有一家DIY自制饰品店---“碧芝自制饰品店”。

COUNTEQU$—STR1

标题:

大学生究竟难在哪?

—创业要迈五道坎2004年3月23日BUFDBCOUNTDUP(0)

DATAENDS

CODESEGMENT

ASSUMECD:

CODE,DS:

DATA,ES:

DATA

START:

MOVAX,DATA

附件

(一):

MOVDS,AX

(2)缺乏经营经验MOVES,AX

LEASI,BUF—1

LEADI,BUF

MOVCX,COUNT

CLDSTD

此次调查以女生为主,男生只占很少比例,调查发现58%的学生月生活费基本在400元左右,其具体分布如(图1-1)LOP:

MOVSBLOP:

MOVSB

SUBSI,2ADDDI,2

LOOPLOPLOOPLOP

300元以下918%MOVAH,4CH

INT21H

营销环境信息收集索引CODEENDS

ENDSTART

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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