2019年秋季学期《汇编语言》在线考试补考(适用于2020年4月份考试)题目
一、单选题 (共 20 道试题,共 40 分)
1.若AX=2000H,CL=90H,则DIV CL执行后,AX=( )
A.9138H
B.8138H
C.8039H
D.8038H
2.十进制数运算调整指令AAS可以紧跟在( )之后
A.SBB
B.NEG
C.DEC
D.CMP
3.分析运算符LENGTH只有用( )定义的变量才有意义。
A.表达式
B.疑问号
C.字符串
D.DUP
4.INT 1AH指令执行的结果高位字存在( )中
A.DX
B.CX
C.BX
D.AX
5.若BL=83H,CF=1,则ADC BL,90H执行后,BL=( )
A.17H
B.16H
C.15H
D.14H
6.中断服务程序入口地址占用( )个字节
A.6
B.4
C.2
D.1
7.条件转移指令的转移范围( )
A.-32768 — +32767
B.-128 — +127
C.0 — +65535
D.0 — +255
8.MOV AX,ES:[1000H] 源操作数的寻址方式是( )
A.立即寻址
B.直接寻址
C.基址寻址
D.变址寻址
9.指令MOV BX,MASK[BP],若MASK=3500H,SS=1200H,DS=1000H,BP=1000H,那么物理地址为( )
A.17500H
B.16500H
C.14500H
D.13500H
10.MOV DX,COUNT[BP][DI]的源操作数的寻址方式是( )
A.直接寻址
B.基址寻址
C.基址变址寻址
D.变址寻址
11.指令MOV AX,COUNT[BX],若COUNT=0400H,SS=1200H,DS=1000H,BX=5000H,那么物理地址为( )
A.17400H
B.17000H
C.15400H
D.14500H
12.将125转换成二进制数的结果( )
A.7EH
B.7DH
C.7CH
D.7BH
13.指令MOV DX,DELTA[BX][SI],若DELTA=1300H,SS=7200H,DS=5400H,BX=0500H,SI=4000H,那么物理地址为( )
A.78700H
B.77800H
C.6F300H
D.59800H
14.MOV AX,ES:COUNT[DI] 源操作数的寻址方式是( )
A.立即寻址
B.基址寻址
C.基址变址寻址
D.变址寻址
15.汇编语言指令中唯一不可缺少的域是( )
A.注释域
B.标号名字域
C.操作数域
D.助记符域
16.将93H看成一个组合BCD码,其结果是( )
A.10010101
B.10010011
C.10000011
D.10000001
17.在计算机的CPU中执行算术逻辑运算的部件是( )
A.PC
B.AR
C.ALU
D.AL
18.已知[X]补=98H, 则[X]补/2=( )
A.4CH
B.49H
C.31H
D.0CCH
19.下面哪一个命令是显示内存单元的内容( )
A.R命令
B.F命令
C.E命令
D.D命令
20.已知X=78,Y=-83则[X+Y]补=( )
A.65H
B.0FBH
C.0F5H
D.0A1H
二、问答题 (共 6 道试题,共 30 分)
下面的程序段有错吗?若有,请指出错误。 ? ??
CRAY PROC ? ? ? ?
?? ?PUSH ?AX ? ? ? ??
? ? ADD ?AX,BX ? ? ? ??
? ? RET ? ??
ENDP ?CRAY
假定(DX)=10111001B,(CL)=3,(CF)=1,试确定下列各条指令单独执行后,DX中的值。
(1)SHR DX,1
(2)RCR DL,1
(3)RCL DX,CL
试根据以下要求,分别写出相应的汇编语言指令。?
(1) 把AX寄存器和BX寄存器的内容相加,结果存入AX中;?
(2) 用BX和SI的基址变址寻址方式,把存储器中的一个字节与DL的内容相加,并把结果送回DL中;?
(3) 把数5EH与AH内容相加,结果送回AH中。
完成下列操作,分别选用什么指令:?
(1)将AX的内容,减去0520H,和上次运算的借位;?
(2)将变量名TABL的段地址送AX;?
(3)将变量名TABL的偏移地址送AX。
定义数据段DATA_SEG,数据段中的数据按下列要求依次存储:?
(1)变量BUF,大小为25个字节,初值为0;?
(2)变量ARRAY,类型为字,初值为12H,56H,78H,0AH;?
(3)变量MSG存储字符串 ’yes’。
在某子程序的开始处要保护AX,BX,CX三个寄存器信息,在子程序结束时要恢复这三个寄存器信息。假设保护现场的指令序列为:?
? PUSH AX?
? PUSH BX ??
? PUSH CX?
试写出恢复现场时的指令序列。
三、论述题 (共 3 道试题,共 30 分)
编写完整程序:在BUF1和BUF2两个数据区中,各定义有10个带符号字数据,试编制一完整的源程序,求它们对应项的绝对值之和,并将和数存入以SUM为首址的数据区中。?
DATA ?SEGMENT?
BUF1 ?DW -56,24,54,-1,89,-8,3,-2,12,-5?
BUF2 ?DW 45,-23,124,345,-265,28,-7,3,6,19?
SUM ? DW 10 DUP(0)?
DATA ?ENDS
编写完整程序: 设在内存单元SQTAB首址开始存放了0~15的平方数表。要求用直接查表法编一程序,求出A单元中给定数(<=15)的平方值送B单元保存。
编程序段:编制将ES段中名为DATA的字存储区清零的程序段。假定DATA存储区定义为: DATA ? DW ?20 ?DUP(?) 要求用循环指令编写,循环控制采用计数寄存器自动控制。(此题勿需书写完整的源程序格式,只需把试题要求的有关指令序列书写出来。)