汇编语言程序设计复习(附答案完整版)教学文案 下载本文

内容发布更新时间 : 2024/6/25 13:53:21星期一 下面是文章的全部内容请认真阅读。

一、 选择

1.下面指令执行后,改变AL寄存器内容的指令是( D )。 A.TEST AL,02H B.OR AL,AL C.CMP AL,BL D.AND AL,BL 2.对寄存器AX的内容乘以4的正确指令序列是( B )。

A.SHR AX,1 /SHR AX,1 B.SHL AX,1/ SHL,AX,1 C.ROL AX,1 /ROL AX,1 D.RCR AX,1/ RCR AX,1

3.设DS=8225H,DI=3942H,指令NEG BYTE PTR[DI]操作数的物理地址是( A ) A.85B92H B.86192H C.BB690H D.12169H 4.指令JMP FAR PTR DONE属于 C A.段内转移直接寻址 B.段内转移间接寻址 C.段间转移直接寻址 D.段间转移间接寻址

5.将DX的内容除以2,正确的指令是 C

A.DIV 2 B.DIV DX,2 C.SAR DX,1 D.SHL DX,1

6.编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令有( D )。 A.CMP B.SUB C.AND D.MOV

7.汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可省略的项是( B )。

A.名字项 B.操作项 C.操作数项 D.注释项

8.假设执行ADD指令后AX=006EH,再执行AAA指令,AX中的值是( B ) A. 14H B. 0104H C. 74H D. 04H

9.用MOV指令将十进制数89以非压缩BCD码格式存入AX,可使用的指令是( D ) A. MOV AX,89 B. MOV AX,0809 C. MOV AX,89H D. MOV AX,0809H

10.下列语句中能与“DA1 DB 32H,34H”语句等效的是( A ) A. MOV DA1,32H B. MOV DA1,32

C. MOV WORD PTR DA1,3234H D. MOV WORD PTR DA1,‘24’ MOV DA1+1,34H MOV DA1+1,34 11.使用DOS功能调用时,子程序的编号应放在寄存器中( A ) A. AH B. AL C. AX D. 任意指定 12. 下列语句中能实现留空8个字节单元的语句是( D )

A. DA1 DT ? B.DA2 DW ?,? C. DA3 DD ? 13.指令JMP FAR PTR DONE属于 C A.段内转移直接寻址 B.段内转移间接寻址 C.段间转移直接寻址 D.段间转移间接寻址

14.下列叙述不正确的是 B A. 在不改变堆栈段寄存器的情况下,堆栈大小为64KB

B. 紧跟设置堆栈段寄存器指令可以是设置堆栈指针以外的任何指令 C. 中断服务程序的返回地址在堆栈中

D.DA4 DQ ?

D. 堆栈中数据存放的特点是先进后出

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

A.12CSBH B.12B6BH C.12C59H D.12BFEH 16.在下列指令的表示中,不正确的是 C A.MOV AL,[BX+SI] B.JMP SHORT DONI C.DEC [BX] D.MUL CL

17.在进行二重循环程序设计时,下列描述正确的是 A A.外循环初值应置外循环之外;内循环初值应置内循环之外,外循环之内 B.外循环初值应置外循环之内;内循环初值应置内循环之内 C.内、外循环初值都应置外循环之外

D.内、外循环初值都应置内循环之外,外循环之内 18.条件转移指令JNE的测试条件为 A A.ZF=0 B.CF=0 C.ZF=1 D.CF=1 19.将DX的内容除以2,正确的指令是 C

A.DIV 2 B.DIV DX,2 C.SAR DX,1 D.SHL DX,1

20.已知BX=2000H,SI=1234H,则指令MOV AX,[BX+SI+2]的源操作在(A )中。 A.数据段中偏移量为3236H的字节 B.附加段中偏移量为3234H的字节 C.数据段中偏移量为3234H的字节 D.附加段中偏移量为3236H的字节 21.执行如下程序:

MOV AX,0 MOV BX,1 MOV CX,100 A: ADD AX,BX INC BX LOOP A HLT

执行后(BX)= C

A.99 B.100 C.101 D.102 22.上题的程序执行后(AX)= B

A.5000 B.5050 C.5100 D.5150

23.在下列指令中,__D____指令的执行会影响条件码中的CF位。 A.JMP NEXT B.JC NEXT C.INC BX D.SHL AX,1 24.下面指令序列执行后完成的运算,正确的算术表达式应是 D MOV AL,BYTE PTR X SHL AL,1 DEC AL

MOV BYTE PTR Y,AL

A.y=x*2+1 B.x=y*2+1 C.x=y*2-1 D.y=x*2-1

25.在一段汇编程序中多次调用另一段程序,用宏指令比用子程序实现起来。 B A.占内存空间小,但速度慢 B.占内存空间大,但速度快

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

26.在程序执行过程中,IP寄存器中始终保存的是 B A.上一条指令的首地址 B.下一条指令的首地址 C.正在执行指令的首地址

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

二、简答

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

(1)SHR DX,1 (2)RCR DL,1 (3)RCL DX,CL

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

2.写出完成下述功能的程序段:(8分) (1)传送25H到AL寄存器 (2)将AL的内容乘以2 (3)传送15H到BL寄存器 (4)AL的内容乘以BL的内容 并请写出最后(AX)=? 答:(1)MOV AL,25H (2)SHL AL,1 (3)MOV BL,15H (4)MUL BL AX=612H

3.指出下列指令的错误原因。(14分)

(1)MOV BX,AL 操作数类型不同 (2)MOV 256,CX (3)POP CS (4)MUL 45H (5)MOV DS,2000H

(6)JMP WORD PIR LOO (7)IN AL,3F8H

5.设某数据段:

DATA SEGMENT

ORG 20H

NUM1=8 NUM2=NUM1+10H

DA1 DB 'COMPUTER'

DB 0AH,0DH

COUNT EQU $-DA1

DA2 DW 'CO','MP','UT','ER'