一、选择题:(每题1分,共20分)
1.已知某操作数的物理地址是2117AH,则它的段地址和偏移地址可能是( )。
A.2025∶0F2A B.2108∶00EA
C.2000∶017A D.2100∶117A
2.能够将’以寄存器DI间接寻址的存储器字节单元’内容加1的指令是( )。
A.INC [DI] B.INC DI
C.INC BYTE PTR[DI] D.ADD [DI],1
3.有语句:COUNT EQU 256,下列四种叙述中,正确的是( )。
A.COUNT是变量 B.COUNT占用一个字节存储单元
C.COUNT是符号常数 D.COUNT占用二个字节存储单元
4.下面指令中,源操作数的寻址方式为立即寻址的是( )。
A.MOV AX,OFFSET A B.MOV AX,A
C.MOV AX,A+1 D.MOV AX,A[BX]
5.已知SP=2110H,执行POP AX后,SP寄存器的值是( )。
A.2111H B.2112H
C.210FH D.210EH
6.将AX中有符号数除以2的正确指令是( )。
A.SHR AX,1 B.SAR AX,1
C.ROR AX,1 D.RCR AX,1
7.比较BX和SI中的两个存储器地址,若BX≥SI转向HIGH的正确指令是( )。
A.JAE HIGH B.JBE HIGH
C.JEG HIGH D.JLE HIGH
8.
9.有数据定义语句BUF DW 0ABH,1,10 DUP(3 DUP(1,0),2)汇编后,为变量BUF分配的存储单元字节数是( )。
A.48H B.90H
C.120 D.60
10.下列指令执行后,不改变AL寄存器内容的指令是( )。
A.AND AL,1 B.CMP AL,DL
C.XOR AL,AL D.SUB AL,DL
11.执行01H号DOS系统功能调用,从键盘输入的字符值存放在( )寄存器中。
A.AL B.BL
C.CL D.DL
12.执行下面指令语句,则AX=( )。
MOV AL,95H
CBW
A.0095H B.0F95H
C.0FF95H D.9095H
13.将DX,AX中32位数左移一位的指令序列是( )。
A.SHL AX,1 B.RCL AX,1
RCL DX,1 SHL DX,1
C.SHL AX,1 D.RCL AX,1
SHL DX,1 RCL DX,1
14.将CX寄存器低4位清零,其余位保持不变的正确指令是( )。
A.AND CX,0F0H B.AND CX,0FFF0H
C.AND CX,1110H D.MOV CX,0
15、下面四条指令中,源操作数不采用立即寻址的是( )。
A、M、MOV AX, 1234H
C、MOV EAX, [EBX] D、MOV AX, OFFSET ARY
16、在数据段有如下定义: A_BUF DB ‘1234567’,则A-BUF字节单元的内容是( )。
A、31、0、1、12
17、已知(DS)=2000H,(ES)=3000H,(CS)=4000H,(SS)=5000H,(BP)=2080H,COUNT=80H 则指令MOV AX, COUNT[BP]中,源操作数的物理地址为( )。
A、2、5、5、22000H
得分 | |
阅卷人 |
19、如果当前AL寄存器的内容为-1,则以下指令中,不能转向符号地址NEXT处执行的是( )
A 、 AND AL, 0FFH B 、 CMP AL, 7FH
JZ NEXT JA NEXT
C 、 CMP AL, 0FFH D 、 TEST AL, 0FFH
JE NEXT JNZ NEXT
20、Intel 8086 CPU 读取代码段中的指令,使用的一对寄存器是( )
A 、 CS:IP B 、 DS:BX C 、 SS:SP D 、 ES:SI
二、填空题:(每空1分,共20分)
1.在8086/8088系统中,存储器物理地址是分段组织的。堆栈段的段地址存放在____寄存器中,栈顶数据的偏移地址放在_____寄存器中。代码段的段地址存放在_____寄存器中,偏移地址在____寄存器中。
2.已知DS=29A0H,某数据的物理地址是2A400H,则当DS=6700H时,该数据的物理地址是_____。
3.已知DS=4000H,BX=0100H,SI=0004,(40100H)=28H,(40101H)=69H,(40104H)=10H,
(40105H)=9AH,先执行MOV AX,[0100H],(AX)=____再执行ADD AX,[BX+SI],(AX)=____,CF=____。
4.有下列数据定义:
AA DW 1,2,3,4,5,6,7
COUNT EQU ($-AA)/2
则COUNT=__ ___。
5.用于控制字符操作地址增量方向的状态标志位是______,表示加法结果溢出的状态标志位是________,允许产生中断时,IF=________。
6.在移位指令中,用于指定移位位数的操作数只能是______及_____。
7.用于表示无符号数大于或等于的条件转移指令是___________;用于表示带符号数大于或等于的条件转移指令是___________。
8.子程序传送参数的方法通常有_______、_______和堆栈三种方法。
9. 乘法指令MUL的指令格式只有一个源操作数,若源操作数的类型属性为字节,则目的操作数在_______中,若源操作数的类型属性为字,则目的操作数在_______中。
三 解答题(30分)
1 .假定初始情况(DX)=0B9H,(CL)=3,(CF)=1,下列各条指令单独执行以后,DX的值分别是多少?(6分)
SHR DX,1
SAR DX,CL
SHL DX,CL
SHL DX,1
ROR DX,CL
ROL DX,CL
2. 设DS=1000H,BX=200H,SI=2H,(10200H)~(10205H)的内容为10H、2AH、3CH、46H、59H、6BH。试问,下列每条指令单独执行完成后,AX寄存器的内容是什么?(6分)
MOV AX,0200H
MOV AX,[200H]
MOV AX,BX
MOV AX,3[BX]
MOV AX,[BX+SI]
MOV AX,2[BX+SI]
3 读下列程序段,对程序加以注释,并说出程序的功能;当(AL)=5BH,写出执行程序后AL的值。(6分)
MOV BL,AL
MOV CX,8
AGAIN:ROL BL,1
RCR AL,1
LOOP AGAIN
4. 读下列程序段,并回答执行下面的代码后,AL与BL的内容是什么?并说明该程序段的功能。(6分)
MOV AL, 12H
AND AL, 0FH
5 设寄存器AX,BX,CX中的内容都是1234H,字类型变量value中的内容为0F0FH,执行下列指令序列:
OR AX,value
AND BX,value
XOR CX,value
则(AX)=____,(BX)=_____,(CX)=_____ (3分)
6.MOV AL,5
ADD AL,AL
MOV BL,AL
ADD AL,AL
ADD AL,BL
上述程序段执行后,(AL)=____,(BL)=_____
程序段的功能用数学表达式表示__ ___ (3分)
四. 编写完整的程序:从键盘上输入两个’0’到’9’之间的字符,把它们转化为数字,然后把一个数字放在字节类型内存变量m1中, 把另一个数字放在字节类型内存变量m2中,然后把m1的内容和m1的内容相加,把它们的和放到BL中.把m1的内容和m2的内容作为无符号书相乘,把乘积放到AX中.(10分)
五.编写完整的程序实现如下分段函数: (10分)
六. 已知在附加段ES中定义了一个字符串string2 , 它含有9个字符,查找在字符串中是否含有字母’o’,若找到,输出提示信息“FOUND”,记录字母的偏移地址,放到数据段中定义的内存变量pointer中,计算它和string2的位移量,放到数据段中定义的内存变量m2中, 若找不到,输出提示信息“NOT FOUND”.部分程序如下:请在中间添加程序 (10分)
ESEG SEGMENT
ESEG ENDS
DATA SEGMENT
M2 DW ?
DATA ENDS
CODE SEGMENT
CLD
9
MOV AL,'o'
CODE ENDS