单项选择:
1.已知某操作数的物理地址是2117AH,则它的段地址和偏移地址可能是( )。
A.2025∶0F2A B.2108∶00EA C.2000∶017A D.2100∶117A
2.某程序装入内存后,DS=1200H,CS=1400H,则程序中数据段中的数据最多是( ) 字节。
A.2K B.4K C.8K D.16K
3.以寄存器DI间接寻址的存储器字节单元内容加1的指令是( )。
A.INC [DI] B.INC DI
C.INC BYTE PTR[DI] D.ADD [DI],1
4.有语句:COUNT EQU 256,下列四种叙述中,正确的是( )。
A.COUNT是变量 B.COUNT占用一个字节存储单元
C.COUNT是符号常数 D.COUNT占用二个字节存储单元
5.下面指令中,源操作数的寻址方式为立即寻址的是( )。
A、MOV AX,OFFSET A B、.MOV AX,A
C、.MOV AX,A+1 D、.MOV AX,A[BX]
6.已知SP=2110H,执行POP AX后,SP寄存器的值是( )。
A.2111H B.2112H C.210FH D.210EH
7.将AX中有符号数除以2的正确指令是( )。
A.SHR AX,1 B.SAR AX,1
C.ROR AX,1 D.RCR AX,1
8.比较BX和SI中的两个存储器地址,若BX≥SI转向HIGH的正确指令是( )。
A.JAE HIGH B.JBE HIGH
C.JEG HIGH D.JLE HIGH
9.指令SCASB操作数的段地址一定在( )寄存器中。
A.CS B.DS C.ES D.SS
10.有数据定义语句BUF DW 0ABH,1,10 DUP(3 DUP(1,0),2)汇编后,为变量BUF分配的
存储单元字节数是( )。
A.48H B.90H C.120 D.60
11.下列指令执行时出错的是( )。
A.add buf1,buf2 B.jmp dword ptr dat [bx]
C.mov ax,[bx+di] num D.test al,08h
12.已知(ax)=1234h,执行下述三条指令后,(ax)=( )。
mov bx,ax
neg bx
add ax,bx
A.1234h B.0edcch C.6dcch D.0000h
13.在下列指令中,( )指令的执行会影响条件码中的cf位。
A.jmp next B.jc next C.inc bx D.shl ax,1
14.IBM PC微机中,有符号数是用( )表示的。
A.原码 B.补码 C.反码 D.BCD码
15.串指令中的目的操作数地址是由( )提供。
A.ss:[bp] B.ds:[si] C.es:[di] D.cs:[ip]
16.将dx的内容除以2,正确的指令是( )。
A.div 2 B.div dx,2 C.sar dx,1 D.shl dx,1
17.把汇编源程序变成代码程序的过程是( )。
A.编译 B.汇编 C.编辑 D.链接
18.psw寄存器中共有( )位条件状态位,有3位控制状态位。
A.3 B.6 C.4 D.8
19.在下列指令的表示中,不正确的是( )。
A.mov al,[di+si] B.jmp short next
C.inc [bx] D.mul al
20.条件转移指令jc的测试条件为( )。
A.zf=0 B.cf=0 C.zf=1 D.cf=1
填空题:
21.ZF标志位是标志结果是否为零的,若结果为零,ZF为( ),当ZF为
1时,SF为( )。
22.标号可以有两种类型属性。它们是( )和( )。
23.宏指令定义必须由伪指令MACRO开始,伪指令( )结束,两者之间的
语句称为( )。
24.调用程序与子程序之间的参数传递方法有四种,即堆栈法约定寄存器法、
( )和( )。
简答题:
25.简述DOS系统功能调用方法,写出在屏幕上显示数字9的指令语句。
26.定义数据段DATA_SEG,数据段中的数据按下列要求依次存储:
(1)第一个字节是整数5。
(2)变量BUF,大小为25个字节,初值为0。
(3)变量ARRAY,类型为字,初值为12H,56H,78H,0AH。
(4)变量MSG存储字符串’yes’。
27.假设DS=2000H,BX=0100H,(20100H)=30H,(20101H)=10H]
问:(1)执行MOV DX,[BX] DX=_____。
执行LEA DX,[BX] DX=_____。
(2)简述两条指令区别。
程序分析题:
28.设寄存器AX,BX,CX中的内容都是1234H,变量value中的内容为0F0FH,
执行下列指令序列:
OR AX,value
AND BX,value
XOR CX,value
则AX=_____,BX=_____,CX=_____。
29. MOV AL,5
ADD AL,AL
MOV BL,AL
ADD AL,AL
ADD AL,BL
上述程序段执行后,AL=_____,BL=_____。
程序段的功能用数学表达式表示_____。
30. NUM DB ?
MOV AH,1
INT 21H
CMP AL,39H
JBE NEXT
SUB AL,7
NEXT: SUB AL,30H
MOV NUM,AL
上述程序段运行后,若输入’F’,则(NUM)=_____(用二进制表示)。
若输入’8’,则(NUM)=_____(用二进制表示)。
该程序段的功能是_____。
31.有下列数据定义
VA DB 0FFH
VB DB 1,2
VC DW 3456H
执行下列指令序列:
MOV AX,WORD PTR VB+1
MOV BL,BYTE PTR VC+1
MOV CL,VB-1
则AX=_____,BL=_____,CL=_____。
程序填空题:
32.下面是一个用地址表法实现多分支的程序段。根据键盘输入0~4的不同值,
实现程序分支。请将程序段填写完整。
BRANCH_TAB DW R0,R1,R2,R3,R4
MOV BX,OFFSET BRANCH_TAB
MOV AH,1
INT 21H
______________
MOV AH,0
ADD AX,AX
ADD BX,AX