第三章8086汇编语言程序格式.docx

上传人:b****5 文档编号:4665249 上传时间:2022-12-07 格式:DOCX 页数:22 大小:98.10KB
下载 相关 举报
第三章8086汇编语言程序格式.docx_第1页
第1页 / 共22页
第三章8086汇编语言程序格式.docx_第2页
第2页 / 共22页
第三章8086汇编语言程序格式.docx_第3页
第3页 / 共22页
第三章8086汇编语言程序格式.docx_第4页
第4页 / 共22页
第三章8086汇编语言程序格式.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

第三章8086汇编语言程序格式.docx

《第三章8086汇编语言程序格式.docx》由会员分享,可在线阅读,更多相关《第三章8086汇编语言程序格式.docx(22页珍藏版)》请在冰豆网上搜索。

第三章8086汇编语言程序格式.docx

第三章8086汇编语言程序格式

第三章8086汇编语言程序格式

练习题

3.4.1单项选择题

1.下列选项中不能作为名字项的是()。

A.FHB.A3C.3BD.FADC

2.下列指令不正确的是()。

A.MOVAL,123B.MOVAL,123Q

C.MOVAL,123DD.MOVAL,123H

3.下列指令不正确的是()。

A.MOVBL,OFFSETAB.LEABX,A

C.MOVBX,OFFSETAD.MOVBX,A

4•若定义“BUFDB1,2,3,4”,执行MOVAL,TYPEBUF后AL=()。

A.0B.1C.2D.3

5.若定义“AEQU100”,执行“MOVAX,A”后,AX=()。

A.A的偏移地址B.A单元中的内容

C.100D.A的段地址

6.若定义“BDW1,2,10DUP(0)”,则该伪指令分配()字节单元。

A.10B.20C.22D.24

7.若定义“CDD2,4”,则该伪指令分配()个字节单元。

A.2B.4C.6D.8

8、伪指令是()规定的汇编说明符,它在源程序汇编时进行说明。

A、DEBUGB、LINKC、MASMD、EDIT

9.在上机操作过程中,MASM命令执行后,除了生成一个目标文件外,根据选择还可以生成一个()

文件。

A..LSTB..EXEC..MAPD..ASM

10.LINK命令执行后可以生成一个以()为扩展名的文件。

A.ASMB.EXEC.OBJD.COM

11.一个段最大可定义()字节。

A.1MB.64KC.32KD.16K

12.若要求一个段的起始位置能被256整除的单元开始,在定位方式选项中应选()。

A.BYTEB.WORDC.PARAD.PAGE

13.宏指令与子程序相比,在多次调用时,宏指令调用的目标程序长度比子程序调用的()。

A.相同B.长C.短D.不定

14.宏指令与子程序相比,子程序调用的执行速度比宏指令的()。

A.相同B.快C.慢D.不定

15.ASSUME伪指令说明了汇编程序所定义段与段寄存器的关系,它只影响()的设定。

A•源程序B.目标程序C.汇编程序D•连接程序

16.设A和B为字变量,C为标号,下列指令中不正确的是()

A.MOVAX,AB.MOVAX,B

C.JNEAD.JMPC

17.代码段中的语句()表示该段结束。

A.ASSUMEB.CODEENDS

C.START:

MOVAX,DATAD.ENDSTART

18.过程定义语句以“过程名PROC”开始,以过程名()结束。

A.ENDSB.ENDPC.ENDMD.END

19.一个段可以放在内存的任何地方,但起始地址应该从一个能被()整除的单元地址开始

A.16B.32C.64D.128

20.在数据定义语句中,下列描述不正确的是()

A•存放存储单元的地址可以用字节表示

B•存放存储单元的地址可以用字表示

C.存放存储单元的地址可以用双字表示

D•存放存储单元的地址可以用四字表示

3.4.2多项选择题

1.在8086汇编语言中,语句的种类有()。

A•指令性语句B•指示性语句C.汇编语句D•说明语句

2.在下列的选项中,不能作为名字的有()

A.AXB.3MAC.ABCDD.MOV

3.在下列的选项中,作为变量的类型有()。

A•字节B•字C•双字D•近程

4.在下列的选项中,作为标号的类型有()。

A.DBB.DDC.NEARD.FAR

5•在运算符OFFSET后可以是()。

A•标号B•变量C表达式D•数字

6•在指令“LEABX,X”中的X可以是()。

A•标号B•变量C表达式D•数字

7.不能分配内存单元的伪指令语句有()。

A•EQUB•DWC.=D•DD

8.定义一个段的伪指令语句有()。

A.NAMESEGMENT

C.NAMEENDP

9.定义一个过程的伪指令语句有(

A.NAMESEGMENT

1•汇编语言的语句有指令语句和,宏指令是的另一种形式。

2.标号的三个属性是段地址、和类型。

3•变量的三个属性是段地址、和类型。

4•标号的类型有和。

5•变量的类型有、、、四字(八字节)和十字节。

6.等价语句不能重复定义、等号语句重复定义。

7•等价语句和等号语句内存单元。

8.语句“MOVBX,OFFSETA”可用一条指令代替。

9•若定义“ADW1234H”,指令“MOVAL,BYTEPTRA”执行后,AL=—。

10.若定义“BDW1,2,30DUP(5)”,则B分配的内存单元数是字节。

11.若定义CDW‘AB'则“MOVAL,BYTEPTRC”执行后,AL=。

12•在程序的操作数项中使用的段名、标号名、变量名和符号名都必须在源程序中先,否则

汇编程序进行汇编时就会。

13.使用伪指令和定义一个段。

14•使用伪指令和定义一个过程。

利用过程定义语句可以把程序分成小段,以便

于、、调试和修改。

15.伪指令表示整个程序结束。

16.宏展开就是用宏定义取代源程序中的宏指令。

若实元个数大于变元个数,则多余的实元—。

实元个数少于变元个数,则多余的变元用代替。

17•汇编语言源程序经产生目标文件,它直接在机器上运行,还必须经过后形成可

执行文件。

18.在数据段中使用字符串时,该字符必须用括起来。

当定义含有多个字符的字符串时,只能

使用伪指令。

19.用汇编语言编写的程序称为,其扩展名为。

20.在源程序中只要对某一独立功能的程序段进行一次宏定义,就可以次调用它。

3.4.4简答题

1.按照下列题目要求写出每小题的伪指令。

(1)将12H、34H、56H、78H存放在字节变量A的存储单元中。

(2)将12、1638H、0E52H存放在字变量B的存储单元中。

(3)将字符串COMPUTER存放在C变量的存储单元中。

(4)将D字节变量的100个单元设置为0。

(5)将D的偏移地址存放在E变量中。

2.设数据段定义如下:

DATASEGMENT

BUF1

DB

2,3

BUF2

DW

4,5,6

BUF3

DB

2,100DUP(0)

BUF4

DB

‘ABCDE'

BUF5

DW

BUF3

BUF6

EQU

$—BUF3

请回答:

(1)执行“MOV

AX,

(2)执行“LEA

BX,

(3)执行“MOV

CX,

(4)执行“MOV

AL,

(5)执行“MOV

AX,

WORDPTRBUF1”后,AX=

BUF3”后,BX=—

BUF4”后,CX=_

BUF3+2”后,AL=

BUF2+1”后,AH=

DATAENDS

 

请回答:

(1)该数据段占用的内存有多少字节?

(2)BUF5单元中的值是多少?

(3)BUF6的值是多少?

(4)执行“MOVAL,BUF4+2”指令后,AL=_。

(5)执行“MOVAX,WORDPTRBUF1”指令后,AX=

3•设数据段定义如下:

DATA

A

B

C

D

E

F

DATA

请回答:

SEGMENT

DW23,45

DW‘EF'

=$+5

DB10DUP(?

EQU$—D

DWD

ENDS

(1)该数据段占用的内存有多少字节?

(2)C的值为多少?

(3)E的值为多少?

(4)执行“MOVAX,F”指令后,AX=。

(5)执行“MOVAL,BYTEPTRB”指令后,AL=

 

4•设数据段定义如下:

DATA

SEGMENT

BUF1

DB

36H,3,

2

BUF2

DW

1364H,

253H

BUF3

DB

30DUP

('ABC')

BUF4

DW

$—BUF3

BUF5

DB

100DUP(0)

DATA

ENDS

DATA

SEGMENT

A1

DB

10DUP('')

A2

DW

1234H,5678H,341H

A3

DW

$—A2

A4

DW

A2

A5

DB

7,3,2

DATA

ENDS

5•设数据段定义如下:

(5)执行完“MOVAL

(6)执行完“MOVAL

(7)执行完“MOVBX

(8)执行完“MOVAL

7•设数据段定义如下:

DATASEGMENT

ADW1,2,3

BDB‘ABCDEF'

CDW‘AB'

DDB12H,34H,56H

E=$+5

DATAENDS

请回答:

(1)用一条指令将B字符串中的字符‘E'送AL。

(2)用一条指令将D变量中的第2个、第3个字节的内容送AX。

(3)用一条指令将A变量中的第3个字节送AL。

(4)“MOVAX,C”执行后,AX=。

(5)“MOVAL,E”执行后,AL=。

8•按下列要求写出数据段DATA的相应内容。

(1)TAB是0〜9的ASCII码表。

(2)STR是字符串变量,字符串为COMPUTER。

(3)BUF是100个空格的缓冲区。

(4)COUNT是计算BUF缓冲区中字节数的常量变量。

(5)AD是存放TAB的偏移地址变量。

(6)D是字节变量,数值为15H,2,3

9•按下列要求写出数据段DSEG的相应内容。

(1)STR是存放字符ABCDE的字符串变量。

(2)D是存放十进制BCD数据372,2673,6852的字变量。

(3)BUF是存放10个0的字节缓冲区。

(4)E是存放BUF偏移地址和段地址的双字变量。

(5)F是常量,其值为5。

10•简述宏指令与子程序的主要区别。

11•在操作系统状态下,执行MASM程序对某一汇编语言源程序进行汇编后,除产生目标文件外,

通过对答方式还可以产生对应源程序的另外两个文件。

请指出:

(1)这两个文件的扩展名是什么?

(2)这两个文件的功能是什么?

12•简述汇编程序对宏调用作宏展开的过程。

13•设数据段定义如下:

DATASEGMENT

A

DW

1,2

B

DB

3,4

C

DB

‘ABCD'

D

=

$—C

E

DB

3DUP

DATAENDS

请回答:

(1)画出该数据段在内存中的分配示意图。

(2)变量A、B、C、E的偏移地址各是多少?

(3)变量D的值是多少?

14•设数据段定义如下:

DATASEGMENT

BUF1

DW

123H

BUF2

DB

‘SIMPLE'

BUF3

DW

$+4

BUF4

EQU

$—BUF1

DATAENDS

请回答:

(1)画出该数据段在内存中的分配示意图。

(2)BUF1、BUF2、BUF3的偏移地址各是多少?

(3)BUF4的值是多少?

(4)“MOVAL,BUF2+5”执行后,AL=

15•设数据段定义如下:

DATA

SEGMENT

ORG

=4

A

EQU

100

B

DB

'ABC',2

C

DW

101B

D

EQU

B+4

DATA

ENDS

请回答:

(1)画出该数据段在内存中的分配示意图。

(2)B、C的偏移地址各是多少?

(3)“MOVAX,D”执行后,AX=。

五•判断改错题

1•设数据段定义如下,判断各语句是否正确,如有错误则改正

DATA

SEGMENT

A

DB

123H

B

DW

23,45678H

C

DW

‘ABCD'

D

DB

100DUP('ABC')

E

DB

($—D)/3

DATA

END

 

2•设数据段定义如下:

DATA

SEGMENT

BUF1

DB

2,3

BUF2

DW

3

BUF3

DD

5

BUF4

EQU

$—BUF1

BUF5

DB

‘ABCD'

BUF6

DW

BUF5

DATAENDS请判断下列指令是否正确,如果有错请改正。

1)

MOV

AX,BUF1

2)

MOV

AL,BUF5

3)

MOV

AX,BUF4

4)

LEA

BL,BUF2

5)

MOV

AX,BUF3

6)

MOV

[BX],TYPE

BUF3

7)

MOV

[BX],WORD

PTRBUF3

8)

MOV

BUF5,AL

9)

MOV

BUF6,BUF2

10)

MOV

BX,BUF6

3.判断下列伪指令是否正确,如果有错请改正。

(1)DATASEG

I

I

I

ENDS

(2)CODESEGMENT

I

I

I

CODEEND

(3)MASEGMENT

I

I

I

ENDM

(4)STACKSEGMENT‘STACK'(5)ASEGMENT

BDW1

CDB123H

AENDS

(6)MYNAMESEGMENTPARA

I

I

I

MYNAMEENDS六.程序分析题1.分析下列程序,说明程序的功能。

DATASEGMENT

A

DB

DB

18H,34H,05H,

0AH,0CH,11H,

06H,09H

12H,

14H

B

DB

3,4

C

DB

2DUP

(0)

DATA

ENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATASTART:

MOVAX,DATA

MOV

DS,AX

LEA

BX,A

MOV

CX,2

MOV

SI,OFFSETB

LEA

DI,C

L:

MOV

AL,[SI]

XLAT

MOV

[DI],AL

INC

SI

INC

DI

LOOP

L

MOV

AH,4CH

INT

21H

CODE

ENDS

END

START

 

2.分析下列程序,说明程序的功能

DATA

SEGMENT

TAB

DB

30H,

31H,

32H,

33H,34H,35H

DB

36H,

37H,

38H,

39H

STR

DB

3,2,

7,6,

8

COUNT

EQU

$—STR

BUF

DB

10DUP(0)

DATA

ENDS

 

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOV

AX,DATA

MOV

DS,AX

LEA

BX,TAB

LEA

DI,BUF

MOV

CX,COUNT

LEA

SI,STR

L:

MOV

AL,[SI]

XLAT

MOV

[DI],AL

INC

SI

INC

DI

LOOP

L

MOV

AH,4CH

INT

21H

CODE

ENDS

END

START

3.分析下列程序,说明程序的功能DATASEGMENT

A

DB

12,34,56H,0

B

DB

53H,62,31H,0

C

DB

4DUP(0)

DATA

ENDS

CODE

SEGMENT

ASSUME

CS:

CODE,DS:

DATA

START

MOV

AX,DATA

MOV

DS,AX

LEA

SI,A

LEA

DI,B

LEA

BX,C

MOV

CX,4

CLC

L:

MOV

AL,[SI]

ADC

AL,[DI]

MOV

[BX],AL

INC

SI

INC

DI

INC

BX

LOOP

L

MOV

AH,4CH

INT

21H

CODE

ENDS

END

START

4.分析下列程序,说明程序的功能

2DUP(0)

DATASEGMENT

ADW

BDW

CDW

DDW

EDW

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,

DS:

DATA

START:

MOV

MOV

MOV

MOV

ADD

ADC

ADD

ADC

MOV

DIV

AX,DATADS,AXAX,ADX,0AX,BDX,0AX,CDX,0CX,DCX

MOVE,AX

MOVE+2,DX

MOV

AH,4CH

INT

21H

CODEENDS

END

START

5.分析下列程序,说明程序的功能

DATA

SEGMENT

A

DB

36H

B

DB

0DH,0AH,‘NUM='

C

DB

4DUP(0)

DATA

ENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOV

AX,DATA

MOV

DS,AX

MOV

AL,A

LEA

BX,C

MOV

CL,4

SHR

AL,CL

AND

AL,0FH

CMP

AL,9

JNA

N

ADD

AL,7

N:

ADD

AL,30H

MOV

[BX],AL

INC

BX

MOV

AL,A

AND

AL,0FH

CMP

AL,9

JNA

M

ADD

AL,7

M:

ADD

AL,30H

MOV

[BX],AL

INC

BX

MOV

BYTEPTR[BX],

‘H'

INC

BX

MOV

BYTEPTR[BX],

‘$'

LEA

DX,B

MOV

AH,9

INT

21H

MOV

AH,4CH

INT

21H

CODE

ENDS

END

START

6.分析下列程序

DATASGEMENT

ADW

123H,456H,789H

 

BDB12H,34H,56H,78H

CDB10DUP(2,3)

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOV

DS,AX

LEA

SI,A

LEA

DI,C

MOV

CX,10

L:

MOV

AL,[SI]

MOV

[DI],AL

INC

SI

INC

DI

LOOP

L

MOV

AH,4CH

INT

21H

CODEENDS

END

START

请回答:

C的前5个字节单元中的内容依次是什么?

分析下列程序

DATASEGMENT

ADB83H,

62H,56H,0FAH,67H

BDB0DATAENDSCODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOV

AX,DATA

MOV

DS,

AX

LEA

BX,

A

MOV

CX,

5

L

MOV

AL,[BX]

CMP

AL,

100

JAE

M

INC

BYTE

PTRB

M

INC

BX

LOOP

L

MOV

AH,

4CH

INT

21H

CODEENDS

ENDSTART

请回答:

(1)该程序完成什么功能?

(2)程序运行后,B中的内容是多少?

8.分析下列程序。

DATASEGMENT

ADB23H

BDB67H

CDB0

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATASTART:

MOVAX,DATA

MOVDS,AX

MOVAL,A

CMPAL,B

JGELXCHGAL,BMOVA,AL

L:

MOVC,ALMOVAH,4CHINT21H

CODEENDS

ENDSTART请回答:

(1)该程序完成什么功能?

(2)程序执行后,A、B、C变量中的值各为多少?

9.宏定义语句如下:

MMACROX,Y,Z

MOVDX,X

MOVAH,Y

INTZ

ENDM

宏调用语句如下:

MBUF1,9,21H

MBUF2,9,21H

请写出上述两条宏调用的宏展开语句。

10.宏定义语句如下:

WMACROX,Y,ZLOCALLLEABX,X

MOVCX,Y

MOVAX,0

L:

ADDAL,[BX]

ADCAH,0

INCBXLOOPLMOVZ,AX

ENDM

请回答:

执行“WBUF

100,C”指令后宏调用的程序功能是什么?

 

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

当前位置:首页 > 高中教育 > 高中教育

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

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