一、选择题
1.用户为了解决自己的问题,用汇编语言所编写的程序,称为( ) A.目标程序 B.源程序 C.可执行程序 D.汇编程序 2.某系列微机对存储器的分段,如果每一个段最多的字存储单元(16位二进制)是32K,那么表示段内字节单元偏移地址的二进制位数应是( ) A.20位 B.16位 C.15位 D.12位 3.指令MOV BYTE PTR[BX+SI],0目的操作数的寻址方式是( )。 A.立即寻址 B.寄存器寻址 C.寄存器间接寻址 D.基址变址寻址
4.用一条指令仅实现将BX+SI=>AX的方法是( ) A.XCHG AX,[BX][SI] B.MOV AX,[BX+SI] C.LEA AX,BX[SI] D.LEA AX,[BX][SI]
5.设 SP初值为2000H,执行指令\后,SP的值是( ) A.1FFFH B.1998H C.2002H D.1FFEH 6.条件转移指令JB产生程序转移的条件是( ) A.CF=1 B.CF=0 C.CF=1和ZF=1 D.CF=1和ZF=0
7.某数组共有4个字,第一个字的物理地址是1F100H,则第4个字的物理地址是( )。
A.1F105H B.1F106H C.1F107H D.1F108H 8.设AL=20H,SI=0500H,DS=3000H,(30500H)=0C0H,CF=1。执行SBB AL,[SI]后,正确的结果是( ) A.AL=5FH SF=1 CF=1 B.AL=60H SF=1 CF=0 C.AL=5FH SF=0 CF=1 D.AL=60H SF=0 CF=0 9.设 AX=1000H
NEG AX NOT AX
执行上述指令后,正确的结果是( ) A.AX=1001H B.AX=0FFFH C.AX=1000H D.AX=0111H 10.CBW指令的功能是( )
A.把源操作数的符号位扩展到目的操作数中 B.把AL中的符号位扩展到AH中 C.把AH中的符号位扩展到AL中 D.把AX中的符号位扩展到DX中
11.循环指令Loop规定循环次数必定在( )寄存器中。 A.DX B.DL C.CX D.CL 12. ORG 0030H
DA1 DB 0,'0',30H DW DA1
数据为3000H字存储单元的偏移地址是( ) A.0030H B.0031H C.0032H D.0033H
13有数据定义LIST DB 45H,36H,18H,76H,执行MOV AX,WORD PTR LIST+2,则AX=( )。 A.3600H B.0036H C.1876H D.7618H
14. 要求将A,B两个字符的ASCⅡ码41H,42H顺序存放在连续两个字存储单元中,可选用的语句是( ) A.DA1 DB 'AB' B.DA1 DW 'AB' C.DA1 DB 0ABH D.DA1 DW 0ABH
15. 8086的存储器是分段的,定义一个段的伪指令是( )。 A.PROC和ENDP B.NAME和END
C.SEGMENT和ENDS D.SEGMENT和ASSUME 16.下面语句中有语法错误的语句是( ) A.DB 45H B.DW OABCDH C.DW 'ABCD' D.DD 'AB' 17. MOV CL,8 ROL AX,CL OR AX,BX
假设AX=0012H,BX=0034H,那么上述程序段执行后,AX中的结果是( )
A.1234H B.3412H C.0046H D.0034H 18. 已知CS=2300H,DS=2400H,执行下列指令序列后,CS和DS值是( )。 PUSH CS POP DS
A.CS=0 B.CS=2400H C.CS=2400H D.CS=2300H DS=2300H DS=2300H DS=2400H DS=2300H 19. DA2 DB 12H,34H,56H,0ABH DB$-DA2
BUF1 DB 10H,20H,30H ┇
LEA SI,DA2 MOV CL,4[SI]
MOV CH,LENGTH BUF1
上述指令序列运行后,CX的内容是( ) A.03ABH B.01ABH C.0304H D.0104H 20.串比较指令REPE CMPSB重复比较执行的条件是( )。 A.CX≠0 并且 ZF=0 B.CX≠0 并且 ZF=1 C.CX≠0 或者 ZF=0 D.CX≠0 或者 ZF=1 二、简答题:
1.下列语句在存储器中分别为变量数据区分配多少个字节单元? (1)VAR3 DD 10
(2)VAR4 DW 4 DUP(?),2
2.设DS=2000H,BX=1256H,变量TABLE的偏移地址为20A1H,(232F7H)=3280H。下列指令分别执行后,IP的值各是多少? (1)JMP BX: IP=___________________
(2)JMP TABLE[BX]: IP_____________________
3.选用NOT,AND,OR XOR逻辑指令编写一指令序列,实现将AL第0位,第2位同时置1,其他位变反。 三、程序分析题:
1.MOV AX,0BC5FH MOV BX,0C0FBH XOR AX,BX XOR AX,BX
上述程序段运行后,AX=___________________,CF=____________________ 2. 已知DS=1A00H,ES=2D00H,SS=1B80H,BX=100H,BP=40H,DI=20H,计算下列源操作数物理地址。
(1)OR AX,[BP] 物理地址____________; (2)SUB AX,ES:[BX+DI] 物理地址____________。 3.DATA SEGMENT ORG 3040H
YY1 DB 30H,40H YY2 DW 3040H DATA ENDS ┇
MOV BX,OFFSET YY1 MOV AX,[BX]
上述程序段运行后,AX=_________________,BX=__________________. 4.DA1数据区中有50个字节数据,下面程序段将每个数据的低四位变反,高四位不变,并依次存入DA2数据区中。请将程序补充完整。 MOV CX,50 LEA SI,DA1 LEA DI,DA2
K1:MOV AL,[SI] ____________ MOV [DI],AL INC SI INC DI DEC CX _____________ 四、编程题:
1、设有三个字节变量X、Y、Z,试计算三者的平均值,并存入字节变量W中。
2、试编写一个汇编语言程序,要求对键盘输入的小写字母用大写字母显示出来。