一、 单选(每题1分,共20分)
1. 可以向地址总线发出地址信息的指令是( )。
A.mov ax,1
B.push ax
C.mov ax,bx
D.jmp ax
2. 一个字单元可以存储( )个bit。
A.1
B.8
C.16
D.32
3. 此时ax的值为00C5H,执行完“add al,85H”后,ax中的值是多少?( )
A.0158H
B.014AH
C.0058H
D.004AH
4. 80386CPU的地址总线宽度为32根,80386CPU的寻址能力是( )。
A.64KB
B.1024KB
C.16MB
D.4096MB
5. BIOS存储在下列哪种硬件中?( )
A.RAM
B.ROM
C.CPU
D.CMOS
6. 8086PC机一个段的最大长度为( )。
A.64Byte
B.64Kbit
C.1MB
D.64KB
7. 给定段地址为0002H,仅通过变化偏移地址寻址,8086CPU的寻址范围为( )。
A.20H—2FH
B.20H—30H
C.20H—1001FH
D.20H—10020H
8. 用 [di]、[bp]的方式访问内存时,8086CPU默认的段寄存器依次是( )。
A.ds、es
B.ds、ss
C.ss、ds
D.es、ss
9. debug加载.exe文件后,在对寄存器中的值进行改变之前,cx中的值有什么含义?( )
A.循环次数。
B.所加载的文件的字节数。
C.是系统默认的值,没有实际意义。
D.程序的长度。
10. 80386PC机开机后,CPU所执行的第一条指令的地址是( )。
A.0FFH:00
B.0FF0H:0FFH
C.0FFF0H:0FFH
D.0FFF0H:0F0H
11. 读取,执行哪条指令CPU会修改两次IP?( )
A.push
B.pushf
C.ret
D.mov
12. 在debug中查看内存,显示如下:
073F:0000 CD 20 3E A7 00 EA FD FF-AD DE 4F 03 A3 01 8A 03
073F:0010 A3 01 17 03 A3 01 92 01-01 01 01 00 02 FF FF FF
073FH:0013H处的字型数据是( )。
A.007AH
B.03A3H
C.A303H
D.0317H
13. 下列与外设相关的观点,正确的是( )。
A.外设的输入不可存储在内存中。
B.CPU不可通过写内存,将信息输出到外设。
C.外设有输入时,将输入信息送入相关的接口芯片的端口中,CPU响应相关的中断,再去端口中读取输入信息。
D.外设有输入时,将输入信息送入相关的接口芯片的端口中,再由接口芯片将输入信息送到CPU。
14. 对于8086CPU,正确的指令是( )。
A.mov ax,[bp+dx]
B.mov ax,ds:[bp+bx]
C.mov ax,ss:[si][di]
D.mov ax,cs:6[si]
15. 关于转移指令,错误的说法是( )。
A.进行段内短转移时,jmp指令对应的机器码中没有转移的目的地址。
B.进行段间转移时,jmp指令对应的机器码中有转移的目的地址。
C.进行段内短转移时,IP的修改范围是0~255。
D.loop指令也是转移指令。
16. 以下关于8086CPU的div指令的说法,错误的是( )。
A.被除数可以放在寄存器中,也可以放在内存单元中。
B.若结果的商大于al或ax所能存储的最大值,将引发CPU的一个内部错误:除法溢出。
C.可以重写0号中断处理程序,使得程序可以处理除法溢出的情况。
D.可使用div指令编写一个计算32位被除数/8位除数的子程序。
17. 在debug中,用“d 0:0”查看内存,显示如下:
0000:0000 68 10 A7 00 8B 01 70 00-16 00 98 03 8B 01 70 00
0000:0010 8B 01 70 00 B9 06 0E 02-40 07 0E 02 FF 03 0E 02
0000:0020 46 07 0E 02 0A 04 0E 02-3A 00 98 03 54 00 98 03
0000:0030 6E 00 98 03 88 00 98 03-A2 00 98 03 FF 03 0E 02
0000:0040 A9 08 0E 02 A4 09 0E 02-AA 09 0E 02 5D 04 0E 02
0000:0050 B0 09 0E 02 0D 02 DD 02-C4 09 0E 02 8B 05 0E 02
0000:0060 0E 0C 0E 02 14 0C 0E 02-1F 0C 0E 02 AD 06 0E 02
0000:0070 AD 06 0E 02 A4 F0 00 F0-37 05 0E 02 3A 13 00 C0
13H号中断的中断处理程序的入口地址是( )。
A.006EH:0398H
B.020EH:045DH
C.9803H:8800H
D.0398H:0088H
18. CPU执行完哪条指令后,即使发生中断,也不会响应?( )
A.iret
B.cli
C.mov ss,ax
D.mov sp,16
19. 8086PC机的中断向量表,最多可以存放( )个中断处理程序的入口地址。
A.128
B.256
C.512
D.1024
20. 可以修改CX的指令是( )。
A.jmp B. div C. shl D. jcxz
二、 单选 (每题2分,共40分)
1. 以下关于8086CPU的栈机制的说法,错误的是( )。
A.任意时刻,SS:SP指向栈顶元素。
B.retf指令不会引起栈空间超界。
C.push、pop实质上是一种内存传送指令。
D.8086CPU的栈机制,没有对避免栈空间超界提供支持。
2. 关于汇编语言中“段”的概念,以下说法错误的是( )。
A.用mov、add、sub等指令通过偏移地址访问data段中的数据前,应将data段的段地址放在ds中。
B.一个段,可以既是数据段,又是桟段。
C.一个段,不可以既是代码段,又是数据段。
D.一个段中的内容对CPU来说是指令还是数据,关键在于对相关寄存器的设置。
3. 设置10000H~1FFFFH的内存空间为栈段,初始状态栈是空的,此时,SS、SP的值是( )。
A.SS=1000H SP=FFFEH
B.SS=0H SP=FFFEH
C.SS=1000H SP=0
D.SS=2000H SP=0
4. 关于标号,错误的说法是( )。
A.数据标号表示了内存单元的地址和长度。
B.后边加“:”的地址标号,只能在代码段中使用。
C.应用assume将指令中的数据标号所在的段,与一个段寄存器联系起来,这样,使用数据标号的指令,就可以从段寄存器中得到所用数据标号的段地址。
D.可以将一个标号集合存储在直接定址表中。
5. 关于PSP,错误的说法是( )。
A.这个程序设置(CS)*16+(IP)= PSP所在内存空间的首地址。
assume cs:code
code gment
start:
mov ax,0
mov es,ax
mov word ptr es:[200h],0
mov es:[202h],ds
jmp dword ptr es:[200h]
code ends
end start
B.PSP共有256个字节。
C.DOS通过PSP来与其所加载的程序进行通信。
D.用debug加载一个其功能是设置(ds)=(cs)的程序后,即用a命令写且用T命令运行以下程序段:
mov ax,ds
sub ax,10
mov ds,ax
之后用“dds:0 ff”,可对PSP所在的内存空间进行查看。
6. 以下程序中所有的转移指令的机器码都是两个字节。用一条指令补全程序,使其可以由代码段中的程序段返回。( )
assume cs:code
code gment
mov ax,4c00h
int 21h
start:
nop
nop
push cs
pop ds
mov si,offt o
mov di,offt start
mov ax,ds:[si]
mov ds:[di],ax
mov cx,-2
s:
_____________
jcxz start
o: loop s
code ends
end start
A.add cx,2(机器码:83H C1H 02H)
B.add cx,1(机器码:83H C1H 01H)
C.inc cx(机器码:41H)
D.以上都不对
7. 在debug中,用“d 1000:0”查看内存,显示如下:
1000:0000 69 76 65 20 25 63 20 61-6E 64 20 70 72 65 73 73
1000:0010 20 3C 45 4E 54 45 52 3E-0A 00 6B 00 41 62 6F 75
1000:0020 74 20 74 6F 20 67 65 6E-65 72 61 74 65 20 2E 45
接着,即写且执行以下指令:
mov ax,1000
mov ds,ax
jmp far [2]
之后,cs、ip的值依次是( )。
A.6325、2065
B.6520、2563
C.2065、7669
D.6520、2567
8. 以下指令执行后,ax的值是( )。
mov ax,6776h
add al,90h
add ah,90h
A.6806H
B.F806H
C.F706H
D.6706H
9. 可以读取CMOS RAM的2号单元中的数据的程序段是 ( )。
A.mov al,2
out 71h,2
in al,70h
B.mov al,2
out 70h,al
in al,71h
C.mov al,2
in 70h,al
out al,71h
D.前三个选项都不对。
10. 以下指令执行后,al的值是多少?( )
mov al,01100011b
and al,00111011b
or al,00111011b
A.00100011B
B.00111011B
C.01111011B
D.前三个选项都不对。
11. 以下哪个选项中的指令执行后,zf=1,pf=1?( )
A.mov ax,1
add ax,2
B.mov ax,1
and ax,0
C.mov ax,1
sub ax,2
D.mov ax,1
or ax,0
12. 以下哪个选项中的指令执行后,cf=1,of=1?( )
A.mov al,98
add al,99
B.mov al,0f0H
add al,88H
C.mov al,0f0H
add al,78H
D.mov al,68H
add al,1
13. 以下程序运行时,源程序的指令中,CPU执行的第一条指令是?( )