汇编概念与题目_第1页
汇编概念与题目_第2页
汇编概念与题目_第3页
汇编概念与题目_第4页
汇编概念与题目_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第一章

微机的主:要特点

微机的硬件结构

二进制、十进制、八进制、十六进制的数据比较

正数、0、负数的原码、反码、补码

什么叫做BCD码(压缩BCD、非压缩BCD)什么叫做ASCH码

简述微机的主要特点

微机的硬件结构有哪些部分

用MOV指令将卜进制数47以组合BCD码格式送至累加器AX

找出无符号数中最小或最大的数

十进制数-127的原码

0的原码、反码、补码

已知十进制数,请给出二进制、八进制、十六进制的形式

第二章

8086微处理器的内部结构(EU:BIU:)

寄存器组:通用寄存器、控制寄存器、段寄存器

标志寄存器的内容及各标志位的意义

8086的引脚个数、数据总线宽度、地址总线宽度、寻址空间大小、关于两个中断引脚

存储器的分段管理、每个段的最大尺寸、物理地址、段地址、偏移地址(有效地址)、逻辑地址

I/O空间的寻址范围、I/O空间的编址方式

微处理器是微机系统的核心部件,微处理器主要组成部分有哪些

在8086CPU内部有多种寄存器,其中通用寄存器、控制寄存器、段寄存器的名称是。。。标志寄存器内的标志位

8086的寻址空间的大小、每段的寻址空间的大小、I/O的空间大小、I/O的编址方式

给逻辑地址写出段地址、偏移地址、物理地址,或反过来求。

第三章

指令与指令系统的定义

指令中的数据寻址方式(四大类)

指令:数据传送指令

算数运算指令

逻辑运算指令

移位运算指令

控制转移指令

处理器控制指令

例03.11

跳转指令有哪四类

子程序调用指令和返回指令分别是什么

寻址方式是否正确

逻辑运算后的结果

指令跳转的条件

清零AX的语句有哪些

XORAX,AXSUBAX,AX

ANDAX,OOHXORAX,11H

LOOP循环结束的条件

数据寻址方式有哪些

第4章

汇编程序的组成:(数据段)(堆栈段)代码段

各个段的定义:开始、结束

数据段寄存器的初始化语句

返回DOS的语句

伪指令(主要是段定义伪指令)

程序设计基本步骤

三种基本程序结构

子程序(P86例4.19)

DOS功能调用

汇编数据段寄存器的初始化语句是什么

伪指令DBDWDD

简述程序设计基本步骤

汇编程序有哪几种基本程序结构

分析•个包含有子程序的程序

DOS功能调用的语句写法

带显示的键盘输入AL

从显示器上输出单个字符DL

返回DOS

分析程序功能P91习题4.8

第五章

1.存储器按照存储介质的不同可以分为半导体存储器、磁表面存储器和光存储器

半导体存储器按存取方式不同可以分为随机存取存储器RAM和只读存储器ROM

RAM按照存储原理可以分为静态存储器(SRAM)和动态存储器(DRAM)

ROM的种类有MROM、PROM、EPROM、E2PROM等

2.存储空间扩展:计算、扩展方式、画图

第7章

CPU的中断服务程序的执行过程。

模拟试卷一

一、单项选择题(每小题1分,共20分)

1.指令指针寄存器是()。

A.BPB.SP

C.IPD.PSW

2.DAIDB67H

NUMEQU80H

则执行ANDDAI,NUM语句后DAI中的内容是()。

A.E7HB.80H

C.67HD.0

3.与指令MOVAX,NOTOFOH等效的汇编语言指令是()。

A.MOVAX,OFHB.MOVAX,OFFOFH

C.MOVAX,000FHD.MOVAX,OFOH

4.一个有16个字的数据区,它的起始地址是70A0H:DDF6,则这个数据区最末一个字单元的

物理地址是()。

A.7E806HB.7E814H

C.7E815HD.7E80BH

5.可用作基址变址寻址或寄存器间接寻址的寄存器是()。

A.AX,BX,CX,DXB.DS,ES,CS,SS

C.SP,BP,IP,BXD.SLDI,BP,BX

6.在申操作指令中,下列描述中不正确的是()o

A.REPMOVSBB.REPSTOSB

C.REPECMPSBD.REPLODSB

7.ORG0030H

DAIDBO,'O',3OH

偏移地址为OO3OH字存储单元的内容是()o

A.3OOOHB.OOH

C.OO3OHD.3O3OH

8.编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令是()o

A.CMPB.SUB

C.ANDD.MOV

9.将高级语言的程序翻译成机器码程序的实用程序是()o

A.编译程序B.汇编程序

C.解释程序D.目标程序

10.设DSTE4AH,偏移地址为0056H,该字节的物理地址为()。

A.1E4A6HB.1E456H

C.1E556HD.1E4F6H

11.假设下列指令中所用的标识符类型均为字类型属性的变量,下述指令中正确的指令是()。

A.MOVWORD.DA1,WORD_DA2

B.MOVWORD.DA[BX+4*4][DI],SP

C.MOVAX,WORD.DA[DX]

D.MOV[BX][SI],3

12.当程序顺序执行时,每取一条指令语句,IP指针增加的值是()o

A.1B.2

C.3D.由指令长度决定的

13.若AX=349DH,CX=0FH。则执行指令ANDAX,CX后,AX的值是()。

A.349DCHB.000DH

C.049DHD.0240H

14.在下列四种描述中,不重复执行循环的是()0

A.MOVCX,0

LOP:LOOPLOP

B.MOVCX,-I

LOP:LOOPLOP

C.MOVCX,1

LOP:LOOPLOP

D.MOVCX,2

LOP:LOOPLOP

15.若(AX)=2000H,(BX)=0050H,(20050H)=I2H,(20051H)=34H,执行MOVAX、

[BX]指令后,AX寄存器中的内容是()o

A.(AX)=0050HB.(AX)=0()12H

C.(AX)=1234HD.(AX)=3412H

16.设(AX)=0FC77H,(CX)=504H,CF=1,执行SARAX,CL指令后,AX的值是()。

A.FFC8HB.FFC9H

C.FFC7HD.FCC8H

17.假设字节单元(02398H)=12H,(02399H)=34H,(0239AH)=56H,则(02399H)字单

元的内容是()o

A.3412HB.3456H

C.5634HD.I234H

18.INCWORDPTR[BX]指令中的操作数的数据类型是()。

A.字B.双字

C.字节D.四字

19.下列4条指令中,错误的指令是()o

A.SUBCX,DXB.MOVAX,SS:[DX]

C.SHLAX,1D.ADDAX,[BP+S1]

20.若AX=912DH,CX=0FH,执行指令ORAX,CX后,AX的值是()。

A.000DHB.912FH

C.912AHD.002FH

X3X

二、填空题(每空1分,共5分)

1.在8086/8088汇编语言中,串操作指令中搜索字符串指令的助记符是。

2.当发生除法溢出时,OF=°

3.指令JMPWORDPTR[BX]属于寻址。

4.当源程序被汇编时,汇编程序对每个宏调用作。

5.DD伪指令中定义的每个操作数占有个字节。

三、简答题(每小题2分,共6分)

1.ARRAY2DB10H,20H,30,40H

ARRAY3DW20H,DUP(0,1,2,DUP(2))

MOVBL,SIZEARRAY2

MOVCL,SIZEARRAY3

上述两条指令的等效指令是什么?

2.请指出下述两条伪指令语句的区别。

COUNT!DB48H

COUNT2EQLJ48H

3.请写出完成下列操作所选用的指令。

(1)将AX的内容减去7A30H和上次运算的借位。

(2)将变量名TABL的段地址送AX。

四、程序分析题(每小题5分,共35分)

1.MOVAH,1

INT21H

MOVBL,AL

MOVAH,1

INT21H

ADDAL,BL

AAA

上述程序完成的功能是什么?

2.现有卜列程序段:

MOVAX,1234H

MOVDX,4578H

MOVCL,04

SHLDX,CL

MOVBL,AH

SHLAX,CL

SHRAX,CL

ORDL,BL

试问上述程序段运行后,(AX)=,(BL)=,(DX)=。

3.假设数据区有:

DAIDB56H

DA2DB34H

DA3DB?

DA4DB?

(1)下列程序段完成的功能是什么?

(2)程序段执行后DA3、DA4字节单元的内容是什么?

MOVAL,DA1

ADDAL,DA2

JONEXT

MOVDA3,AL

MOVDA4,0

JMPEXIT

NEXT:MOVDA4,1

EXIT:HLT

4.已知(AX)=4321H

INCAX

NECAX

DECAX

NEGAX

上述几条指令执行后,(AX)=

5.MOVAX,2

MOVDX,AX

SALAX,1

SALAX,1

ADDAX,DX

SARAX,1

问:(1)上述程序段执行后完成什么功能?

(2)程序段执行后AX寄存器的内容是多少?

6.设(BX)=76D1H,指令:

MOVCL,7

SHRBX,CL

执行后,(BX)=o

7.SUBAL,AH

DAS

若指令执行前,(AL)=86H,(AH)=07;

问:上述指令执行后,(AL)=,(CF)=,(AF)o

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

1.以DA为起始地址的数组中存放的N个有符号数据,下面程序完成了找出N个数中的最大

和最小值分别送入AH和AL中。请将程序段补充完整(每一空白处只填一条指令)。

DADB12,34,-24,6A,…,98:N个有符号数据

CUNTEQU$-DA

MOVSI,ADR

MOVCX,CUNT

MOVBH,|SI]

MOVBL,BH

LOPI:(1)_

CMPAL,BH

_(2)_

MOVBH,AL

_(3)_

LOP2:CMPAL,BL

LGELOP3

MOVBL,AL

LOP3:DECCX

_(4)_

MOVAX,BX

2.下列程序段完成:2+4+…+20共10个偶数的累加和。请将程序段补充完整(每•空白处只

填一条指令)。

DATASEGMENT

SUMDW?

XORAX,AX

_(1)_

MOVBX,2

LOP1:ADDAX,BX

INCBX

INCBX

_⑵_

JNZLOP1

MOVSUM,AX

六、编程题(本大题共3小题,共22分)

1.试编写一程序段,将标志寄存器中的符号位SF置'V(5分)。

2.假设:

DATASEGMENT

ARRAYDB'XXXX…XX'

CUNTEQU$-ARRAY

DATAENDS

试编写一个程序段,完成用空格将以ARRAY为起点字符区中的字符清除(5分)。

3.定义一个数据区,它包含有23H,24H,25H和26H四个字符数据,把这个数据区复制20

次,并显示出复制结果(12分)。

模拟试卷二

一、单项选择题(每小题1分,共20分)

1.指令MOVAX,COUNT[SI],它源操作数的寻址方式是()。

A.直接寻址B.寄存器相对寻址

C.寄存器间接寻址D.基址变址寻址

2.卜.列4条指令中,错误的指令是(

A.SHRAX,1B.MOVAX,ES:[DX]

C.SUBCX,AXD.ADDBX,[SP+DI]

3.在IBMPC微机中,如果某一内存单元的物理地址是7E7F6H,那么它的逻辑地址是():

DDF6Ho

A.70B0HB.70A0H

C.70C0HD.7E76H

4.MOVAL,12H

ADDAL,OFFH

上述两条指令执行后,CF和OF的值是()。

A.CF=1OF=0B.CF=1OF=I

C.CF=0OF=1D.CF=0OF=0

5.使用LINK连接命令,执行后可生成文件的扩展名为()。

A.COMB.EXE

C.OBJD.LST

6.累加器AL中的内容为81H,CMPAL,执行54H指令后,累加器AL中的内容为()。

A.23HB.OOH

C.81HD.D5H

7.在串操作指令前使用重复前缀指令REPE,终止中的重复操作条件是()o

A.CX=0且ZF=OB.CX=0且ZF=1

C.CX=0或ZF=OD.CX=0或ZF=1

8.执行下列指令后,正确的结果是()o

MOVAL,100

MOVBL,-1

A.AL=100H,BL=01HB.AL=64H,BL=OFFH

C.AL=64H,BL=81HD.AL=100H,BL=OFFH

9.在循环程序U」使用LOOP指令作为循环结束的判断,其计数值一般应放的寄存器是()o

A.DXB.CX

C.BPD.IP

10.在汇编语言程序设计中,伪指令OFFSET的含义是回送变量或标号的()。

A.段地址值B.偏移地址值

C.物理地址值D.操作数

11.指令指针寄存器IP用于存放代码段中的偏移地址,在程序执行过程中,它始终指向()o

A.上•条指令的首地址B.下•条指令的首地址

C.正在执行指令的首地址D.需计算有效地址后才能确定的地址

12.下面的数据传送指令中,错误的操作是()o

A.MOVSS:[BX+DI],1000H

B.MOVDX,1000H

C.MOVWORDPTR[BX],1000H

D.MOVDS,2000H

13.为了使执行串操作指令时地址按减量方式处理,应使用的指令是()。

A.STDB.STI

C.CLDD.CLI

14.执行下列指令序列后,正确的结果是()。

MOVAL,78H

MOVBL,58H

ADDAL,BL

DAA

A.AL=36HCF=1AF=1B.AL=36HCF=1AF=0

C.AL=36CF=IAF=0D.AL=C6HCF=1AF=1

15.对寄存器AX的内容乘以4的正确指令序列是()o

A.SHRAX,1B.SHLAX,1

SHRAX,1SHLAX,1

C.ROLAX,1D.RCRAX,1

ROLAX,1RCRAX,1

16.在卜.列指令的表示中,不正确的是()o

A.MOVAL,[BX+SI]B.JMPSHORTDONI

C.DEC|BX)D.MULCL

17.若AX=35OOH,CX=56B8H,当执行ANDAX,CX指令后,AX的值是()。

A.I400HB.77F8H

C.0000HD.OFFFFH

18.下面对伪指令语句的说明,正确的是(

A.由汇编程序在汇编过程中执行的指令是伪指令

B.当汇编结束后,目标程序中仍保留有伪指令

C.伪指令是程序运行阶段完成其功能

D.汇编程序将伪指令翻译成机器码

19.用MOV指令将十进制数64以组合型BCD码格式送入AX,正确使用的指令是()。

A.MOVAX,0604B.MOVAX,0064H

C.MOVAL,0604HD.MOVAL,0064

20.执行XLAT指令时,要将表的首地址和偏移地址分别存放的寄存器是()。

A.BX、ALB.AL、BX

C.AX、BLD.BL、AX

二、填空题(每空1分,共5分)

名词解释:请将1~3小题的叙述与下面的词语联系起来,括号内填入对应的A,B,Co

1.以后进先出方式工作的存储空间是()。

2.告诉计算机要执行的操作(一般还要指出操作的地址),在程序运行时执行的是()o

3.保存逻辑段起始地址的寄存器,IBMPC机有四个:CS、DS、SS、ES是()。

词语:A.段寄存器B.堆栈C.指令

4.假设(SS)=2250H,(SP)=0140H,如果在堆栈中存入5个数据,则堆栈的物理地址为。

5.指令MOVAX,VAR[BX]属于寻址。

三、简答题(每题2分,共6分)

1.下列语句在存储器中分别为变量数据区分配多少个字节单元?

(1)VARIDD10

(2)VAR2DW4DUPC?),2

2.在指令系统中,段内、段间返回均为RET指令。试回答:

(1)执行段内返回RET指令时,执行的操作是。

(2)执行段间返回RET指令时,执行的操作是。

3.已知指令ARRAYDB2DUP(1DUP(3)),则:

指令MOVAX,LengthARRAY,执行后,AX=。

指令MOVAX,SIZEARRAY,执行后AX=。

四、程序分析题(每小题5分,共35分)

l.MOVAX,00FFH

ANDAX,0FFFH

ORAX,OFOFH

XORAX,OOFFH

问:上述程序段执行后,AL的内容是什么?

2.DATA1DB500DUP(?)

DATA2DB100DUP(?)

MOVCX,100

MOVBX,400

MOVSL0

MOVDL0

LOP:MOVAL,DATA1[BX][SI]

MOVDATA2[DI|,AL

INCSI

INCDI

LOOPLOP

问:上述程序段执行后完成的功能是什么?

3.MOVAX,0012H

MOVBX,0034H

MOVCL,8

ROLAX,CL

ORAX,BX

问:上述程序段执行后,AX寄存器的内容是什么?

4.已知I(AX)=0A5C6H,(CX)=0F03H,CF=1

RCLAX,CL

ANDAH,CH

RCRAX,CL

问:上述三条指令执行完后,(AX)=,CF=。

5.SUBAL,AH

DAS

若指令执行前,(AL)=86,(AH)=07;则指令执行后,(AL)=,CF=,

AF=o

6.ORG0050H

DAIDW56H,78H

DA2EQU$-DAI

DA3DB?

LEABX,DA3

MOVCX,DA2

MOVAX,DA2SHR1

问:(AX)=,(BX)=,(CX)=o

7.MOVAL,11H

XORAL,3

问:(1)上述程序段执行后完成什么功能?

(2)程序段执行后AL寄存器的内容是什么?

五、程序填空题(共12分)

1.设已定义数据区如下:

DATASEGMENT

DAXDBXXH

DAYDB?

DATAENDS

下列程序段完成功能:判断变量DAX的值是否大于等于0。若大于等于0,则将DAY单元置

为0FFH;否则,将DAY单元的值置为00H。请在空白处填上适当的指令(每一空白处只填一条指

令)。

MOVAL,DAX

CMPAL,0

_(1)_

MOVAL,0

_(2)_

GRE:MOVAL,OFFH

LEE:MOVDAY,AL

2.为使DA2子单元的值为5()H,等号语句NUM的空白处应填多少?

ORG34H

NUM二

DAIDW10H,S+20H,30H,S+40H

DA2DWDA1+NUM+10H

六、编程题(共22分)

1.试编写程序段:要求键盘输入的小写字母用大写字母显示出来(5分)。

2.假设数据区定义如下:

DATASEGMENT

ARRAYDB'THISISMASMPROGRAM',巧'

DATAENDS

编写程序段,将以ARRAY为首地址的字符串显示输出(5分)。

3.假设在以ARRAY为首地址的存储区中存放10个带符号的字节数。试编制程序,统计出其

中不大于10的元素的个数(12分)。

模拟试卷三

,单项选择题(每小题1分,共20分)

1.设段地址和偏移地址是2F4BH:00C7H,那么它所对应存储单元中的物理地址是(

A.3F4B7HB.3F598H

C.3F577HD.3EB76H

2.在下列段寄存器中,堆栈段寄存器是()o

A.ESB.CS

C.DSD.SS

3.下列汇编语言指令中,正确的指令是()o

A.MOV[BX][BP],AXB.ANDDH,DL

C.ADD[SI],DA_BYTED.LEADS,40[SI]

4.下面指令执行后,变量DA_BYTE中的内容是()。

DA.WORDDWAC05H

DA_BYTEDB0FAH

MOVAL,BYTEPTRDA_WORD

SUBDA.BYTE,AL

A.OEAHB.OFAH

C.0F5D.OOH

5.设数据段中已有:

DAIDB12H,34H

DA2DW56H,78H

下面有语法错误的语句是()o

A.MOVDA1+2,AXB.ADRDWDAI

C.MOVBYTEPTRDA2+1,ALD.MOVWORDPTRDA1+1,AX

6.若(AX)=2000H,(BX)=0050H,(2(X)50H)=12H,(20051H)=34H,执行MOVAX,

[BX]指令后,AX寄存器中的内容是()o

A.(AX)=0050HB.(AX)=OOI2H

C.(AX)=1234HD.(AX)=3412H

7.在执行PUSH[BX]指令寻找目的操作数时,段地址和偏移地址分别是()。

A.无段地址和偏移地址B.在DS和BX中

C.在ES和BX中D.在SS和BP中

8.已定义DA_WORDDW50DUP(0),则指令MOVCX,SIZEDA_WORD汇编后的等效指

令是()。

A.MOVCX,50B.MOVCX,100

C.MOVCX,200D.MOVCX,IOODUP(O)

9.完成将带符号数AX的内容除以2的正确指令是()。

A.RCRAX,1B.RORAX,1

C.SHRAX,1D.SARAX,1

10.设BL=40H,SI=0600H,DS=3000H,(30600H)=0C0H,CF=1。执行SBBBL,[SI]后,

正确的结果是()o

A.BL=5FH,SF=1,CF=1B.BL=60H,SF=1,CF=O

C.BL=5FH,SF=O,CF=1D.BL=60H,SF=O,CF=O

11.设SP=IFFD,卜.列指令执行后,SP寄存器的内容是()。

PUSHBX

POPF

A.1FFBB.1FFF

C.1FFDD.2000

12.下面指令执行后,改变AL寄存器内容的指令是()o

A.CMPAL,BLB.ORAL,AL

C.TESTAL,BLD.ANDAL,BL

13.INCBYTEPTR[BX]指令中的操作数的数据类型是(

A.双字B.字

C.字节D.四字

14.用指令的助记符、符号地址、标号和伪指令、宏指令等书写程序的语言称为(

A.汇编语言B.高级语言

C.机器语言D.低级语言

15.完成将累加器AX清零,下列指令中错误的指令是()。

A.XORAX,AXB.SUBAX,AX

C.ANDAX,OOHD.ORAX,OOH

16.下面各组伪指令中,使用错误的是()o

A.STACK_SEGSEGMENT8TACK'

B.SEGMENT'CODE'

C.MA1N.PROCPROCFAR

MA1N.PROCNEDP

ENDMAIN.PROC

D.MYDATASEGMENT'DATA'

ENDS

17.在8086/8088系统中,存储器是分段组织的,每段最大字节的长度是()。

A.8KB.16K

C.64KD.1M

18.设(AX)=0A8H,(CL)=3,CF=1,执行RCLAX,CL指令后,AX寄存器的内容是()。

A.0545HB.0544H

C.0547HD.00B5H

19.已知DS=2000H,BX=1000H,COUT=()020H,SI=6D50H,(21020)=l080H,(21022)=4000H,

则执行指令LDSSLCOUT[BX]后,SI、DS寄存器的内容分别是()。

A.SI=6D50H,DS=2(X)0HB.SI=1080H,DS=2000H

C.SI=1080H,DS=4000HD.SI=6D50H,DS=1080H

20.执行下列指令序列后,正确的结果是()。

MOVAL,81H

ADDAL,AL

SBBAL,AL

A.AL=0IHB.AL=10H

C.AL=00HD.AL=0FFH

二、填空题(每空1分,共5分)

名词解释:请将各小题的叙述与下面的词语联系起来,在括号内填上对应的A,B,C,D,Eo

1.保存当前栈顶地址的寄存器是()o

2.惟一代表存储空间中每个字节单元的地址是()o

3.能被计算机直接识别的语言是()o

4.记录指令操作结果的标志:OF、SF、ZF、AF、PF、CF是()«

5.由汇编程序在汇编过程中执行的指令是()o

词语:A.状态标志B.伪指令

C.物理地址D.SP

E.机器语言

三、简答题(每小题2分,共6分)

1.已知在数据段中定义的数据如下:

NAMEDB'TOM'

DB20

DB,STRING'

请指出下列指令是否正确。若不正确,错在哪里?

_(1)_

MOVAX,NAME

_⑵_

MOVBX,4x3

MOVSI,7

MOVAX,NAME[BX][SI]

2.下列两条语句有何区别?

XEQUI000H

Y=1000H

3.有符号定义语句如下:

ARRAYIDB3,6,9,'123'

ARRAY2DB0

LEQUARRAY2-ARRAYI

问L的值是多少?

四、程序分析题(每小题5分,共35分)

1.设寄存器AL=45H,BL=76H,CL=85H

XORAL,OFH

ANDBL,OFH

ORCL,OFH

执行上述指令序列后,AL=,BL=,CL=o

2.下列语句执行后,AX寄存器的内容是多少?

ARRAYDW10,20,30,40,50

ENTRYDW3

MOVBX,OFFSETTABLE

ADDBX,ENTRY

MOVAX,[BX]

3.现有程序段如F:

MOVAX,01H

MOVBX,02H

MOVCX,03H

LOP:INCAX

ADDBX,AX

SHRAX,1

LOOPLOP

上述程序段执行后AX、BX寄存器的值分别是多少?

4.已知(SP)=2000H,(SS)=5000H,(52000H)=4500H,(DS)=4000H,(BX)=1200H,

则POP[BX]指令执行完后,(SP)=,(41200H)=(一个字的内容令

5.已知AL=35H,DL=29H

执行:

ADDAL,DL

DAA

上述程序段执行后,AL=,CF=o

6.设AX=6FF8H,CF=1

MOVDX,80

XORDH,OFFH

SBBAX,DX

上述程序段执行后,(AX)=,CF=o

7.设:

XORAX,0

MOVBX,1

MOVCX,10

LOP:ADDAL,BL

INCBL

INCBL

LOOPLOP

问:(1)该程序完成的功能是什么?

(2)程序执行后(AX)=o

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

1.一知数据段定义如下:

DATASEGMENT

DAIDB12,34

DA2DB56,78

ADRRDWDA1,DA2

DATAENDS

为使ADDR+2字存储单元中存放的内容为“0022H”,上述空格中应填写什么语句?

2.卜列程序实现把20个字符“A”的字符串从原缓冲区传送到目的缓冲区的功能。

试将程序中的空白处填上适当的指令(每一空只填一条指令)。

DATASEGMENT;definedatasegment

SOURCE_STRINGDB20DUP,A')

DATAENDS

EXTRASEGMENTidefineextrasegment

DEST_STRINGDB20DUP(?)

EXTRAENDS

CODESEGMENT;definecodesegment

ASSUMECS:CODE,DS:DATA,ES:EXTRA

START:MOVAX,DATA

MOVDS,AX

MOVAX,EXTRA

MOVES,AX

_(1)_

LEADI,DEST_STRING

CLD

MOVCX,20

_(2)_

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

六、编程题(共22分)

1.编写程序段,将标志寄存器中的高8位和低8位互换。(5分)

2.数据区定义如下:

DATASEGMENT

ARRAYDB23H,24H,25H,26H

DISPDB30DUP(''),'$'

DATASEGMENT

编写程序段,将此数据区复制10次,并将结果显示出来。(5分)

3.数据区中首地址为ARRAY的N字数组,定义如下:

DATASEGMENT

ARRAYDW23,-20,130,-5,…,326,-2110;表示N个带符号数

CUNTEQUS-ARRAY

RESUTDB?;存放正数的个数

DB?;存放'O'的个数

DB?;存放'负数’的个数

DATAENDS

试编写•个程序,统计ARRAY数据区中正数、负数及“0”的个数,结果送入RESUT起始的

三个字节单元中(12分)。

模拟试卷四

一、单项选择题(每小题1分,共20分)

1.在下述指令的表示中,不正确的是()。

A.PUSH54[DI]

B.MOVAX,[BX]NUM[Si]

C.MOVAX,[BX+BP+NUM]

D.ANDDH,DL

2.已知(AX)=875BH,执行下述三条指令后,(AX)=()。

MOVBX,AX

NEGBX

ADDAX,BX

A.875BHB.OEDCCH

C.6DCCHD.0000H

3.指令JMPFARPTRL0P1属于()。

A.段内转移直接寻址B.段内转移间接寻址

C.段间转移直接寻址D.段间转移间接寻址

4.对两个无符号数A、B进行比较时,采用JBE/JNA指令,转移的条件是()。

A.CF=O或ZF=1B.CF=0或SF=1

C.CF=1或ZF=1D.ZF=O或SF=()

5.设SP初值为1000H,执行指令PUSHBX后,SP的值是()。

A.1002HB.0FF8H

C.FFFHD.OFFEH

6.设AH=1,AL=09H,BL=05H,执行指令:

ADDAL,BL

AAA

之后,其结果应是()o

A.AH=02,AL=04B.AH=1,AL=24

C.AH=0,AL=24HD.AH=0,AL=24

7.卜列指令执行时出错的是()o

A.MOVDAI,DA2

B.JMPWORDPTR[BX]

C.MOVAX,|BX+DI]NUM

D.TESTAL,08H

8.计算机处理问题中会碰到大量的字符、符号,对此必须采用统一的编码。目前,微机中普

遍采用的是()o

A.BCD码B.二进制码

C.ASCII码D.卜六进制码

9.设变量定义如下:DA_W0RDDW3,5AH,98,0B0H。指令ADDAL,TYPEDA_WORD

的等效指令是()。

A.ADDAL,1B.ADDAL,2

C.ADDAL,3D.ADDAL,4

10.从键盘输入•个十进制数2002,将该数值以压缩型BCD码的存储形式保存到存储器中,

其存放的顺序是()o

A.20,02B.02,20

C.32,30,30,32D.32,30,32,30

11.指令LESSI,ESJIOOOH]的功能是()。

A.将数据段偏移地址1000H送SI

B.将数据段偏移地址1000H字单元内容送SI,并且把下•个字单元内容送ES

C.将附加段中偏移地址为1000H字单元内容送SI,并且把它的下一个字单元内容送ES

D.将地址1000H字单元内容送DS,并且把它的下•个字单元内容送SI

12.CPU发出的访问存储器的地址是()o

A.物理地址B.偏移地址

C.逻辑地址D.段地址

13.下面语句中有语法错误的语句是()o

A.DB0ABH,12,3,5B.DW3ABCH

C.DW'ABCD'D.D'AB'

14.如AX=FFFFH

NEGAX

NEGAX

上述两条指令执行后,AX的值为()o

A.0000HB.FFFFH

C.0F00HD.000IH

15.逻辑运算指令是按位进行运算的,指令执行后不保留运算结果,只对标志寄存器产生影响

的指令是()o

A.ANDB.XOR

C.ORD.TEST

16.在8086/8088系统中,一个字节的无符号数能表达的数值范围是()。

A.0〜7FHB.0-256

C.0-255D.0〜128

17.设DS=3635H,DI=0083H,指令INCBYTEPTR[DI]操作数的物理地址是()。

A.36AD8HB.36353H

C.363D3HD.0A018H

18.执行下面指令序列后,结果是()o

MOVBL,91H

CBW

A.BX=0091HB.AX=0FF9IH

C.AX=0F91HD.1F91H

19.下列叙述正确的是()0

A.在运算过程中,只有补码数相加才会影响OF标志位

B.在运算过程中,无符号数的运算不会产生溢出

C.在程序执行过程中,条件转移指令的执行•定会影响到标志位

D.在程序执行过程中,执行DAA,DAS指令会影响到标志位

20.DATASEGMENT

ORG40H

DAIOFEH

DA2DW52ACH

DATAENDS

MOVAL,DAI

MOVBX,DA2

上述指令执行后,AL和BX的值为()。

A.AL=0FEH,BX=52ACHB.AL=0FEH,BX=0041H

C.AL=40H,BX=52ACHD.AL=40H,BX=0041H

二、填空题(本大题共5小题,每空1分,共5分)

名词解释:请将各小题的叙述与下面的词语联系起来,括号内填入对应的A,B,C,D,E。

1.指示下一条将要执行的指令的地址()o

2.存储程序、数据等信息的装置是()o

3.把汇编语言程序翻译成机器语言的系统程序是()<>

4.分析、控制并执行指令的部件是()o

5.控制操作数的标志位(PC机有DF、ZF、TF)是()□

词语•:A.控制标志B.CPU

C.IPD.存储器

E.汇编程序

三、简答题(本大题共3小题,每小题2分,共6分)

1.请指出下述两条伪指令语句的区别。

COUNT1DW1234H

COUNT2DB12H,34H

2.分别指出下列指令中源操作数的寻址方式:

(1)ANDAX,OFFH

(2)MOVCX,COUT[SI]

(3)MOVAX,|DI]

(4)ADDAX,[BX][Di]

3.DA_BYTELABELBYE

DA.WORDDW20HDUP(?)

上面两条指令分别执行后,各将该数组中的第几个字节置0?

(1)MOVDA.WORD+2,0

(2)MOVDA_BYTE+2,0

四、程序分析题(本大题共7小题,每小题5分,共35分)

1.DATASEGMENT

DAIDW123H,456H,0AB00H

DA2DB12H,34H,56H,OABH

DB$-DA2

BUFDB10HDUP(1,2,3)

_(1)_

MOVBX,10006]

ANDBX,OFFH

ADDBX,|BX]

上述指令执行后,BX=o

_(2)_

MOVDX,SIZEBUF

ADDDX,DA2+4

上述指令执行后,DX=。

2.现有数据段如下:

DATASEGMENT

ARRAY1DB1,26,'3456'

ARRAY2DW7,89H,10

VALEQUARRAY2-ARRAY1

DATAENDS

试问:(1)该数据段已占有多少字节的存储空间?

(2)VAL的值是多少?

3.有如下程序段:

DATASEGMENT

STRING1DB'COMPUTERSCIENCE'

STRING2DB20DUP(?)

DATAENDS

CODESEGMENT

ASSUMECS:CODE,DS:DATA,ES:DATA

START:

CLD

MOVCX,16

LEASI,STRING1

LEADI,STRING2

REPMOVSB

CODEENDS

ENDSTART

试问:上述程序段执行后,完成什么功能?

4.有如下数据定义:

DAIDB4DUP(5),2

COUNTEQU10

DA2DDCOUNTDUP(?)

问:

(1)上述数据定义为变量DAI分配多少字节存储空间。

(2)为变量DA2分配多少个字节存储空间。

5.MOVCL,3

MOVBX,0A6H

ROLBX,I

RORBX,CL

上述程序段执行后,BX寄存器的内容是什么?

6.MOVAX,1234H

MOVCL,4

ROLAX,CL

DECAX

MOVCX,4

MULCX

INT20H

上述程序段执行后,(AX)=,(BX)=o

7.AX=0A0B5H

MOVBX,AX

NEGBX

ADDAX,BX

上述程序段执行后,(AX)=,(CF)=o

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

1.下面程序段是根据DAY字节单元中的内容,从表WEEK中查出对应的星期•到星期日的

英文缩写,并将其显示输出。试在空白处填上适当的指令(每一空白处只填一条指令)。

WEEKDB'MON','TUE','WED,'THU'

DB'FRI','SAT','SUN'

DAYDB?

XORBX,BX

MOVBL,DAY

_(1)_

MOVAL,BL

SALBL,1

_(2)_

MOVCX,3

LOP:MOVDL,WEEK[BX]

MOVAH,02H

1NT21H

_(3)_

LOOPLOP

2.以ARRAY为首址的数据区中依次存放20个数据al,a2,…,a20,每个数据占两个字节,

下列程序段完成计算20个数据的和并把和存入SUM中。试在空白处填上适当的指令(每一空白处

只填一条指令)。

ARRAYDWal,a2,…,a20

SUMDW?

MOVAX,0

MOVBX,OFFSETBUF

_(i)_

LOP:ADDAX,[BX]

INCBX

INCBX

_(2)_

MOVSUM,AX

六、编程题(本大题共3小题,共22分)

1.试编写一程序段,把DX:AX中的双字右移4位。(5分)

2.完成将AX和BX中的两个带符号数相加,如果没有溢出,转移到OK处执行。试编写一程

序段。(5分)

3.试编写完整程序,将数据段中ARRAY1开始字节单元中的10个数字0,I,2,3,4,5,6,

7,8,9转换成相应的ASCH码送入以ASC开始的内存单元中。(12分)

模拟试卷五

一、单项选择题(每小题1分,共20分)

1.指令ADDAX,[3500H]中,源操作数使用的寻址方式是()。

A.直接寻址B.寄存器寻址

C.寄存器相当寻址D.立即寻址

2.条件转移指令JZ产生转移的测试条件是()o

A.ZF=OB.ZF=1

C.ZF=1或CF=1D.ZF=O或CF=1

3.在字符串操作指令中,源串操作数放在的寄存器是()o

A.CSB.SS

C.DSD.ES

4.使用DOS系统功能调用终止当前程序并返回调用程序,应选用的指令是()。

A.MOVAH,01HB.MOVAH,OOH

INT21HINT21H

C.MOVAH,4CHD.RET

INT21HINT21H

5.下列指令中,有语法错误的指令是(

A.MOVCS,AXB.MOVBL,[BX]

C.MOVSS,[BP+DI]D.MOVES,AX

6.数据定义如下:

DA_BYTEDBOABH,?

DA_WORDDW?,?

下面语句中错误的语句是()o

A.ADDDA_BYTE+2,AX

B.ADDBYTEPTRDA.WORD+l,AL

C.ADDWORDPTRDA1+1,AX

D.ADRIDWDA.BYTEl

7.将CX寄存器清零,下面指令中错误的指令是()o

A.SUBCX,CXB.XORCX,CX

C.XORCX,OOHD.ANDCX,OOH

8.已知(AX)=11UH,执行下述三条指令后,(AX)的值是()o

MOVBX,AX

NEGBX

ADDAX,BX

A.1111B.2222

C.1110CHD.0000H

9.DADW'AB'在存储器中的存储顺序是()o

A.41H,42HB.42H,41H

C.0041H,0042HD.0042H,0041H

10.假设数据段中数据定义如下:

DA_BYTEDB56

DA_WORDDW10DUP(?)

实现将DA_BYTE单元的内容与DA_WORD开始的第三个字节单元内容相减的指令是()。

A.SUBDA_BYTE,DA_WORDBYTEPTRDA_WORD+3

B.MOVAL,DA.BYTE

SUBAL,BYTEPTRDA.WORD+2

C.MOVAL,DA.BYTE

SUBAL,DA_WORD+2

D.MOVAL,DA_BYTE

SUBAL,DA_WORD+3

11.LOP:MOVDL,[SI]

MOV|DI),DL

INCSI

INCDI

LOOPLOP

与上述程序段完成同样功能的一条指令是()。

A.REPLODSBB.REPMOVSB

C.REPSTOSBD.REPSCASB

12.下面数据定义伪指令中错误的语句是()。

A.DB'ABCD'B.DW0ABCDH

C.DW.ABCD'D.DW,AB'

13.DARIDB10H,20H,30H

DBS-DAR1

DAR2DB40H,50H,60H

MOVSI,OFFSETDARI

MOVCL,4[SI]

MOVCH,LENGTHADR2

上述指令序列运行后,CX的内容是()o

A.0103HB.0304H

C.0104HD.0140H

14.MOVAL,96H

MOVBL,12H

MULBL

执行上述指令后,结果是()0

A.AX=1152,OF=1,CF=1B.AX=0A8CH,OF=1,CF=1

C.AX=0A82H,OF=0,CF=1D.AX=F88CH,OF=1,CF=1

15.MOVBL,67

ADDBL,OBDH

上述指令执行后,相关标志的值为()。

A.CF=1,SF=O,ZF=1,OF=0B.CF=0,SF=1,ZF=0,OF=1

C.CF=1,SF=1,ZF=0,OF=0D.CF=0,SF=O,ZF=1,OF=0

16.下述指令中对标志寄存器PSW中标志位不产生影响的指令是()o

A.INCSIB.TESTAL,OFH

C.SARBL,1D.JMPLOP

17.宏指令语句本身不生成目标代码,它仅表示宏调用出现的()o

A.说明符B.位置

C.代码格式D.宏体

18.数据定义如下:

XIDB10H,50,1

X2DWI0H,20,3

X3DD?

COUNTEQUX3-X1

变量COUNT的值是()o

A.6B.8

C.9D.10

19.下列指令中,语法正确的指令是()o

A.ADD[BX],5

B.DEC|BX]

C.MOVBYTEPTR[BX],8

D.MOVAL,BX

20.已定义变量ADRDW200DUP(0),则指令MOVCX,LENGTHADR的等效指令是()。

A.MOVCX,100B.MOVCX,200

C.MOVCX,400D.MOVCX,100DUP(0)B

二、填空题(每空1分,共5分)

名词解释:请将卜3小题的叙述与下面的词语联系起来,在括号内填入对应的A、B或C。

1.逻辑段的起始地址是()o

2.相对于段起始地址的偏移量是()o

3.CPU发出的访问存储器的地址是()o

词语:A.物理地址B.偏移地址C.段地址

4.若(SP)=0FFFEH,则指令POPAX执行后,(SP)二。

5.回送变量或标号的偏移地址值,应使用伪指令。

三、简答题(每小题2分,共6分)

1.有符号定义语句如下:

DAWDW?

NAMEDB16DUP(?)

COUNTDD?

LENTHEQU$-DAW

试问LENTH的值为多少?

2.根据要求写出汇编语言的指令。

(1)用寄存器BX和位移量0ABH的寄存器相对寻址方式,把存储器中的一个字与CX寄存器

相加,并把结果送回存储器单元中。

(2)把数OF9H与(AL)相加,结果送回AL中。

3.请指出下述两条伪指令语句的区别:

COUNT1EQU16H

COUNT2=16H

四、程序分析题(每小题5分,共35分)

1.有如下程序段:

DAT1DB30DUP(?)

DAT2DB10DUP⑵

MOVCX,10

MOVBX,20

MOVSI,0

MOVDL0

NEXT:MOVAL,DAT1[BX][SI]

MOVDAT2[DI],AL

INCSI

INCDI

LOOPNEXT

试问:上述程序段完成什么功能?

2.有如卜.代码段:

DATASEGMENT

ORG0I00H

DARDW0FF00H

(1)MOVAX,DAR

(2)MOVAX,OFFSETDAR

试问:(1)上述两条指令有什么区别?

(2)指令分别执行后,AX寄存器的内容各是什么?

3.若(AX)=0A33AH,DX=0F0FH,

ANDAH,DL

XORAL,DH

NEGAH

NOTAL

上述程序段执行后,AX寄存器中的内容是多少?

4.设(AX)=0FC77H,(CX)=504H,CF=1

SARAX,CL

XCHGCH,CL

SHLAX,CL

上述程序段执行后,(AX)=,(CF)=o

5.有如下程序段:

DATASEGMENT

DAIDW?

DA2DW24

DA3DW340,60,50

DATAENDS

MOVBX,OFFSETDA3

MOVAX,[BX]

MOVDA2,AX

MOVAX,2[BX]

ADDAX,DA2

MOVDAI,AX

上述程序段执行后,DAI单元的内容是什么?

6.已知数据定义如下:

DAIDW1384H

DW2578H

DA2DW9087H

DW3456H

MOVDX,DA1+2

MOVAX,DAI

DIVDA2

请问上述程序段完成什么功能?

7.有如下程序段:

MOVAX,2

MOVBX,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论