全国2003年10月高等教育自学考试汇编语言程序设计试题

作者名:不详 来源:网友提供 06年6月8日

 

全国 2003年10月高等教育自学考试

汇编语言程序设计试题

课程代码: 02321

第一部分 选择题(共20分)

一、单项选择题 (本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、多选或未选均无分。

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

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

C. B=D D. A>C>D

2.标志寄存器中属于控制标志位的是( )

A.DF,OF,SF B.DF,IF,TF

C.OF,CF,PF D.AF,OF,SF

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

A.64K个字 B.32K个字节

C.1兆个字节 D.64K个字节

4.设AL中已有压缩型BCD码,为实现对AL的减1操作,可选用的指令序列是( )

A.DEC AL B.SBB AL,0

AAS DAS

C.SUB AL,1 D.SUB AL,1

AAS DAS

5.要输入端口1234H中的8位数据,其指令应是( )

A.MOV DX,1234H B.MOV DX,1234H

OUT DX,AL 1N AL,DX

C.1N AX,1234H D.OUT DX,1234H

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

A.NEG AX B.NOT AX

C.INC AX D.DEC AX

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

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

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

8.MOV AL,79

ADD AL,0B1H

上面指令执行后,设置的标志位 CF和OF的值是( )

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

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

9.已知AX,BX中均为带符号数,当进行字相除时,下面指令或指令序列正确的是( )

A.DIV BX B.CWD

IDIV BX

C.XOR DX,DX D.CBW

DIV BX IDIV BX

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

A.MOV AL,42H B.ADD AL,BL

C.SUB [BX],DI D.1NC [DI]

11.用REPE SCASB指令对字符串进行扫描,如CX 0时,扫描结束,那么表示( )

A.在字符串中遇上第一个AL中指定的字符

B.在字符串中有一个AL中指定的字符

C.在字符串中有一个不是AL中指定的字符

D.在字符串中遇上第一个不是AL中指令的字符

12.下列指令执行后对源和目的操作数均无影响的是( )

A.MOV [BX+2],AX B.SUB AX,2467H

C.SBB [SI],BX D.CMP AX,BX

13.表示过程定义结束的伪指令是( )

A.ENDP B.ENDS

C.END D.ENDM

14.下列有语法错误的语句是( )

A.DB 12H B.DW 4567H

C.DD ˋBCDˊ D.DB ˋCDˊ

15.DB1 DB 8 DUP(2 DUP(3),3 DUP(2))

MOV AX,WORD PTR DB1 [04H]

上面指令执行后,AX的内容是( )

A.0302H B.0203H

C.0202H D.0303H

16.BUF1 DB 3 DUP(0,2 DUP (1,2),3)

COUNT EQU $ - BUF1

符号COUNT等价的值是( )

A.6 B.18

C.16 D.8

17.DA1 DW 2A05H

DA2 DB 0FAH

MOV AL,BYTE PTR DA1

SUB DA2,AL

上述指令执行后,DA2中的内容是( )

A.0DAH B.0FAH

C.0F5H D.0D0H

18.设(SS)=338AH,(SP)=450H,执行PUSH BX,和PUSHF两条指令后,堆栈顶部的物理地址是( )

A.33CECH B.33CF2H

C.33CF4H D.33CE8H

19.设(SP)=0028H,执行段内返回指令RET 6后,SP的内容是( )

A.0036H B.0022H

C.0030H D.0020H

20.条件转移指令JNBE产生转移的条件是( )

A. CF=0 AND ZF=0 B. CF=0 AND ZF=1

C. CF=1 AND ZF=0 D. CF=1 AND ZF=1

第二部分 非选择题(共80分)

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

21.8086/8088CPU允许最大的存储空间为1MB,因此CPU的地址总线是 位。

22.一个语句的名字项可以是标号或变量,在程序中它们两个在书写形式上的主要区别是 。

23.无符号数和带符号数的两组条件转移指令,每条指令都有完全等效的两个指令助记符,例如,JL指令另一个指令助记符是 。

24.指令MOV AX,SEG BUF的执行,是把 送到AX中。

25.如果多个条件转移指令实现多路分支程序设计,那么为实现5路分支,需要 个条件转移指令。

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

26.假设DS=2000H,COUNT=0100H,SI=0030H,指令MOV AX,COUNT[ST]

①写出源操作数的物理地址?

②该指令可否写成 MOV AX,[COUNT+SI]?

27.下面指令有无错误?若有错,是什么错误?

① MOV AX,[SI][DI]

② CMP [SI],[BX]

28.条件转移指令的判断条件除标志位PF外还有哪几个标志位?

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

29.ADR DW 1234H,5678H

LEA SI,ADR

LDS BX,ADR

设变量 ADR的偏移地址是100H,上述两条指令执行后:SI= ,BX= 。

30.已知DS和ES指向同一个段,且当前数据段从0000H到00FFH单元内容分别为01,02,03,…,0FF,00H。问下列程序段执行后,0000~0009H的内容是些什么值。

MOV SI,0000H

MOV DI,0001H

MOV CX,0080H

CLD

REP MOVSW

31.STR1 DB ˋCOMPUTERNDPASCALˊ

SCA DB ˋNˊ

LEA DI,STR1

MOV AL,SCA

MOV CX,10H

CLD

REPNE SCASB

NEXT:……

程序运行到 NEXT时CX= ZF=

32.已知AX=0FFFFH,DX=0001H

MOV CX,2

LOP:SHL AX,1

RCL DX,1

LOOP LOP

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

33.已知DX=0A476H,CX=0302H,CF=1

OR DX,DX

RCR DX,CL

XCHG CH,CL

RCL DX,CL

上述程序段执行后, DX= CF=

34.MOV AX,10

SHL AX,1

SHL AX,1

MOV BX,AX

MOV CL,2

SHL AX,CL

ADD AX,BX

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

35.已知AX=78H,BX=0804H

SHR BX,1

AND BX,0F0FH

MOV CX,4

LOP:XCHG BH,BL

DIV BL

SAL AX,1

LOOP LOP

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

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

36. 下面程序执行后,AL的内容为ARRAY数组中的最小数,请在空白处各填上一条指令。

ARRAY DB 3,5, - 3, - 2,4,5, - 8,6

MOV CX,7

MOV DI,0

MOV AL,ARRAY

A1: INC DI

JLE A2

MOV AL,ARRAY [DI]

A2 ②

37.下面程序段是判断两个存储单元是否同为正数,如是,则AX置全0,否则AX置非0。试在空白处各填上适当的一条条件转移指令(两空白处要利用不同的标志位选用不同的条件转移指令)。

VAR1 DW ××××

VAR2 DW ××××

MOV AX,VAR1

MOV BX,VAR2

XOR AX,BX

TEST BX,8000H

MOV AX,0

NEXT:……

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

38.编一程序段将BUF字节单元中的数折成高低四位,并且将分离出的高四位和低四位分别放于BUF+1和BUF+2字节单元的低四位上。(5分)

39.编写一子程序,将AL中一位十六进制数转移为对应的ASCII码并用2号DOS功能调用显示出来,输入参数:被转换的十六进制数已在AL中。(5分)

40.在数据段中,WEEK是星期一~星期日的英语缩写,DAY单元中有数1~7(1表示星期一,7表示星期日):

WEEK DB ˋMONˊ,ˋTUEˊ,ˋWEDˊ,ˋTHUˊ,ˋFRIˊ,ˋSATˊ,ˋSUNˊ

DAY DB X ;数字1~7

试编写一源程序,根据 DAY的内容用单个字符显示功能调用(2号功能)去显示对应的英文缩写。(12分)