汇编语言程序设计复习提纲_第1页
汇编语言程序设计复习提纲_第2页
汇编语言程序设计复习提纲_第3页
汇编语言程序设计复习提纲_第4页
汇编语言程序设计复习提纲_第5页
已阅读5页,还剩14页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

汇编语言程序设计复习提纲

一、单项选择题

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

A.BPB.SPC.IPD.PSW

2.DALDB67H

NUMEQU80H

则执行ANDDAL,NUM语句后DAL中的内容是()0

A.E7HB.80HC.67HD.0

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

A.MOVAX,OFHB.MOVAX,OFFOFH

C.MOVAX,OOOFHD.MOVAX,OFOH

4.一个有16个字的数据区,它的起始地址是7OA0H:DDF6H,则这个数据区最末一

个字单元的物理地址是()。

A.7E806HB.7E814HC.7E815HD.7E80BH

B

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

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

C.SP,BP,IP,BXD.SI,DI,BP,BX

D

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

A.REPMOVSBB.REPSTOSB

C.REPECMPSBD.REPLODSB

D

7.ORG0030H

DAIDB0,O,30H

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

A.3000HB.OOHC.0030HD.3030H

A

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

的指令是(

A.CMPB.SUBC.ANDD.MOV

第1页共19页

D

9•将汇编语言源程序翻译成机器码程序的程序是()。

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

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

B

10.设DS=1E4AH,偏移地址为0056H,该字节的物理地址为(

A.1E4A6HB.1E456H

C.1E556HD.1E4F6H

D

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

A.由指令长度决定的字节数B.1

C.2D.3

A

12.若AX=349DH,CX=0FHo则执行指令

ANDAX,CX后,AX的值是()。

A.349DCHB.000DHC.049DHD.0240H

B

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

()o

A.FFC8HB.FFC9HC.FFC7HD.FCC8H

C

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

字单元的内容是()。

A.3412HB.3456HC.5634HD.1234H

C

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

A.字B.双字C.字节D.四字

A

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

第2页共19页

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

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

B

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

A.OOODHB.912FHC.912AHD.002FH

B

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

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

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

B

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

A.SIIRAX,1B.MOVAX,ES;[DX]

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

B

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

地址是():DDF6Ho

A.70B0HB.70A0HC.70C0HD.7E76H

B

21.下面两条指令执行后,CF和OF的值是()。

A.CF=10F=0B.CF=10F=lC.CF=O0F=lD.CF=O0F=0

MOVAL,12H;

ADDAL,OFFH;

A

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

A.COMB.EXEC.OBJD.LST

B

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

为()。

A.2DHB.OOHC.81HD.D5H

第3页共19页

c

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

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

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

C

25.执行下列指令后,正确的结果是

MOVAL,100

MOVBL,-1

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

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

B

26.在循环程序中使用LOOP指令作为循环结束的判断,其计数值一般应放的寄

存器是()。

A.DXB.BPC.CXD.IP

C

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

A.段地址值B.物理地址值

C.操作数D.偏移地址值

D

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

终指向。。

A.上一条指令的首地址

B.下一条指令的首地址

C.正在执行指令的首地址

D.需计算EA后才能确定的地址

B

29.下面的数据传送指令中,错误的操作是。。

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

B.MOVDX,1000H

C.MOVWORDPTR[BX],1000H

D.MOVDS,2000H

第4页共19页

D

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

A.STDB.STIC.CLDD.CLI

A

31.在下列指令的表示中,不正确的是()。C

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

C.DEC[BX]D.MULCL

32.若AX=56B8H,CX=FFOOH,当执行ANDAX,CX指令后,AX的值是。。A

A.5600HB.0056HC.0000HD.OFFFFH

33.下面对伪指令语句的说明,正确的是()。A

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

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

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

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

34.设逻辑地址为2F4BH:00C7H,那么它所对应存储单元的物理地址是()eC

A.2F4B7IIB.2F598HC.2F577HD.2EB76H

35.在下列段寄存器中,堆栈段寄存器是()oD

A.ESB.CSC.DSD.SS

36.下列汇编语言指令中,不正确的指令是(),A

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

C.ADD[SI],LABD.LEASI,[BX+LAB]

37.若(DS)=2000H,(BX)=0050H,(20050H)=34H,(20051H)=12H,贝11执行MOV

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

A.(AX)=0050HB.(AX)=0012HC.(AX)=1234HD.(AX)=3412H

38.在执行POP[BX]指令寻找目的操作数时,存放段地址和偏移地址的寄存器是

()oB

A.SS,BXB.DS,BXC.ES,BXD.SS,BP

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

A.RCRAX,1B.RORAX,1C.SHRAX,1D.SARAX,1

40.设SP=1FFDH,下面两条指令执行后,SP寄存器的内容是()0C

PUSHBX

POPF

A.1FFBHB.1FFFHC.1FFDHD.2000H

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

A.CMPAL,BLB.ORAL,ALC.TESTAL,BLD.ANDAL,BL

42.INCBYTEPTR[BX]指令中的操作数的数据类型是()。C

A.双字B.字C.字节D.四字

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

()o

A.汇编语言B.高级语言C.机器语言D.低级语言

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

A.XORAX,AXB.SUBAX,AXC.ANDAX,OOHD.ORAX,OOH

第5页共19页

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

C

A.8KB.16KC.64KD.1M

46.设(AX)=0A8H,CF=1,执行RCRAX,1指令后,AX寄存器的内容是()oB

A.0545HB.8054HC.0547HD.00B5H

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

MOVAL,81H

ADDAL,AL

SBBAL,AL

A.AL=01HB.AL=10H

C.AL=OOHD.AL=OFFH

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

A.PUSH54[DI]B.MOVAX,[BX]NUM[SI]

C.MOVAX,[BX+SI+NUM]D.ANDDH,DL

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

MOVBX,AX

NEGBX

ADDAX,BX

A.875BHB.OEDCCH

C.6DCCHD.0000H

50.指令JMPFARPTRL0P1属于()。C

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

C段间直接转移D段间间接转移

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

C

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

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

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

A.1022HB.0FF8HC.FFFHD.OFFEH

53.设CF=LAL=09H,BL=05H,执行指令ADCAL,BL之后,其结果应是()。C

A.AL=04B.AL=OEHC.AL=OFHD.AL=ODH

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

前,微机中普遍采用的是()。C

A.BCD码B.二进制码C.ASCII码D.十六进制码

55.设变量定义如下:DA-WORDDW3,5AH;指令ADDAL,TYPEPTR

DA_WORD的等效指令是()。A

A.ADDAL,3B.ADDAL,2

C.ADDAL,1D.ADDAL,4

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

存储器中,其存放的顺序是()。B

A.20,02B.02,20C.32,30,30,32D.32,30,32,30

57.CUP发出的访问存储器的地址是()。A

A.物理地址B.偏移地址C.逻辑地址D.段地址

58如AXRFFFFH,当执行如下指令后,AX的值为()。D

第6页共19页

NEGAX

A.OOOOHB.OFFFFHC.OFOOHD.OOO1H

59.逻辑运算指令是按位进行运算的,指令执行后不保留运算结果,只对标志寄

存器产生影响的指令是()。C

A.ANDB.XORC.TESTD.OR

60.在8086系统中,一个字节的无符号数能表达的数值范围是。。B

A.0~7HB.0~255C.0~256D.0~128

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

C

A.36AD8HB.36353HC.363D3HD.0A018H

62.执行下列指令序列后,结果AX中的值是()。B

M0VAL,91H

CBW

A.0091HB.0FF91HC.0F91HD.1F91H

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

A.直接寻址B.寄存器寻址C.寄存器相当寻址D.立即寻址

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

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

65.在字符串操作指令中,源串操作数的缺省段寄存器是()oC

A.CSB.SSC.DSD.ES

66.使用DOS系统功能调用终止当前程序并返回DOS操作系统,应选用的指令是

()。C

A.MOVAH,01HB.MOVBL,[BX]

INT21HINT21H

C.MOVAH,4CHD.RET

INT21HINT21H

67.下列指令中,有语法错误的指令是()oA

A.MOVCS,AXB.MOVBL,[BX]C.MOVSS,[BP+DI]D.MOV

ES,AX

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

A.SUBCX,CXB.XORCX,CXC.XORCX,OOHD.ANDCX,OOH

69.DADW在存储器中从低地址到高地址的存储顺序是()。B

A.41H,42HB.42H,41HC.0041H,0042HD.0042H,0041H

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

A.INCSIB.TESTAL,OFHC.SARBL,1D.JMPLOP

二、填空题

L完成同指令XCHGAX,BX相同功能的指令序列是

答案:MOVCX,AX;MOVAX,BX;MOVBX,CX。

2.某子程序的开始处要保护AX,BX,CX,DX四个寄存器信息:

PUSHAX

PUSHBX

PUSHCX

第7页共19页

PUSHDX

在子程序结束时要恢复这四个寄存器信息,请填写指令

答案:POPDX;POPCX;POPBX;POPAX

3.写出下列存储器地址的段基址、偏移地址和物理地址。

3200H:0123H

段基址:、偏移地址:、物理地址:

答案:段基址:3200H、偏移地址:0123H、物理地址:32123H。

4.8086产生物理地址的方式用公式表示为:=X+

答案:PA(或物理地址)、SA(或段基址)、10H(或X16)、EA(或偏移地址)

5.指出下列各条件跳转指令的类型(无符号数,带符号数也应说明)

JB_____________

JNA_____________

JGE_____________

JCXZ_____________

答案:无符号数小于转、无符号数不大于(或无符号数小于或等于)转、带符

号数大于或等于转、CX的值等于0转。

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

答案:SCAS

6.当发生除法溢出时,0F=()o

答案:1

7.指令JMPWORDPTR[BX]属于()。

答案:段内间接转移。

8.当源程序被汇编时,汇编程序对每个宏调用作()o

答案:宏展开。

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

答案:4.

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

答案:堆栈。

11.计算机在程序运行时执行的是()。

答案:指令。

12.保留逻辑段地址的寄存器,有四个:CS、DS、SS、ES,它们是()o

答案:段寄存器。

13.假设(SS)=3000H,(SP)=0140H,如果在堆栈中存入2个数据,则栈顶的

物理地址是()o答案:3013CHo

14.指令MOVAX,VAR[BX]的源操作数属于()寻址。

答案:寄存器相对。

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

答案:SP

16.唯一代表存储空间中每个字节单元的地址是()。

第8页共19页

答案:物理地址.

17,能被计算机直接识别的语言是()。

答案:机器语言.

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

答案:状态标志.

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

答案:伪指令.

20.指令下一条将要执行的指令的偏移地址存于()寄存器。

答案:IP.

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

答案:存储器.

22,把汇编语言程序翻译成机器语言程序的系统程序是()。

答案•汇编程序

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

答案:控制器.

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

答案:控制标志.

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

答案:段首址.

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

答案•偏移地力卜

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

答案:物理地址.

28.若(SP)=OFFEH,则指令POPAX执行后,(SP)=()

答案:1000H

29.回送变量或标号的编移地址值,应使用()伪指令。

答案:OFFSET

30.常用DOS系统功能调用的1号、2号、9号和10号功能调用分别完成

,,,和

答案:1号实现键盘单字符输入、2号实现屏幕单字符输出、9号实现屏幕字符

串输出和10号实现键盘字符串输入。

31.一般DOS系统功能调用步骤是:

(1);(2);(3)o

答案:⑴送DOS子功能号到AH寄存器;⑵置入口参数;⑶INT21H软中断调用。

32.标号和变量所具有的三种属性分别为属性,属性和

___________属性.

答案:段、偏移量、类型。

33.AX、BX、CX、DX均为位寄存器,也可分别作为两个____位寄存器

使用。

答案:16、8o

34.变址寄存器SI、DI均称为变址寄存器和变址寄存器,在进行

串操作时,常用作源地址指针,作目的地址指针。

答案:源、目的、SI、Dio

第9页共19页

35.SP寄存器常作为堆栈指针,用来存放堆栈区_____地值的偏移地址。

答案:栈顶。

三.实验题

1.在汇编语言实验中常使用哪几种软件工具?这些软件工具的作用是什么?

答案:在汇编语言实验中常使用QE.EXE、MASM.EXE、LINK.EXE三个软件工具。

QE是用来对源程序进行编辑录入的软件,存盘后的文件扩展名为.ASM;MASM是

用来对源程序进行汇编的软件,汇编后的文件扩展名为.OBJ;LINK是用来对目

的程序进行连接的软件,连接后的文件扩展名为,EXE。

2.当以会话方式调入连接程序时需要键入什么命令?连接程序调入后,用户必

须逐行回答哪些提示?

答案:当以会话方式调入连接程序时需要键入LINK/命令。连接程序调入后,

用户必须首先回答待需要连接的目的程序名(.OBJ),然后确认可执行文件的文

件名,以及是否需要建立内存图文件(.MAP)和是否需要与子程序库连接。

3.当以会话方式调入汇编程序时需要键入什么命令?汇编程序调入后,用户必

须逐行回答哪些提示?

答案:当以会话方式调入汇编程序时需要键入MASM/命令。汇编程序调入后,

用户必须首先回答源程序文件名(.ASM),然后确认目的程序文件名,以及是否

需要建立列表文件和CRF文件。

4.简述由汇编语言源程序到执行文件的处理过程。汇编程序调入后,用户必须

逐行回答

答案:源程序经编辑程序(如QE.EXE)编辑后,在磁盘上建立扩展名为.ASM

的文件并存盘;然后输入MASM/命令调汇编程序,逐行回答问题汇编源程序,

汇编后的结果为目标程序.OBJ;然后再输入LINK/命令调连接程序,逐行回答

问题,目标程序经连接程序连接装配后生成可执行文件・EXE。

四、简答题(每小题2分)

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

COUNT1DB48H

C0UNT2EQU48H

答案:第一条伪指令是定义字节变量,汇编后占据内存1个地址单元,该单元的

数值是48H;第二条伪指令是定义一个符号,不占据内存单元,该符号的引用值

是48H。

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

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

⑵将变量名TABL的段地址送AXo

答案:⑴SBBAX,7A30Ho⑵MOVAX,SEGTABLo

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

⑴VARIDD10

(2)VAR2DW4DUP(?),2

答案:(1)4;(2)10o

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

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

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

答案:⑴从堆栈弹出1个字送IP寄存器;⑵从堆栈弹出笫1个字送IP寄存器,

第10页共19页

接着弹出第2个字送CS寄存器。

5.下面两条语句有何区别?

(DXEQU1000H

⑵Y=1000H

答案:⑴用EQU对一个符号只能定义一次,无先定义后使用的规则;⑵二号伪指

令可对同一符号定义多次,但必须先定义后使用。

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

ARRAY1DB3,6,9,'123'

ARRAY2DB0

LEQUARRAY2-ARRAY1

问L的值是多少?

答案:L的值是6。

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

⑴C0UNT1DW1234H

(2)COUNT2DB12H,34H

答案:⑴在内存中的存放顺序为:34H、12H,12H占高地址;⑵在内存中的存放

顺序为:12H、34H,34H占高地址。

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

(l)ANDAX,OFFH

(2)MOVCX,COUT[SI]

(3)MOVAX,[DI]

(4)ADDAX,[BX][DI]

答案:(1)立即数寻址;(2)寄存器相对寻址;(3)寄存器间接寻址;(4)基址变

址寻址。

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

⑴用寄存器BX和位移量20H的寄存器相对寻址方式,把存储器中的一个字与CX

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

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

答案:⑴ADD20H[BX],CX;(2)ADDAL,0F9H。。

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

L假设数据区有:

DA1DB56H

DA2DB34H

DA3DB?*

DA4DB?

⑴下列程序段完成的功能是什么?

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

MOVAL,DAI

ADDAL,DA2

JONEXT

MOVDA3,AL

MOVDA4,0

JMPEXIT

NEXT:MOVDA4,1

笫11页共19页

EXIT:MOVDA3,0

答案:⑴该程序段的功能:将DAKDA2两单元的带符号数相加,如发生溢出,

将DA4单元置1、DA3单元置零;如不发生溢出则将和存入DA3单元,DA4单元

置零。⑵程序段执行后DA3、DA4字节单元的内容分别为0、lo

2.已知(AX)=FFFEH

INCAX

DECAX

INCAX

NEGAX

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

答案:+l(或1)

3.⑴下述程序段完成什么功能?

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

MOVAX,2

MOVDX,AX

SALAX,1

SALAX,1

ADDAX,DX

SARAX,1

答案:⑴程序段用算术左右移位指令完成乘除法运算;⑵程序段执行后AX的内

容是:5

4.设(BX)=A6D1H,指令:

MOVCL,7

SHRBX,CL

执行后,(BX)=()o

答案:014DH

5.下述程序段执行后,AL的内容是什么?

MOVAX,OOFFH

ANDAX,OFFFH

ORAX,OFOFH

XORAX,OOFFH

答案:AL=OOH

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

XORAL,OFH

ANDBL,OFH

ORCL,OFH

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

答案:AL=4AH,BL=06H,CL=8FH.

7.现有程序段如下:

MOVAX,01H

MOVBX,02H

MOVCX,03H

LOP:INCAX

ADDBX,AX

第12页共19页

SHRAX,1

LOOPLOP

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

答案:AX=1,BX=8,CX=O

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

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

答案:(SP)=O1FFEH,(41200H)=4500H

9.设AH=OAFH,CF=1

MOVDH,80

XORDH,OFFH

SBBAH,DH

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

答案:AH=(OFFH),CF=(1)

10.问:(1)如下程序完成的功能是什么?

(2)程序执行后(AL)=()。

XORAL,AL

MOVBL,1

MOVCX,5

LOP:ADDAL,BL

INCBL

INCBL

LOOPLOP

答案:⑴完成前5个奇数的累加;⑵(AL)=25

11.若(AX)=0A33AH,DX=OFOFH,

ANDAH,DL

XORAL,DH

NEGAH

NOTAL

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

答案:AX=OFDCAH

12.设(AL)=87H,(CX)=203H,CF=O

SARAL,CL

XCHGCH,CL

SHLAL,CL

上述程序段执行后,(AL)=(),(CF)=().

答案:(AL)=(OCOH),(CF)=(1).

13.已知数据定义如下:

DA1DW1384H,2578H

DA2DW9087H

MOVAX,DAI

MOVDX,DA1+2

DIVDA2

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

第13页共19页

答案:完成DA1的双字数据除以DA1单字数据的运算。

六程序填空

1.下列程序段完成:2+4+…+20共10个偶数的累加和。请将程序段补充完整

(每一空白处只填一条指令)。

DATASEGMENT

SUMDW?

DATAENDS

XORAX,AX

MOVBX,2

L0P1:ADDAX,BX

INCBX

INCBX

MOVSUM,AX

答案:MOVCX,10;LOOPL0P1

2.下列程序段完成功能:判断AX中的值是否大于等于0。若大于等于0,

则将CF置1;否则,将CF置0。请再空白处填上适当的指令(每一空白处

只填一条指令)。

CMPAX,0

CLC

LAB:__________

EXTI:HLT

答案:JGELAB;JMPEXTI;STC

3.下列程序段完成20个字数据的累加并把和存入SUM中。试在空白处填上

适当的指令(每一空白处只填一条指令)。

ARRAYDWal,a2,・・・,a20

SUMDW?

XORAX,AX

MOVCX,20

LOP:ADDAX,[BX]

INCBX

INCBX

MOVSUM,AX

答案:LEABX,ARRAY;LOOPLOPo

4.如下程序段的功能是把BX中的各个二进制位颠倒次序后还放回BX中。请在

空别处填上合适的指令。

MOVAX,BX

again:SHLAX,1

第14页共19页

Loopagain

HLT

答案:MOVCX,16;RCRBX,1。

5.如下程序段的功能是统计AX中的字型数据包含有多少个1和多少个0,DH

中放1的个数,DL中放0的个数。请在空别处填上合适的指令。

XORDX,DX

MOVCX,16

Again:ROLAX,1

INCDL

labl:INCDH

lab2:Loopagain

HLT

答案:JClabl;JMPlab2o

6.如下程序段的功能是将放于AL寄存器中的一位十六制数转换为相应的ASCII

码。请在空别处填上合适的指令。

CMPAL,9

ADDAL,07H

labl:__________

答案:JBElabl;ADDAL,30Ho

7.如下程序段的功能是完成将ARRAY开始的200个字数据的每个字数据加1操

作(不考虑溢出)。请在空别处填上合适的指令。

MOVCX,200

L0P1:INCWORDPTR[SI]

LOOPL0P1

答案:LEASI,ARRAY;ADDSI,2.

8.下列程序段实现1+2+3...+100的累加和。试在空白处填上适当的指令。

MOVAX,1

MOVBX,2

LOP:ADDAX,BX

INCBX

答案:MOVCX,99;LOOPLOPo

七.程序设计题

1.编写完整程序,从键盘读入一个符号串,把各符号颠倒顺序后在下一行输出。

DATASegment

BUFdb80,81DVP(O)

DATAends

第15页共19页

CODESegment

Assumecs:CODE,DS:DATA

Main:MOVAX,DATA

MOVDS,AX

LEADX,BUF

MOVAH,10

INT21H

V

MoBL,[BUF+1]

MOVBH,0

MOV[BUF+BX+2],24H

MOV[BUF+1],10

LEA

SI,[BUF+2]

LEA

DI,[BUF+BX+1]

SHRBX,1

MOVCX,BX

L0P1:MOVAL,[SI]

XCHGAL,[DI]

MOV[SI],AL

INCSI

INCDI

LOOPL0P1

LEADX,[BUF+1]

MOVAH,9

INT21H

MOVAH,4CH

INT21H

CODEENDS

ENDMain

2.以ARAAY为起始地址的字节存储单元中存放有N个有符号数据,请编写完整

程序找出其中最大值和最小值分别送入BL和AL寄存渊中。

DATASEGMENT

ARRAYDB25,-1,78,……N个有符号数字

COUTEQU$-ARRAY

DATAENDS

CODESEGMENT

ASSUMECS:CODE,DS:DATA

START:MOVAX,DATA

MOVDS,AX

LEASI,ARRAY

MOVCX,COUT

MOVAL,[SI]

MOVAH,[SI]

DECCX

第16页共19页

again:INCSI

CMPAL,[SI]

JLENextl

MOVAL,[SI]

Nextl:CMPAH,[SI]

JGENext2

MOVAH,[SI]

Next2:loopagain

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

3.编写一个将STR字符串加密的子程序,串长在CX中,加密码在AL中。(说明:

将一个字符加密,就是把该字符异或一个加密码)

答案的子程序如下:

SCRT_STRPRO

温馨提示

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

评论

0/150

提交评论