文档视界 最新最全的文档下载
当前位置:文档视界 > 汇编语言试题及答案.

汇编语言试题及答案.

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

1-10CCCCAADACB 11-20.ADBBAADDCC

1.指令JMP FAR PTR DONE属于( C

A.段内转移直接寻址

B.段内转移间接寻址

C.段间转移直接寻址

D.段间转移间接寻址

2.下列叙述正确的是(

A.对两个无符号数进行比较采用CMP指令,对两个有符号数比较用CMP S指令

B.对两个无符号数进行比较采用CMPS指令,对两个有符号数比较用CM P指令

C.对无符号数条件转移采用JAE/JNB指令,对有符号数条件转移用JGE/J NL指令

D.对无符号数条件转移采用JGE/JNL指令,对有符号数条件转移用JAE/J NB指令

3.一个有128个字的数据区,它的起始地址为12ABH:00ABH,请给出这个数据区最末一个字单元的物理地址是(

A.12CSBH

B.12B6BH

C.12C59H

D.12BFEH

4.在下列指令的表示中,不正确的是(

A.MOV AL,[BX+SI]

B.JMP SHORT DONI

C.DEC [BX]

D.MUL CL

5.在进行二重循环程序设计时,下列描述正确的是(

A.外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内

B.外循环初值应置外循环之内;内循环初值应置内循环之内

C.内、外循环初值都应置外循环之外

D.内、外循环初值都应置内循环之外,外循环之内

6.条件转移指令JNE的测试条件为(

A.ZF=0

B.CF=0

C.ZF=1

D.CF=1

7.8086CPU在基址加变址的寻址方式中,变址寄存器可以为(

A.BX或CX

B.CX或SI

C.DX或SI

D.SI或DI

8.已知BX=2000H,SI=1234H,则指令MOV AX,[BX+SI+2]的源操作在(中。

A.数据段中偏移量为3236H的字节

B.附加段中偏移量为3234H的字节

C.数据段中偏移量为3234H的字节

D.附加段中偏移量为3236H的字节

9.执行如下程序:(

MOV AX,0

MOV AX,0

MOV BX,1

MOV CX,100

A:ADD AX,BX

INC BX

LOOP A

HLT

执行后(BX=(

A.99

B.100

C.101

D.102

10.上题的程序执行后(AX=(

A.5000

B.5050

C.5100

D.5150

11.对于下列程序段:(

AGAIN:MOV AL,[SI]

MOV ES:[DI],AL

INC SI

INC DI

LOOP AGAIN

也可用______指令完成同样的功能。

A.REP MOVSB

B.REP LODSB

C.REP STOSB

D.REPE SCASB

12.下面指令序列执行后完成的运算,正确的算术表达式应是(

MOV AL,BYTE PTR X

SHL AL,1

DEC AL

MOV BYTE PTR Y,AL

A.y=x2+1

B.x=y2+1

C.x=y2-1

D.y=x2-1

13.在一段汇编程序中多次调用另一段程序,用宏指令比用子程序实现起来。(

A.占内存空间小,但速度慢

B.占内存空间大,但速度快

C.占内存空间相同,速度快

D.占内存空间相同,速度慢

14.在程序执行过程中,IP寄存器中始终保存的是(

A.上一条指令的首地址

B.下一条指令的首地址

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

D.需计算有效地址后才能确定地址

15.PSW寄存器中共有______位条件状态位,有______位控制状态位。(

A.6、3

B.3、6

C.8、4

D.4、8

16.下列指令执行时出错的是(

A.ADD BUF1,BUF2

B.JMP DWORD PTR DAT [BX]

C.MOV AX,[BX+DI] NUM

D.TEST AL,08H

17.已知(AX=1234H,执行下述三条指令后,(AX=(

MOV BX,AX

NEG BX

ADD AX,BX

A.1234H

B.0EDCCH

C.6DCCH

D.0000H

18.在下列指令中,______指令的执行会影响条件码中的CF位。(

A.JMP NEXT

B.JC NEXT

C.INC BX

D.SHL AX,1

19.串指令中的目的操作数地址是由______提供。(

A.SS:[BP]

B.DS:[SI]

C.ES:[DI]

D.CS:[IP]

20.将DX的内容除以2,正确的指令是(

A.DIV 2

B.DIV DX,2

C.SAR DX,1

D.SHL DX,1

二,简答题(每小题4分,共12分

1.假定(DX=10111001B,(CL=0.3,(CF=1,试确定下列各条指令单独执行后,DX中的值。

(1SHR DX,1

(2RCR DL,1

(3RCL DX,CL

2.写出完成下述功能的程序段:

(1传送25H到AL寄存器

(2将AL的内容乘以2

(3传送15H到BL寄存器

(4AL的内容乘以BL的内容

并请写出最后(AX=?

3.写一程序段,求双字长数DX∶bX的相反数。三,程序分析题(每小题6分,共36分

1.现有如下程序段:

DATA SEGMENT DA3 EQU 1234H

ORG 0020H DA4 EQU $-DA2

DA1 DW 12H,23H DA5 DB 31H,32H

DA2 DB 11H,21H DATA ENDS

请回答:(1该程序段已占有的存储字节数是多少?

2.执行下列程序段后,回答问题。

ORG 1221H MOV BX,OFFSET NUM

NUM DW 12H MOV CL,BYTE PTR NUM+1 … MOV CH,TYPE NUM

MOV AX,NUM HLT

请问:(AX=______,(BX=______,(CX=______。

3.阅读如下程序:

ADRR DB XXH,XXH,……,XXH CMP ADRR[BX],0 NUM EQU $-ADRR LOOPZ DON

RETT DB?JNZ NEXT

… MOV BL,OFFH

MOV CX,NUM NEXT:MOV RETT,BL

MOV BX,-1 HLT

DON:INC BX

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

(2程序执行后指出RETT字节单元中的内容是什么?

4.现有一子程序:

SUB1 PROC PLUS:TEST BL,80H

TEST AL,80H JE EXITO

JE PLUS XCHANGE:XCHG AL,BL

TEST BL,80H EXITO:RET

JNE EXITO SUB1 ENDP

JMP XCHANGE

试回答:(1子程序的功能是什么?

(2若调用子程序前AL=9AH,BL=77H,则返回主程序时,AL=___

BL=______。

5.阅读程序段:

BLOCK DB 20H,1FH,08H,81H,OFFH… LOP1:CMP AL,[SI+1] RESULT DB? JNG NEXT

… MOV AL,[SI+1]

START:LEA SI,BLOCK NEXT:INC SI

MOV CX,[SI] LOOP LOP1

INC SI MOV RESULT,AL

MOV AL,[SI] HLT

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

(2该程序循环的次数是多少?

6.阅读如下程序段,回答所提出的问题,假定X1,X2,XN为无符号数。ORG 100H

BLOK DW X1,X2,…,XN

COUNT EQU($-BLOLOK/2

RESULT DW COUNT,?

LEA BX,BLOK-2

MOV CX,RESULT

XOR AX,AX

GOON:ADD BX,2

CMP AX,[BX]

JAE NEXT

MOV AX,[BX]

NEXT:LOOP GOON

MOV RESULT+2,AX

程序段执行完,回答下述问题

RESULT+2字存储单元的内容=______

BX=______

程序循环次数=______

答案

1-10CCCCAADACB 11-20.ADBBAADDCC 二,简答题(每小题4分,共12分

1.答:(1 005CH (2 00DCH (3 05CCH

2.答:(1MOV AL, 25H

(2SHL AL, 1

(3MOV BL, 15H

(4MUL BL

最后,(AX=612H =1554

3.答:NEG DX

NEG AX

SBB DX, 0

三,程序分析题(每小题6分,共36分

1.答:(1 该程序段已占有的存储字节数是8个字节

(2 符号名DA4的值为2,符号名DA5的值是0026H。

2.答:(AX=0012H (BX=1221H (CX=0200H

3.答:(1 在以ADRR为起始地址的数组中,查找第一个非0数据。

(2 若找到则将第一个非0数据在数组中的偏移量送入RETT单元中;若无非0数据,则将OFFH送入RETT单元中。

4.答:(1子程序的功能是判别AL和BL中的数是否为异号数,当为异号时交换,否则不变。

(2 AL=77H, BL=9AH

5.答:(1 该程序完成的功能是从20H(32个有符号数中找出最小的数

送入RESUL T单元中。

(2 该程序的循环次数是1FH(31。

6.答:RESULT+2字存储单元的内容是MAX(X1, X2, … XN

BX= 100H + 2×(COUNT-1 程序循环次数=COUNT

相关文档
  • 汇编语言试题及答案

  • 汇编语言常用语句一览

  • 汇编语言出错信息说明

  • 汇编语言常见错误

  • 汇编语言10

  • 汇编语言常用指令大全

相关推荐: