2012-2013学年 第1学期
2010级《微型计算机原理与接口技术》试题A卷-答案
班级 学号 姓名 ? 请将答案写在答题纸上,写明题号,不必抄题,字迹工整、清晰;
? 请在答题纸和试题纸上都写上你的班级,学号和姓名,交卷时将试题纸、答题纸和草纸都交上来。
MOV AX,[BP][SI]的源操作数的物理地址是 16d×(SS)+(BP)+(SI)
MOV AX,ES:[SI+5〕
把内存中段基址为ES,偏移量为SI+5和SI+6中的内容传给寄存器AX。 因为内存是8位的,而寄存器AX是16位的,所以需要两个8位凑足16位。
传送类指令,寄存器间接寻址方式(变址寻址),SI,DI称为目的寄存器,默认段寄存器为DS(数据段),允许段超越为附加段(ES)地址即为ES+SI+5内存单元地址,[]为取内容操作,即取该内存单元内容,到AX寄存器,但因AX为16位,自动匹配取16位(一个字)的内容即SI+5,SI+6两个内存单元的内容到AX通用寄存器
一.选择题(共15分,每题1分)
1. 在8086/8088CPU中,逻辑地址为2000H:0100H,其对应的物理地址为( A )。
A. 20100H B. 03000H C.02100H D. 12000H 偏移地址将2000左移
2. 下列指令中,有语法错误的指令是( b)。
A. MOV AX, [2000H] B. LEA AL, [2000H] C. MOV [2000H], AL D. ADD AX, 2000H
3. ADD AX,[BX]的源操作数和目的操作数的寻址方式分别是( c )。
A.寄存器寻址和寄存器相对寻址 B.寄存器寻址和寄存器间接寻址 C.寄存器间接寻址和寄存器寻址 C.直接寻址和寄存器寻址 Ax是寄存器寻址[]是寄存器间接寻址 4. 定义数据Table DB ‘1234’,执行指令MOV AX,WORD PTR Table后,AX中的内容是( )。
A. 1234H B.3412H C.3231H D.3433H 5. MOV AX,[BP]的源操作数物理地址为( )。
A. 16 × (DS) + (BP) B. (DS) + (BP)
C. 16 × (SS) + (BP) D. 16 × (CS) + (BP) 6. ( )总线称为通用串行总线。
A. STD B.ISA C. USB D. IDE 7. 8086/8088CPU中标志寄存器中CF位的主要的作用是( )。
A.检查当前指令的错误 B. 纠正当前指令执行的结果与错误 C. 决定是否停机 D. 是否有进位或借位
8. 8086/8088CPU中断类型码为0AH, 则其相应的中断服务程序入口地址保存在( )开始的地
第 1 页 共 9 页
址中。
A. 0000H:000AH B. 0000H:0028H C. 0000H:004AH D. 0000H:0027H
9. 若用4片8259A级联进行中断管理,则最多可管理( B )个可屏蔽中断源。
A.32 B.29 C. 27 D. 30 10. 8086/8088CPU响应可屏蔽中断的条件是( D )。
A.TF=0 B. TF=1 C. IF=0 D. IF=1 11. 在DMA工作时,CPU与总线的关系是( C )。
A.只能控制数据总线 B. 只能控制地址总线 C.成隔离状态 D. 成短接状态 12. 下列几种芯片中能接管总线且控制数据传送的是( )。
A. 8259 B. 8237 C. 8255 D. 8253
13. 接口在查询方式工作时,接口状态信息是通过( )总线传送给CPU的。
A. 数据 B. 控制 C. 地址 D. 任意一种 14. 一般GDT和LDT的个数是( )。
A. 与任务数相同的GDT,与任务数相同的LDT B. 任务数相同的GDT,1个LDT C. 1个GDT,与任务数相同的LDT D. 无限制,无限制
15. 8086/8088CPU在响应可屏蔽中断时,在第二个中断响应总线周期的T3下降沿读取数据总线
的内容当做( )。
A. 中断类型码 B.中断服务程序入口地址 C. 状态数据 D. 控制数据 二.简答题(共20分,每题4分) 1. 高速缓冲存储器的作用是什么?(4)
答案:Cache是解决存储器价格与速度问题的折衷产物。Cache是一种存储空间比主存储器小而存取速度却比主存储器快得多的一种存储器,它位于CPU和主存储器之间,使系统能接近DRAM的价格,提供接近大量SRAM的性能。 2.任务状态段TSS的主要作用是什么?(4分)
答案:在多任务系统中,多个任务可以并发执行,为了实现多个任务可以并发工作,要求 每个任务都有自己的虚拟存储空间,都有自己的LDT,存放该任务的私有描述符。
任务间的切换时,要保存当前任务的机器状态,装入新任务的机器状态。在操作系统中机器状态保存在任务控制块中,对Pentium来说,称为任务状态段TSS。
每个任务都有一个自己的TSS,用于保存任务切换时的机器状态。 3.画图说明,在Pentium微处理器只有分段存储器管理时,虚拟地址转换为物理地址的过程。(4分)
答案:
第 2 页 共 9 页
逻辑地址:段选择符(16位)偏移量(32位)⊕基址(32位)基址(32位)基址(32位)基址(32位)界限(20位)界限(20位)界限(20位)界限(20位)属性(12位)属性(12位)属性(12位)属性(12位)物理地址:线性地址(32位)段描述符表GDT/LDT:
Pentium微处理器的分段存储管理机制允许将46位虚拟地址映射到硬件所需的32位物理地址。如图,首先由虚拟地址(逻辑地址)段选择符部分的13位索引字段确定段描述符在段描述符表中的位置,然后取出段描述符中的32位基地址并与逻辑地址中的32位偏移量相加,得到32位的线性地址。若无分页功能,则线性地址就直接是物理地址。 4.CPU与外设之间的数据传送有哪几种控制方式? 并分别做简要说明。(4分)
答案:(1)程序查询方式---CPU与I/O设备的控制由程序来实现,程序通过主动查询I/O设备的状态标志来进行与I/O设备的数据传送。 I/O设备完全处于被动地垃。
(2)程序中断方式---在I/O设备准备好时,主动向CPU申请中断,这时CPU才为I/O设备传送数据服务,其它时间CPU可以执行主程序。
(3)DMA方式---当有DMA请求时,CPU与总线隔离,由DMA控制总线进行I/O设备与存储器的直接数据传送。
(4)I/O处理机方式----I/O处理机有自己的专用的微处理器,能执行指令,能承担原来由CPU处理的全部输入/输出操作。
5. 说明Pentium保护虚拟地址模式特点。为什么引入保护机制?有几个特权级?(4)
答案:Pentium工作在保护虚拟地址模式,充分发挥了Pentium所具有的存储管理功能以及硬件支撑的保护机制,为多用户操作系统提供了有力支持。同时,在保护模式下,Pentium可以运行8086,80286,80386的软件。
在程序运行时,为防止应用程序破坏系统程序,或某应用程序破坏其它应用程序,或错误地把数据当做程序运行等情况的出现,所以在Pentium中引入了保护机制。
Pentim保护模式下有四种特权级。 三.计算题(共20分,每题4分)
1. X变量定义如下,执行完MOV AX, X+4指令后,AX中的值是多少?(4分)
第 3 页 共 9 页
ORG 200H X DW 5,12H,$ + 2
答案:0206H 2. 若ADC0809采用双极输入,输入电压范围为-5V~+5V。计算其最小可以分辨的电压是多少毫伏?(4分) 答案:10V/256 ≈39mV(有过程2分,结果正确2分)
3. 若ADC0809上的参考基准电压为5V,采用单极输入,输入范围为0~+5V,当得到的AD值为64H时,问ADC0809输入的电压大约为多少毫伏?(4分)
答案:Vx = 5伏* 64h/256 = 5伏* 100/256 ≈ 1953毫伏(有过程2分,结果正确2分)
4. 若8251异步通信传送速率为9600位/秒,其格式为,有一个起始位,8个数据位,无奇偶位、一个停止位。计算每秒钟最多能传送多少个字节?传送一个字节最少大约需要多少毫秒?(4分)
答案:9600/(1+8+1) =960字节 (2分) 1000/960 =1毫秒(2分)
5. 若8253的时钟CLK频率为2MHz,若计数器0要产生周期为5ms的方波,问8253计数器0的工作方式是什么?并计算出8253的计数初值是多少?(4分)
答案:方式3(2分), 计数值为5000us/ (1/2MHz) =10000 (2分)
四.分析题 (共20分)
1. 分析下边的程序,回答下列问题。
(1). 运行程序后,AL内容是什么? (2分) (2). 运行程序后,ZF标志是什么? (3分) (3). 运行程序后,CF标志是什么? (3分)
ORG 100hMOV AL, BLNOT ALADD AL, BLINC ALRET
答案:AL = 00H, ZF = 1, CF= 0
2. 分析下边的程序。回答下列问题 (1). 执行后DX中的值是多少?(3分) (2). DX的值的意义是什么?(3分) (3). 执行后X变量值是多少?(3分) (4). 程序的功能是什么?(3分)
第 4 页 共 9 页
ORG 100HMOV AX, 1234H ;3个字节的指令PUSH AX ;1个字节的指令MOV AX, 5678H ;3个字节的指令PUSH AX ;1个字节的指令 CALL s ;3个字节的指令MOV X, AX ;3个字节的指令RET ;1个字节的指令 s PROC NEARPOP DX ;1个字节的指令POP AX ;1个字节的指令POP BX ;1个字节的指令PUSH DX ;1个字节的指令ADD AX, BX ;2个字节的指令RET ;1个字节的指令 s ENDP X DW 0
答案:
(1)DX = 100H + 3 + 1 + 3 + 1 + 3 = 010BH (2)DX中的值是CALL s下条指令(MOV X,AX)的偏移地址(断点地址,返回地址)。 (3)X = 1234H +5678H = 68ACH (4)程序的功能是把两个数1234H加上5678H,结果保存到X变量中。
五.设计题(共25分)
1.编写统计变量InData(字类型)中0、1个数的源程序(.EXE程序结构,使用MASM编译器),要求0的个数保存到变量Num0(字节类型)中,1的个数保存到变量Num1(字节类型)中。(10分) 答案:(.EXE程序结构正确5分,程序功能正确5分) data segment
InData DW 0F0H Var0 DB ? Var1 DB ? data ends stack segment
dw 128 dup(0) stack ends
code segment
ASSUME CS:code,DS:data,SS:stack start: MOV ax, data MOV ds, ax MOV AX, [InData] MOV DL, 16 ; 计数个数 MOV CH, 0; 存1的个数 MOV CL, 0; 存0的个数 lp: SHL AX, 1 JNC add_0_num INC CH JMP next add_0_num: INC CL next: DEC DL JNZ lp
第 5 页 共 9 页