2.下面有关“中断”的叙述,______是不正确的。
A. 一旦有中断请求出现,CPU立即停止当前指令的执行,转而去受理中断请求 B. CPU响应中断时暂停运行当前程序,自动转移到中断服务程序 C. 中断方式一般适用于随机出现的服务
D. 为了保证中断服务程序执行完毕以后,能正确返回到被中断的断点继续执行程序,必须进行现场保存操作
3. 采用DMA方式传送数据时,每传送一个数据要占用______的时间。
A. 一个指令周期 B. 一个机器周期 C. 一个时钟周期 D. 一个存储周期 4. 为了便于实现多级中断,保存现场信息最有效的方式是采用______。
A. 通用寄存器 B. 堆栈 C. 存储器 D. 外存 5. 周期挪用方式多用于______方式的输入输出中。
A. DMA B. 中断 C. 程序传送 D. 通道
6. 并行I/O标准接口SCSI中,一个主适配器可以连接______台具有SCSI接口的设备。
A. 6 B. 7 C. 8 D. 10 7. 发生中断请求的条件是______。
A. 一条指令执行结束 B. 一次I/O操作开始 C. 机器内部发生故障 D. 一次DMA操作开始
8. 采用DMA方式传送数据时,每传送一个数据就要用一个______时间。
A. 指令周期 B. 机器周期 C. 存储周期 D. 总线周期
9. 通道对CPU的请求形式是______。
A.自陷 B.中断 C.通道命令 D.跳转指令 10. 中断向量地址是______。
A.子程序入口地址 B.中断服务例行程序入口地址 C.中断服务例行程序入口地址的地址 D.中断返回地址 11. SCSI接口以菊花链形式最多可连接______台设备。
A.7台 B.8台 C.6台 D.10台
12.为了使设备相对独立,磁盘控制器的功能全部转移到设备中,主机与设备间采用______
接口。 A、SCSI B、专用 C、ESDI D、RISC 13.I/O标准接口SCSI中,一块主适配器可以连接______台具有SCSI接口的设备。
A、6
B、7
C、8
D、10
二、填空题
1. 直接内存访问(DMA)方式中,DMA控制器从CPU完全接管对A.______的控制,数据交换不经过CPU,而直接在内存和B.______之间进行。
2. DMA控制器传送采用以下三种方法:A.______、B.______、C.______。
3. 并行I/O接口A.______和串行I/O接口B.______是两个目前最具权威性和发展前景的标
准接口。 4. 通道与CPU分时使用内存,实现了A.______内部数据处理和B.______并行工作。 1. A.总线 B.I/O设备(或输入输出设备) 3. A.SCSI B.IEEE1394
三、简答题
1. 请说明程序查询方式与中断方式各自的特点。
答:程序查询方式,数据在CPU和外围设备之间的传送完全靠计算机程序控制,优点是硬件
结构比较简单,缺点是CPU效率低。中断方式是外围设备用来“主动”通知CPU,准备输入输出的一种方法,它节省了CPU时间,但硬件结构相对复杂一些。 2. 简要描述外设进行DMA操作的过程及DMA方式的主要优点。 答:(1)外设发出DMA请求
(2)CPU响应请求,DMA控制器从CPU接管总线的控制
(3)由DMA控制器执行数据传送操作 (4)向CPU报告DMA操作结束 (5)主要优点是数据传送速度快
3.外围设备的I/O控制方式分哪几类?各具有什么特点? 答:
(1) 程序查询方式:CPU的操作和外围设备的操作能够同步,而且硬件结构比较简单 (2) 程序中断方式:一般适用于随机出现的服务,且一旦提出要求应立即进行,节省了CPU的时间,但硬件结构相对复杂一些。 (3) 直接内存访问(DMA)方式:数据传输速度很高,传输速率仅受内存访问时间的限制。
需更多硬件,适用于内存和高速外设之间大批交换数据的场合。 (4) 通道方式:可以实现对外设的统一管理和外设与内存之间的数据传送,大大提高了
CPU的工作效率。 (5) 外围处理机方式:通道方式的进一步发展,基本上独立于主机工作,结果更接近一
般处理机。
4. 举出三种中断向量产生的方法。
5.一个基本的DMA控制器应包括哪些逻辑构件?
答:应当包括:内存地址计数器、字计数器、数据缓冲寄存器、“DMA请求”标志、“控制/
状态”逻辑、中断机构等逻辑构件。 6.中断处理过程包括哪些操作步骤?
汇编语言
一. 选择题
1.十六进制数88H,可代表不同的意义,请找出错误的表示( )。
A. 无符号十进制数136 C. 压缩型BCD码十进制数88 2.8086的指令指针寄存器是( )。
A. IP B. SP
B. 带符号十进制数-120
D. 8位二进制数-8的补码表示
D. PSW
D. SUB AL, AL D. INC AX
C. BP
3.完成将累加器AL清零,并使进位标志CF清零,下面错误的指令是( )。 A. MOV AL, 00H B. AND AL, 00H 4.下列指令执行后总能使ZF=1的是( )。
C. XOR AL, AL
A. AND AX, AX B. XOR AX, AX C. NOT AX 5.完成同指令XCHG AX,BX相同功能的指令或指令序列是( )。
A. MOV AX,BX C. PUSH AX D. MOV CX,AX
B. MOV BX,AX POP BX MOV AX,BX MOV BX,CX
6.设AL=0B4H,BL=11H,指令“MUL BL”和指令“IMUL BL”分别执行后OF,CF的值为( )。
A. OF=1,CF=0 B. OF=1,CF=1 C. OF=0,CF=0 D. OF=0,CF=1
7.在串操作指令前使用重复前缀指令REPE,终止串的重复操作条件是( )。
A. CX=0且ZF=0 C. CX=0或ZF=0
B. CX=0且ZF=1 D. CX=0或ZF=1
8.下面指令中,合理而有意义的指令是( )。
A. REP LODSB B. REP SCASB
C. REP CMPSB
D. REP MOVSB
9.在汇编语言程序中,对END语句的叙述正确的是( )。
A. END语句是一可执行语句
B. END语句表示程序执行到此结束
C. END语句表示源程序到此结束 D. END语句在汇编后要产生机器码 10.下面的数据传送指令中,错误的操作是( )。
A. MOV SS:[BX+DI],1000H C. MOV WORD PTR[BX],1000H
B. MOV DX,1000H D. MOV DS,2000H
11.下面指令执行后,变量DAB中的内容是( )。
DAW DW 2A05H DAB DB 0FAH
:
MOV AL,BYTE PRT DAW
SUB DAB,AL A. 0DAH B. 0FAH 12.执行下列指令后,正确的结果是( )。
MOV AL,100 MOV BL,-2
A. AL=100H, BL=02H C. AL=64H, BL=82H
B. AL=64H , D. AL=100H,
BL=0FEH BL=0FEH
C. 0F5H D. 0D0H
13.设数据段中已有:DA1 DB 12H,34H
DA2 DW 56H,78H
下面有语法错误的语句是( )。 A. ADR1 DW DA1
B. MOV DA1+1,AX
C. MOV BYTE PTR DA2+1,AL D. MOV WORD PTR DA1+1,AX 14.实现将DX:AX中存放的32位数扩大四倍,正确的程序段是( )。
A. SHL AX,2 ROL DX,2 C. MOV CX,2
B. RCL AX,2 SHL DX,2 D. SHL AX,1 SHL AX,1 RCL DX,1
LOP:SHL AX,1 RCL DX,1
LOOP LOP RCL DX,1
15. 已知:DATA SEGMENT
TA1 DW 0102H,0304H,0506H
TA2 DB 02H,03H,04H DATA ENDS
:
MOV AX,DATA MOV DS,AX
MOV BX,DS:[0006H] AND BX,0FFH
AND BH,[BX]
上述指令序列运行后,BX的内容是( )。
A. 0605H C. 0606H
B. 0402H D. 0204H
16.当一个带符号数大于0FBH时程序转移,需选用的条件转移指令是( )。
A. JLE B. JNL C. JNLE D. JL 17.下面指令序列测试BH中的数是否为奇数,若为奇数则转移至K1处,横线处的指令应为( )。
TEST BH,01H
_________K1 A.JNE C. JS
B. JZ
D. JC
18.测试BL寄存器内容是否与数据4FH相等,若相等则转NEXT处执行,可实现的方法是( )。
A. TEST BL,4FH B. XOR BL,4FH C. AND BL,4FH D. OR BL,4FH JZ NEXT JZ NEXT JZ NEXT JZ NEXT 19. 在汇编语言程序的开发过程中使用宏功能的顺序是(C)。
A. 宏定义,宏调用 B. 宏定义,宏展开
C. 宏定义,宏调用,宏展开 D. 宏定义,宏展开,宏调用 20. 汇编语言源程序中,每个语句由四项组成,如语句要完成一定功能,那么该语句中不可
省略的项是(B)。 A. 名字项 B. 操作项 C. 操作数项 D. 注释项 21. 编写分支程序,在进行条件判断前,可用指令构成条件,其中不能形成条件的指令有(D)。 A. CMP B. SUB C. AND D. MOV 22. 使用DOS功能调用时,子程序的编号应放在寄存器中(A)
A. AH B. AL C. AX D. 任意指定
二、选择填空
1.宏定义开始的伪指令是___D__。
2.DF是程序状态字寄存器的______标志位。
3.对汇编语言源程序进行汇编时,使用的宏汇编程序文件名是___B__。 4.汇编语言程序中各语句的操作项可以是指令、伪指令或____的助记符。 5.CF是程序状态字寄存器中的___C___标志位。 选择项:A. 宏指令
B. MASM
C. 状态
D. MACRO E. 控制
三、现有: (AX)=2000H,(BX)=1200H,(CX)=0001H,(DX)=0000H,(SI)= 0002H, (DI)=0003H,
(DS)=3000H, (SS)=3000H, (SP)=0000H, (BP)=0010H,(31200H)=60H, (31201H)=01H, (31202H)=0F8H, (31203H)=0A0H, (31204H)=0BH
请在括号中写出以下各条指令独立执行完后目的存储单元的地址(或寄存器名)及内容。 (每小题2分, 共20 分)
目的单元地址 目的单元内容 ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( ) ( )
1. SUB AX, 1100H 2. OR AX, AX
3. ADD AX, 1[1200] 4. PUSH WORD PTR [BX] 5. DEC BYTE PTR [1202] 6. NEG WORD PTR 2[BX]
7. SHL BYTE PTR 1200H[DI], CL 8. ROR WORD PTR [BX+SI+1], 1 9. MUL WORD PTR 2[BX] 10.LDS BX, [1200]
四、程序设计题
1. 编写程序段,用DOS的1号功能调用通过键盘输入一字符,并判断输入的字符。如字符是“Y”,则转向YES程序段;如字符是“N”,则转向NO程序段;如是其他字符,则
转向DOS功能调用,重新输入字符。(YES和NO分别是两程序段入口处的标号。)
2. 在BUF1和BUF2两个数据区中,各定义有10个带符号字数据,试编制一完整的源程序,
求它们对应项的绝对值之和,并将和数存入以SUM为首址的数据区中。
DATA SEGMENT
BUF1 DW -56,24,54,-1,89,-8?? BUF2 DW 45,-23,124,345,-265,? SUM DW 10DUP(0) DATA ENDS
3. 编写子程序段完成用单个字符输入的1号功能调用,从键盘输入10个字符,然后用2
号功能调用以相反的顺序显示输出这10个字符。 4. 编写程序段,实现32位有符号数除4(设M字单元中为低16位,M+2字单元中为高16
位)。 5. 编写程序段,把两个非压缩BCD码组合为一个压缩的BCD码,并存入DA3中。 DA1 DB XX;高位非压缩BCD码
DA2 DB XX;低位非压缩BCD码
DA3 DB ?
6. 设数据段中有N个有符号数,依次存放在从DAT开始的字单元中,编写一完整的程序,
找出其中最大的一个,并将其存入MAX字节单元中。 DATA SEGMENT
?
DAT DW XX,XX,XX,? N = ($ - DAT)/2
MAX DW ?
?
DATA ENDS
7. 编写一子程序,将AX中的数,按十进制用DOS的2号功能调用显示出来。
8. 编写一子程序,将从DAT开始依次存放的用ASCII码表示的五位十进制数(低地址存高
位,高地址存低位)转换成二进制数存放在AX中。 DATA SEGMENT
?
DAT DB 31H,32H,33H,34H,35H
?
DATA ENDS
9.编写子程序,将AX、BX、CX中存放的最大数存入字变量A中,AX、BX、CX的值不能变。 10. 编写子程序,将AX中的二进制数转换为十六进制数的ASCII码,存入以BX内容为起始
地址的连续字节单元中(低地址存十六进制数的高位)。