微机原理及接口技术
第一部分 客观题
一、单项选择题(每小题2分,共10分)
1. 寄存器ECX的低16位部分可以用_____________表达。 A EX B CX C CH D CL
2. 8086处理器执行“OUT DX,AL”指令时,AL的数据出现在__________上输出给外设。
A 控制总线 B 地址总线 C 电源和地线 D 数据总线 3. 与DRAM相比,SRAM的特点是_____________。 A 集成度高、存取周期长 B 集成度低、存取周期长 C 集成度高、存取周期短 D 集成度低、存取周期短
4. 使用语句“var dword 3721”定义的变量var在主存占用_________个字节存储空间。
A 1 B 2 C 4 D 8
5. 用8K×8结构SRAM芯片构成64000H~6FFFFH地址范围的存储器,需要使用__________片。
A 4 B 6 C 8 D 10
二、对错判断题(每小题2分,共10分)(说明:正确的选“A”,错误选“B”) 6. IA-32处理器设置的中断标志IF=0是关中断,表示禁止内部中断和外部中断的所有中断请求。X
7. 已知var是一个变量,语句“add esi,byte ptr var”没有语法错误。X 8. DMA传输由DMA控制器控制,无需处理器执行I/O指令。V
9. 高性能计算机中常使用Cache(高速缓冲存储器)提高主存性能。V
10. 向某个I/O端口写入一个数据,一定可以从该I/O端口读回这个数据。V
第二部分 主观题
一、填空题(每空2分,共10分)
1. 8086处理器引脚有3个最基本的读写控制信号,它们是M/IO* ,_RD* ________和_____W/R* _____。
2. 逻辑地址由___段基地址_______和偏移地址两部分组成。代码段中下一条要执行的指令由CS和_____指针IP_____寄存器指示,后者在实地址模型中起作用的仅有_____指针_____寄存器部分。 二、问答题(每小题6分,共30分)
1. 什么是JMP指令的近(near)转移和远(far)转移?
jmp指令的近转移是指在同一个段里面的转移,也叫做段内近转移,用汇编编码就是这样的jmp near ptr 标号
jmp指令的远转移是指段与段之间的转移,就是说不在同一个段的转移,用汇编编码就是这样的jmp far ptr 标号
2. 什么是存储访问的局部性原理,它分成哪两个方面的局部性?
程序局部性原理:虚拟存储管理的效率与程序局部性程序有很大关系。根据统计,进程运行时,在一段时间内,其程序的执行往往呈现出高度的局限性,包括时间局部性和空间局部性。 1、时间局部性:是指若一条指令被执行,则在不久的将来,它可能再被执行。 2、空间局部性:是指一旦一个存储单元被访问,那它附近的单元也将很快被访问。
3. 举例说明什么是Intel 80x86处理器数据存储的小端方式(Little Endian)?
小端模式,是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低。
0000430: e684 6c4e 0100 1800 53ef 0100 0100 0000 0000440: b484 6c4e 004e ed00 0000 0000 0100 0000
在小端模式下,前32位应该这样读: 4e 6c 84 e6( 假设int占4个字节) 记忆方法: 地址的增长顺序与值的增长顺序相同
4. 使用MASM汇编程序,在数据段有一个语句“db 37h,21,’no’”,它将使处理器为其分配多少个字节的主存空间?从低地址开始每个地址单元的内容依次是什么?
37h分配一个字节 21分配一个字节 no分配2个字节
所以共需分配4个字节,即2个字
5. ISA总线的时钟频率是8MHz,每2个时钟可以传送一个16位数据,计算其总线带宽。
由于:f=8MHz,T=1/f=1/8M秒,一个总线周期等于一个时钟周期 所以:总线带宽=16/(1/8M) = 128Mbps
所以:总线带宽=16/(1/8M*2) = 64Mbps
三、程序阅读题(每小题10分,共20分)
1. 下段程序执行后,ESI=33BBh (1) ,EDI= (2) ,CF= 0 (3) mov esi,3388h add esi,22h xor edi,edi
2. 如下程序片段统计以0结尾的字符串中字符个数,请补充完整。 ; 数据段
string byte 'Do what you can do.',0 ; 代码段
xor ebx,ebx
again: cmp string[ebx],0 jz (1)_done_______ inc (2)____ebx____ jmp (3)___again_____ done: ...
四、程序设计题(每小题10分,共20分)
1. 编制一个程序片断,把保存在变量dataA和dataB中较大的数据取出后存入maxC。假设变量存放的是32位有符号数。
MOV AX, DATA ; 段初始化 MOV DS, AX MOV AX, STACK MOV SS, AX
MOV DX, WORD PTR BUFA+2 ; 按题意,将数送入DX,AX, BX, CX MOV AX, WORD PTR BUFA MOV BX, WORD PTR BUFB+2 MOV CX, WORD PTR BUFB CMP DX, BX ; 先比高位字 JG MOVE_A ; A大 JL MOVE_B ; B大
CMP AX, CX ; 高位字相等就再比低位字 JAE MOVE_A ; A大 JMP MOVE_B ; B大 MOVE_A:
MOV WORD PTR BUFC+2, DX ; A大 MOV WORD PTR BUFC, AX JMP EXIT
MOVE_B:
MOV WORD PTR BUFC+2, BX ; B大 MOV WORD PTR BUFC, CX EXIT:
如果题目是bufa>bufb,则把1送入dx,bufa=bufb,则把0送入dx,bufa MOV AX, DATA ; 段初始化 MOV DS, AX MOV AX, STACK MOV SS, AX MOV DX, WORD PTR BUFA+2 ; 按题意,将数送入DX,AX, BX, CX MOV AX, WORD PTR BUFA MOV BX, WORD PTR BUFB+2 MOV CX, WORD PTR BUFB CMP DX, BX ; 先比高位字 JG MOVE_A ; A大 JL MOVE_B ; B大 CMP AX, CX ; 高位字相等就再比低位字 JA MOVE_A ; A大 JZ MOVE_0 ; 相等 JMP MOVE_B ; B大 MOVE_A:
相关推荐: