9、每段的起始和结束地址为:
(1)10000H-1FFFFH
(2)12340H-2233FH
(3)23000H-32FFFH
(4)E0000H-EFFFFH
(5)AB000H-BAFFFH
12、若当前SS=3500H,SP=0800H,堆栈段在存储器中的物理地址为35800H,若此时入栈10个字节,SP内容是07F6H,若再出栈6个字节,SP为07FCH
3、
(1)MOV
AX,[100H]源 *** 作数字段的寻址方式是直接寻址,物理地址值是
10100H
(2)MOV
AX,VAL源 *** 作数字段的寻址方式是直接寻址,物理地址值是
10030H
(3)MOV
AX,[BX]源 *** 作数字段的寻址方式是寄存器间接寻址,物理地址值是
10100H
(4)MOV
AX,ES:[BX]源 *** 作数字段的寻址方式是寄存器间接寻址,物理地址值是
20100H
(5)MOV
AX,[SI]源 *** 作数字段的寻址方式是寄存间接寻址,物理地址值是
100A0H
(6)MOV
AX,[BX+10H]源 *** 作数字段的寻址方式是寄存器相对寻址,物理地址值是
10110H
(7)MOV
AX,[BP]源 *** 作数字段的寻址方式是寄存器间接寻址,物理地址值是
35200H
(8)MOV
AX,VAL[BP][SI]源 *** 作数字段的寻址方式是基址变址寻址,物理地址值是
10100H
(9)MOV
AX,VAL[BX][DI]源 *** 作数字段的寻址方式是基址变址寻址,物理地址值是
10124H
(10)MOV
AX,[BP][DI]源 *** 作数字段的寻址方式是基址变址寻址,物理地址值是
35224H
6、
(1)MOV
DL,AX类型不匹配,字节与字不能传送
(2)MOV
8650H,AX
目的 *** 作数不能为立即数
(3)MOV
DS,0200H
立即数不能送段寄存器
(4)MOV
[BX],[1200H]
两内存单元不能直接 *** 作
(5)MOV
IP,0FFH *** 作数不能为IP
(6)MOV
[BX+SI+3],IP
*** 作数不能为IP
(7)MOV
AX,[BX][BP]两个基寄存器不能同时作为地址
(8)MOV
AL,ES:[BP]
可以是正确的
(9)MOV
DL,[SI][DI]两变址寄存器不能同时作为地址
(10)MOV
AX,OFFSET
0A20H错误在OFFSET不用作为数值地址 *** 作符
(11)MOV
AL,OFFSET
TABLE类型不匹配,地址为字,不能传送给字节
(12)XCHA
AL,50H
立即数不用作为XCHG指令的 *** 作数
(13)IN
BL,05H
输入指令为累加器专用指令,不用BL,只能用AL
(14)OUT
AL,0FFEH
端口地址超过8位应该用DX间接寻址
7、
LEA
BX,TABLE
MOV
AL,5
XLAT
MOV
DH,AL
MOV
AL,7
XLAT
MOV
DL,AL
MOV
BX,DX
8、
PUSH
AX
SP=00FEH
PUSH
BX
SP=00FCH
POP
BX
SP=00FEH
POP
AX
SP=0100H
1、
A1
DW
23H,
5876H
变量占4个字节
A2
DB
3
DUP(),
0AH,
0DH,
‘$’变量占6个字节
A3
DD
5
DUP(1234H,
567890H)
变量占40个字节
A4
DB
4
DUP(3
DUP(1,
2,
‘ABC’))
变量占60个字节
2、
MOV
AX,0066H
MOV
AL,0FFH
MOV
AX,0FFH
AND
AL,2
OR
AX,02FFH
4、
PLENTH的值为22,表示PLENTH与PAR之间的字节数
7、用1024×1位的RAM芯片组成16K×8位的存储器,需要128个芯片,在地址线中有10位参与片内寻址,6位组合成片选择信号(设地址总线为16位)
8、现有一存储体芯片容量为512×4位,若要用它组成4KB的存储器,需要16个这样的芯片,每块芯片需要9条寻址线,整个存储系统最少需要12条寻址线。
一、单项选择题:
1 Intel 8086/8088CPU的字长是:(B)
(A) 8位 (B) 16位 (C) 32位 (D) 64位
2.定点8位字长,采用2的补码形式时,一个字所能表示的整数范围是:(A)
(A)-128~127 (B) -127~127 (C) -127~128 (D) -128~128
3.某微机系统具有16M字节的寻址空间,则其CPU的地址总线应有几条: (B)
(A) 26 (B) 24 (C) 22 (D) 20
4.在CPU中,指令指针寄存器IP的作用是:(D)
(A) 保存正在被执行的指令。
(B) 保存正在被执行的指令的 *** 作数。
(C) 保存正在被执行的指令的存储偏移地址。
(D) 保存下一条将要执行指令的存储偏移地址。
5.指令STD将下列哪个标志位置1: (A)
(A) IF (B) CF (C) DF (D) OF
6.下列指令中的 *** 作数不能采用立即数寻址方式的是:(A)
(A) PUSH (B) MOV (C) CMP (D) AND
7.在带符号的机器数表示中,零的表示形式惟一的编码方式是:(B)
(A) 补码 (B) 原码 (C) 反码 (D) 补码和反码
8.汇编源程序经过编译后得到的目标程序扩展名是:(B)
(A) ASM (B) OBJ (C) EXE (D) LST
9.下列对计算机系统中数据的表示普遍采用二进制的原因解释正确的是:(D)
(A) 二进制表示简单 (B) 二进制容易理解
(C) 二进制符合人们的习惯 (D) 二进制容易实现
10.用MOV指令将十进制数25以非压缩BCD码形式存放在BX寄存器中的正确格式是: (D)
(A) MOV BX,25 (B) MOV BX,0205 (C) MOV BX,25H (D) MOV BX,0205H
11.子程序被调用时,其返回地址保存在程序中的:(D)
(A) 代码段 (B) 数据段 (C) 附加数据段 (D) 堆栈段
12.下列哪个标志位是用于控制作用的控制标志位: (D)
(A) AF (B) OF (C) CF (D) DF
13.下列对8086/8088CPU的特点叙述错误的是: (B)
(A) 两者都是16位机型。
(B) 两者外部都有20根地址线,因此寻址能力可达1M字节。
(C) 两者外部都有16根数据线,能以双字节为单位进行数据传输。
(D) 两者的内部寄存器均相同。
14.下列哪个逻辑地址是表示物理地址“3CEA0”的:(B)
(A) 3CEA:0000 (B) 3CE0:000A (C) 3C00:00EA (D) 3000:0CEA
15.若CS段寄存器的值为A000H,则现行代码段可寻址的存储空间范围是:(C)
(A) 00000H-0A000H (B) 00000H-A0000H (C) A0000H-AFFFFH (D) A0000H-FFFFFH
16.在程序中定义的堆栈段,最大不能超过:(C)
(A) 1K字节 (B) 32K字节 (C) 64K字节 (D) 128K字节
17.当用BP寄存器作间接寻址时,其默认的段寄存器是:(A)
(A) SS (B) ES (C) DS (D) CS
18.下列对计算机中常用带符号数的编码方式叙述正确的是: (C)
(A) 原码表示无重码 (B) 反码表示无重码 (C) 补码表示无重码 (D) 以上都不对
19.若现行数据段位于存储器的B0000H-BFFFFH,则DS段寄存器的值是:(B)
(A) 0B00H (B) B000H (C) 0BFFH (D) BFFFH
20.若CS寄存器的值是5A00H,物理转移地址是5B230H,则当CS寄存器的值被改为7800H时,物理转移地址是:(B)
(A) 5B230H (B) 79230H (C) 81230H (D) 5A230H
21.下列指令源 *** 作数的寻址方式中,是寄存器相对寻址的是: (D)
(A) MOV AX,BX (B) MOV AX,[BX] (C) MOV AX,NUM (D) MOV AX,NUM[BX]
统计负数的个数
设数据段有如下有符号数定义
NUM DB -19, 28, 37, -46, 55, 61, -74, 255
设计一个程序,完成两项要求:
⑴ 统计并且显示负数的个数;
⑵ 求最大值和最小值并在屏幕上显示。
显示格式由自己决定。
MODEL SMALL
STACK 100
DATA
NUM DB -19, 28, 37, -46, 55, 61, -74, 255
COUNT EQU $-OFFSET NUM
DATA DB 3 DUP(0)
MESS1 DB " MAX:$"
MESS2 DB " MIN:$"
MESS3 DB " NUMBER OF NEGETIVE:$"
CODE
STARTUP
MOV SI,OFFSET NUM
MOV DI,OFFSET DATA
MOV AL,[SI]
MOV [DI],AL
MOV [DI+1],AL
MOV CX,COUNT;内存中数据的个数
XOR BX,BX;储存个数,最后存在[DI+2]
COMP: MOV AL,[SI];循环比较以及更新数值
INC SI
CMP AL,[DI]
JL L1
MOV [DI],AL
L1: CMP AL,[DI+1]
JG L2
MOV [DI+1],AL
L2: CMP AL,0
JGE L3
INC BX
L3: LOOP COMP
MOV [DI+2],BX
MOV DX,OFFSET MESS1;-----输出最大值
MOV AH,9
INT 21H
MOV AL,[DI]
CALL OUTPUT
MOV DX,OFFSET MESS2;-----输出最小值
MOV AH,9
INT 21H
MOV AL,[DI+1]
CALL OUTPUT
MOV DX,OFFSET MESS3;-----输出负数个数
MOV AH,9
INT 21H
MOV AL,[DI+2]
CALL OUTPUT
MOV AH,4CH
INT 21H
;------子过程输出十六进制整数
OUTPUT PROC
MOV BL,AL
MOV CL,4
SHR AL,CL
CALL PRINT ;输出高位
MOV AL,BL
AND AL,0FH
CALL PRINT ;输出低位
MOV AH,2
MOV DL,'H'
INT 21H ;输出H符号
RET
OUTPUT ENDP
PRINT PROC ;子程序,输出16进制数
MOV AH,02H
MOV DL,AL
CMP DL,09H
JB L4
ADD DL,7
L4: ADD DL,30H
INT 21H
RET
PRINT ENDP
EXIT
END
汇编语言中,JMP是无条件转移指令,CALL是子程序调用指令。
指令JMP、CALL的区别在于,JMP指令控制程序直接跳转到目标地址执行程序,程序总是顺序执行,指令本身无堆栈 *** 作过程。CALL指令跳转到指定目标地址执行子程序,执行完子程序后,会返回CALL指令的下一条指令处执行程序,执行CALL指令有堆栈 *** 作过程。
举例如下:
JMP
NEAR
NEXT;跳转到NEXT执行程序
NEXT:
;目标地址,程序将从这里向下执行
CALL
NEXT;调用从地址NEXT开始的子程序
NOP
;子程序结束后返回到这里,然后向下继续执行程序
NEXT:
;子程序目标地址,程序将从这里向下执行
RET
;子程序返回指令,子程序执行到此结束,返回CALL指令的下一条指令处
data segment
io8255a equ 288H
io8255b equ 289H
io8255c equ 28AH
io8255t equ 28BH
data ends7
code segment
assume cs:code,ds:data
start:
mov ax,data
mov ds,ax
mov dx,io8255t ;控制端口
mov al,81H ;设置8255为A口输出
out dx,al
mov dx,io8255a
mov al,00H ;设置8个灯全灭
out dx,al
mo:mov dx,io8255c
in al,dx
cmp al,01h
jz k1
cmp al,02h
jz k2
cmp al,04h
jz k3
jmp theend
k1: jmp l1
k2: jmp l2
k3: jmp l3
l1:
call deng
l2:
mov dx,io8255a
mov al,01h
out dx,al
l3:
mov dx,io8255a
mov al,00h
out dx,al
theend:
mov al,00h
mov dx,io8255a
out dx,al
jmp mo
deng proc
mov dx,io8255a ;数据端口
mov al,01H ;1号灯
out dx,al
call delay;延迟1秒
mov al,04H ;3号灯
out dx,al
call delay;延迟1秒
mov al,10H ;5号灯
out dx,al
call delay;延迟1秒
mov al,40H ;7号灯
out dx,al
call delay;延迟1秒
mov cl,5
return1: mov al,55H ;1,3,5,7号灯
out dx,al
call sdelay;延迟1秒
mov al,00H
out dx,al
call sdelay;延迟1秒
loop return1
mov al,02H ;2号灯
out dx,al
call delay;延迟1秒
mov al,08H ;4号灯
out dx,al
call delay;延迟1秒
mov al,20H ;6号灯
out dx,al
call delay;延迟1秒
mov al,80H ;8号灯
out dx,al
call delay;延迟1秒
mov cl,5
return2: mov al,0AAH ;2,4,6,8号灯
out dx,al
call sdelay;延迟1秒
mov al,00H
out dx,al
call sdelay;延迟1秒
loop return2
deng endp
delay proc ;延迟1秒的子程序
push cx
mov bx,10000
again1:mov cx,2801
wait0:loop wait0
dec bx
jnz again1
pop cx
ret
delay endp
sdelay proc ;延迟01秒的子程序
push cx
mov bx,1000
again2:mov cx,2801
wait1:loop wait1
dec bx
jnz again2
pop cx
ret
sdelay endp
code ends
end start
《微机原理》是一门专业基础课程,它的主要内容包括微型计算机体系结构、8086微处理器和指令系统、汇编语言设计以及微型计算机各个组成部分介绍等内容。要求考生对微机原理中的基本概念有较深入的了解,能够系统地掌握微型计算机的结构、8086微处理器和指令系统、汇编语言程序设计方法、微机系统的接口电路设计及编程方法等,并具有综合运用所学知识分析问题和解决问题的能力。 一、考试内容 (一)基础知识 1数和数制(二进制、十进制、十六进制)及其转换 2二进制编码 3二进制逻辑运算 4二进制算术运算 5BCD码 6计算机中字符表示 7计算机的组成结构 (二)8086指令系统 1基本数据类型 2寻址方式 36个通用指令 (三)汇编语言程序设计 1汇编语言的格式 2语句行的构成 3指示性语句 4指令性语句 5汇编语言程序设计的过程 6程序设计 7宏汇编与条件汇编 (四)总线 *** 作和时序 1总线 *** 作的概念 28086的总线 38086的典型时序 4计数器和定时器电路Intel 8253 (五)存储器和PC机存储结构 1半导体存储器的种类 2读写存储器(RAM) 3只读存储器(RQM) 4PC/XT的存储结构 (六)输入和输出 1输入输出的寻址方式 2CPU与外设数据传送方式 3DMA控制器主要功能 4DMA控制器8237 (七)中断 1中断的基本概念 28086的中断方式 3PC/XT的中断结构 4Intel 8259A (八)并行接口芯片8255 1微机系统并行通信的概念 2并行芯片8255的结构 3并行芯片8255的方式 4PC/XT中8255的使用 (九)串行通信及接口电路 1串行通信的基本概念 2异步通信接口Intel 8251A (十)数模(D/A)转换与模数(A/D)转换 1D/A转换的概念 2D/A转换器接口 3A/D转换的概念 4A/D转换器接口 二、考试要求 (一)基础知识 1掌握(BCD码),掌握二、十转换,二、十六进制转换。理解计算机数制中二进制、十六进制、十进制的制式。 2掌握二进制编码,了解ASCII码及数字和大写字母A~Z的ASCII码表述,理解组合式、未组合式数的表达方法。 3掌握二进制的原码、反码和补码,及其在8位和16位字长下的范围,掌握二进制逻辑运算和代数运算。 4掌握位(Bit)、字(Word)、字节(Byte)、中央处理单元(CPU)等名词术语的含义。 5了解一般微型计算机的组成。 6熟悉PC机的基本配置及各部件的主要功能。 (二)8086指令系统 1理解基本数据类型(数字数据、指针数据、位字段数据、串数据) 2理解指令的构成,指令 *** 作数有效地址(EA)的形成 3理解立即寻址,直接寻址,寄存器寻址,寄存器间接寻址,变址寻址,基址加变址寻址方式中 *** 作数寻址过程。 4掌握间接寻址和基址加变址寻址方式中寄存器的约定,段基数及 *** 作数地址的确定,了解段超越的概念及其使用。 5掌握8086指令系统中数据传送,算术运算,逻辑运算,串 *** 作和控制传送指令的含义及 *** 作过程及算术和逻辑运算对标志位的影响。了解指令代码和执行周期数的含义,了解处理器控制指令的含义。 6掌握算术运算中加减法运算指令的组合BCD数的十进制调整过程及在码制转换中的应用。 (三)汇编语言程序设计 1掌握汇编语言程序的一般格式,源程序的分段结构 2理解语句中标记,符号,表达式的要求和含义,了解指令性语句和指示性语句的意义和区别。 3了解指示性语句中5种语句的概念及其在程序编制中的应用。 4掌握指令性语句在程序设计中的应用,了解附加指令助记符,理解指令前缀的含义和 *** 作。 5掌握程序设计的步骤,能根据问题要求分析画出程序框图,正确编制完成程序设计 6掌握分支程序,循环程序,码制转换程序的设计,了解列表和参数传送技术程序设计。 7理解子程序,中断服务程序,宏调用的概念及其异同点。掌握子程序的编写,栈段的安排,了解子程序的嵌套。 8了解I/O的DOS调用功能,掌握输入单个字符,屏幕显示单个字符及字符串的功能调用及在程序设计中的正确应用。 9了解宏汇编和条件汇编的概念,理解宏定义格式的含义及宏调用 *** 作。 (四)总线 *** 作和时序 1了解总线 *** 作的指令周期,总线周期和T状态的含义及基本总线周期的组成。 2了解8086总线的两种组态的概念,及其在硬件结构和执行时序上的区别。 3理解8086外部引线的功能分类,理解三态信号的含义,掌握数据/低位地址线,高位地址线的信号流向及其确定的内存空间。 4了解8086存储器读写周期与I/O读写周期及其区别。能读懂时序图,了解最大组态和最小组态下存储器读写周期的区别。 5了解IBM PC/XT的CPU系统控制核心的主要组成,了解等待控制电路的功能。 6掌握8253控制命令字,了解各种工作方式的特点,熟悉外部引线的连接。 7掌握8253方式2、方式3的输出特性及编程。 (五)存储器和PC机存储结构 1了解半导体存储器的种类及主要应用特性。 2了解静态RAM和动态RAM的结构。掌握2114、2164构成不同存储器空间的配置,及对工作周期的要求。 3了解ROM的应用,理解ROM EPROM EEPROM的区别。 4了解PC/XT的存储空间分配,理解ROM在系统中的作用,掌握系统板和扩充板上RAM的位结构。 5掌握用2114、2164构成不同地址空间扩展内存的硬件连接。 (六)输入和输出 1了解计算机输入输出的两种寻址方式,了解PC/XT的端口寻址及相应的CPU控制引脚。 2了解CPU与外设间的接口信息,掌握其数据传送的四种传送方式。 3了解DMA *** 作的基本过程,理解DMA控制器(DMAC)的主要功能。 4了解DMA 8237在PC/XT机中的功能及工作过程。 (七)中断 1理解中断的功能,中断源,中断优先权,中断嵌套及中断执行过程。 2了解8086的软件中断和硬件中断,理解中断类型号,中断向量表,中断向量的含义,掌握INT n指令中断的处理过程。 3了解PC/XT的中断结构。 4了解中断控制器8259A在微机系统中的作用,理解初始化编程命令和工作方式命令。 5了解8259A的工作方式,理解8259A级联方式。 (八)并行接口芯片8255 1了解并行接口的概念,了解可编程并行接口芯片的功能。 2了解并行接口芯片8255A的外部结构,理解其三种工作方式及特点。 3掌握8255A的端口地址分配,掌握方式0的功能及端口命令字的设置。 4了解8255A在PC/XT种的使用的基本情况,了解8255A和DIP开关在系统板RAM容量配置方面的作用。 (九)串行通信及接口电路 1了解串行通信和并行通信的区别,了解串行通信的半双工和全双工工作的数据传送方向及示意图。 2了解远距离串行通信中信号的调制和解调及RS-232C串行通信接口。了解串行通信的校验方法。 3理解8251A初始化编程的主要步骤,掌握传送数据格式命令字和波特率的确定。 (十)数模(D/A)转换与模数(A/D)转换 1了解D/A转换的概念。掌握CPU与8位D/A芯片DAC98131的连接。 2了解8位CPU与10位D/A转换器的连接方式。 3了解A/D转换的概念。逐次逼近式A/D的工作原理。 4理解8位和10位A/D芯片与PC/XT总线接口电路。掌握单回路8位A/D转换的编程。
《微机原理》复习题解答
1、在8086/8088系统中,存储器是怎样组织的?整个存储空间有多大?最大逻辑长度为多大?至少可将存储器分为多少个段?段起始于什么位置?偏移地址是什么?怎样计算20位物理地址?
①分段组织②1兆字节③64K字节④至少分成16段⑤起始于最后四位二进制数都为0的位置⑥偏移地址是相当于段起始位置的偏移量⑦段地址×16+偏移地址
2、系统总线分为哪几组?各自传送的方向如何?
①分成3组:数据部线、地址总线、控制总线②数据总线和控制总线都是双向的,地址总线始终由CPU发出
3、8086微处理器分为哪几个部分?它们之间采用什么工作方式?其中状态寄存器由几类标志组成?与中断有关的是哪一位?
①分成2部分:总线接口部件、执行部件②并行工作方式③2类:状态标志、控制标志④IF位,IF置1,响应外部可屏蔽中断
4、怎样将8086设置为最小或最大模式?分别应配置哪些外围器件?作用怎样?最大模式与最小模式的配置相比多了什么器件?作用是什么?
① 引脚接高电平则设置为最小模式,如接低电平则设置为最大模式②最小模式下:1片8248A,作为时钟发生器;3片8282或74LS373,用来作为地址锁存器;2片8286/8287作为总线收发器。最大模式下:1片8284A,3片8282,2片8286,1片8288总线控制器,1片8259A及有关电路③8284A除了提供频率恒定的时钟信号外,还对准备发(READY)和(RESET)信号进行同步。8282:地址/数据总线是复用的,而 和S7也是复用的,所以在总路线周期前一部分时间中输出地址信号和 信号的引脚,在总线周期的后一部分时间中改变了含义。因为有了锁存器对地址和 进行锁存,所以在总线周期的后半部分,地址和数据同时出现在系统的地址总线和数据总线上;同样,此时 也在锁存器输出端呈现有效电平,于是确保了CPU对存储器和I/O端口的正常读/写 *** 作。8286/8287:当系统中所连的存储器和外设较多时,需要增加数据总线的驱动能力。④多了1片8288。作用:对CPU发出的S0,S1,S2控制信号进行变换和组合,以得到对存储器和I/O端口的读/写信号和对锁存器8282及对总线收发器8286的控制信号。
5、8086/8088系统中为什么将数据与地址总线复用?
因为数据线与地址线传送时间不一样,在总线周期T1传送地址,其他时刻传送数据,传送数据和地址时间是分离的,所以8086/8088系统中能将数据线与地址线复用。
6、CPU从奇地址或偶地址读写一个字(或字节)时, 和A0是什么电平?分别用几个总线周期?
A0 *** 作 总线周期
0 0 从偶地址开始读/写一个字 1个
1 0 从偶地址单元或端口读/写一个字节 1 个
0 1 从奇地址单元或端口读/写一个字节 1个
0
1 1
0 从奇地址开始读/写一个字 2个(在第一总线周期,将低8位数据送到AD15—AD8,在第二个总线周期,将高8位数据送到AD7—AD0)
7、CPU的READY和RESET信号有什么作用?
READY“准备好”信号输入:用于解决CPU与外设的速度匹配,RESET复位信号输入,复位信号来到后,CPU便结束当前 *** 作,并对处理器标志寄存器、IP、DS、SS、ES及指令队列清零,而将CS设置为FFFFH。当复位信号变为低电平时,CPU从FFFF0H开始执行程序。
8、设计一个端口地址译码电路使CPU寻址888~88FH(用一片3-8译码器)。
图(略)(参阅教材P468图)
9、在中断响应期间8086发出什么信号?起什么作用?
在中断响应期间8086发出中断响应信号。 信号实际上是位于连续周期中的两个负脉冲,第一个负脉冲通知外部设备的接口,它发出的中断请求已经得到允许;外设接口收到第二个负脉冲后,往数据总线上放中断类型码,从而CPU便得到了有关此中断请求的详尽信息。
10、除CPU以外的微处理器怎样在最大模式和最小模式下与CPU交换总线控制权?
HOLD引脚在最小模式下作为其他部件向CPU发出总线请求信号的输入端。当系统中CPU之外的另一个主模块要求占用总线时,通过此引脚向CPU发一个高电平的请求信号。这时,如果CPU允许让出总线,就在当前总线周期完成时,于T4状态从HLDA引脚发出一个回答信号,对刚才的HOLD请求作出响应。同时,CPU使地址/数据总线和控制状态线处于浮空状态。总线请求部件收到HLDA信号后,就获得了总线控制权,在此后一段时间,HOLD和HLDA都保持高电平。在总线占有部件用完总线之后,会把HOLD信号变为低电平,表示放弃对总线的占有。8086/8088收到低电平的HOLD信号后,也将HLDA变为低电平。这样,CPU双获得了对地址/数据总线和控制/状态线的占有权。在最大模式下,第30、31脚分别为 端和 端。这2个信号端可供CPU以外的2个处理器用来发出使用总线的请求信号和接收CPU对总线请求回答信号。 端和 都是双向的,由于请求和响应时间上是分离的,所以总线请求信号和允许信号在同一引脚上传输,但方向相反。
11、说明查询输入和输出方式的工作原理。
查询输入的工作原理:输入设备在数据准备好以后便往接口发一个选通信号。数据信息和状态信息从不的的端口经过数据总线送到CPU。按数据传送过程的3个步骤,CPU从外设输入数据时先读取状态字,检查状态字看数据是否准备就绪,即数据是否已进入接口的锁存器中,如准备就绪,则执行输入指令读取数据,此时,状态位清0,这样,便开始于一个数据传输过程。查询输出的工作原理:当CPU要往一个外设输出数据时,先读取接口中的状态字,如果状态字表明外设有空(或“不忙”),则说明可以往外设输出数据,此时CPU执行输出指令,否则CPU必须等待。
12、设状态口地址为87H,数据口地址为86H,外设准备好标志位为D3=1,请写出查询方式下CPU读数据的程序。
NEXT—IN:IN AL,87H
AND AL, 08H
JZ NEXT—IN
IN AL,86H
13、一个双向工作的接口芯片有哪几个端口?合用几个口地址?
一个双向工作的接口芯片通常有4个端口,数据输出端口,状态端口和控制端口。合用2个口地址,数据输入端口和数据输出端口合用一个口地址,状态端口和控制端口合用一个口地址。
14、接口必须具备哪些功能?CPU和接口间有哪些信息?传送方向怎样?CPU和外设数据传送方式有哪几种?
①1寻址功能2输入/输出功能3联络功能4数据输入缓冲和输出锁存功能②1数据信息,一般由外设通过接口传递给系统的。2状态信息,由外设通过接口往CPU传送的。3控制信息,是CPU通过接口传送给外设的③程序方式、中断方式、DMA方式
15、什么是中断向量?中断向量表是什么?非屏蔽中断的类型为多少?8086中断系统优先级顺序怎样?
①所谓中断响量,实际上就是中断处理子程序的入口地址,每个中断类型对应一个中断响量②中断向量按照中断类型的顺序在内存0段0单元开始有规则排列的一张表③类型02H④内部中断>非屏蔽中断>可屏蔽中断>单步中断
16、异步通信的数据格式是什么?波特率是什么?波特率因素的作用?
①略
②每秒钟传输的位数叫波特率③波特率因子的作用是检测起始位以及决定数据传输的速度
17、串行接口标准有多少个引脚?信号电平如何定义?如何进行与TTL电平的转换?
①有25条引脚②信号电平采用负逻辑定义,将-5V~-15V规定为”1”, +5V~+15V规定为”0”③要从TTL电平转换成RS-232-C电平时,中间要用到MC1488器件,反过来,用MC1489器件,则将RS-232-C电平转换成TTL电平。
18、8251状态字D0位与引脚信号TxRDY有什么不同?它们有什么使用?8251的复位 *** 作通常是怎样约定的?叙述8251异步通信的原理。
①第0位TxRDY为1时,指出数据输出缓冲区为空,注意此状态位和TxRDY引脚不同,它不受CTST和TxEN的影响。②状态字D0位:在查询方式下作为查询位;TxRDY引脚:中断方式下的中断请求信号③往基地址口送3个00H,1个40H ④异步接收方式:当8251A工作在异步方式并准备接收一个字符时,就在RxD线上检测低电平,并且启动接收控制电路中的一个内部计数器进行计数,当计数进行到相应于半个数位传输时间时,又对RxD线进行检测,如果此时仍为低电平,则确认收到一个有效的起始位。于是,8251A开始进行常规采样并进行字符装配,就是每隔一个数位传输时间,对RxD进行一次采样。数据进入输入移位寄存器被移位,进行奇/偶校验和去掉停止位,变成了并行数据,再通过内部数据总线送到数据输入寄存器,同时发出RxRDY信号送CPU。异步发送方式:在异步发送方式下,当程序置TxEN和CTS为有效后,发送器为空时,便开始发送过程。
19、8255的三个端口在使用中有什么差别?掌握方式1与CPU交换数据的连线及编程。8255的两个控制字在编程中有顺序的前后之分吗?为什么?当数据从8255的A口往数据总线上传送时,8255的 ,A1,A0, , 分别是什么电平?
①工作方式的不同,8255有方式0、方式1、方式2,C口只能工作在方式0,B口能工作在方式0、方式1,A口能工作在3种方式中的任一方式②连线(略),编程如下:
主程序:CLI
MOV AL,86
OUT 63,AL
MOV AL,05
OUT 63,AL
MOV AX,3000
MOV [033C],AX
MOV AX,0000
MOV [003E],AX
IN AL,21
AND AL,7F
OUT 21,AL
STI
A: JMP A
子程序:
0000:3000 IN AL, 61
OUT 60, AL
MOV AL, 20
OUT 20, AL
IRET
③没有④因为最高位是标志位,最高位1 ,方式选择控制字,最高位为0 ,C口置1、置0控制字⑤CS为0,A为0,A0为0,RD为0 ,WR为1
20、接口芯片是怎样和CPU的系统总线相连的?
接口芯片一般都具有2个部件,一个部件是数据总线缓冲器,上面有D0~D7和CPU的系统总线中数据线相连,还有一个部件是读/写控制逻辑电路,上面有读/写信号和CPU的读/写信号相连,上面还片选信号CS和用于区别接口芯片口地址的地址信号和CPU系统总线中地址线相连。
21、8259的全嵌套和特殊全嵌套方式有何异同?优先级自动循环是什么?什么特殊屏蔽方式?如何设置成该方式?
①全嵌套方式是8259A最常用的工作方式,只有在单片情况下,在全嵌套方式中,中断请求按优先级0~7进行处理,0级中断的优先级最高。特殊全嵌套方式和全嵌套方式基本相同,只有一点不同,就是在特殊全嵌套方式下,还可满足同级中断打断同级中断,从而实现一种对同级中断请求的特殊嵌套,而在全嵌套方式中,只有当更高级的中断到时,才会进行嵌套。②优先级自动循环方式一般在系统中多个中断源优先级相等的场合。在这种方式下,优先级队列是在变化的,一个设备受到中断服务以后,它的优先级自动降为最低。③仅仅禁止同级中断嵌套,开放高级中断和低级中断④两步:1步设置OCW3,设置成特殊屏蔽方式,2步设置OCW1屏蔽某级中断。
22、8259有几种中断结束方式?应用场合如何?
1中断自动结束方式,不需要设置中断结束命令,在单片系统中且不会出现中断嵌套时用。2一般中断结束方式,在全嵌套方式下用。3特殊中断结束方式,在任何场合均可使用。
23、8259的ICW3的格式如何?OCW2是控制什么的?常用的OCW2的值是多少?怎样禁止或开放IR3和IR5的中断请求(口地址93H,94H)。
主片ICW3:
A0 D7 D6 D5 D4 D3 D2 D1 D0
1 IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0
从片ICW3:
A0 D7 D6 D5 D4 D3 D2 D1 D0
1 0 0 0 0 0 ID2 ID1 ID0
②OCW2是用来设置优先级循环方式和中断结束方式的 *** 作命令字 ③20H ④用屏蔽字
禁止:(3和5是1 ,其余位是0)IN AL, 93H
OR AL, 28H
OUT 93H, AL
开放:(3和5是0,其余位是1) IN AL, 93H
AND AL, D7H
OUT 93H, AL
24、8259的CAS0~CAS2有什么作用?CPU怎样收到主从式连接系统中从片的中断类型码?掌握8259级连方式的原理图。
①在多片8259A级联的情况下,主片和所有从片的CAS2互相连在一起,同样,各CAS1、CAS0也分别连在一起。主片的CAS2~CAS0作为输出,从片的CAS2~CAS0作为输入,当CPU发出第一个中断响应负脉冲INTA时,作为主片的8259A除了完成例行的三个动作外,还通过CAS2~CAS0发出一个编码ID2~ID0,此编码和发出中断从片有关。②CAS2~CAS0作用+被选中的从片通过D0~D7向CPU送中断类型码。
③图略
25、8259的ICW2与中断类型码有什么关系?说明类型码为30H,36H,38H的异同。
①高五位相同,低二位不同(中断类型码的低三位和引脚的编码有关,ICW2的低三位无意义)②30H,36H高五位相同,ICW2=30H,30H为8259A IR0对应的中断类型码,
36H为8259A IR0对应的中断类型码。
38H ICW2=38H 38H为8259A IR0对应的中断类型码
26、8237有几种工作模式?画出级连模式的简单连线图。什么是读(写)传输?从 的传输需要什么通道来配合工作?对8237的编程应采用什么步骤?
①单字节传输模式,块传输模式,请求传输模式,级联传输模式
②图(略)
③写传输是指由I/O接口往内存写入数据。此时,IOR 信号和MEMW 信号有效。读传输是指将数据从存储器读出送到I/O接口,此时,MEMR信号和IOW信号有效。④在进行内存到内存的传输时,固定用通道0的地址寄存器存放源地址,而用通道1的地址寄存器和字节计数器存放目的地址和计数值。⑤1输出控制命令,关闭8237 2复位命令 3写地址寄存器 4写字节寄存器 5写模式寄存器 6写控制命令,启动8237工作 7写屏蔽命令
27、8237的AEN信号有什么作用?当8237为从模块时,它与CPU用什么信号相互联系?
①AEN使地址锁存器中的高8位地址送到地址总线上,与芯片直接输出的低8位地址共同构成内存单元地址的偏移量。AEN信号也使与CPU相连的地址锁存器无效,这样就保证了地址总线上的信号是来自DMA控制器,而不是来自CPU的。②CS、A0~A3、DB0~DB7、IOR、IOW
28、掌握8253工作模式的输出波形及GATE信号的作用。
(略)
29、说明8255、8259、8237及8253在IBM PC/XT 中的应用情况。
8255A-5有3个8位并行端口,分别称为PortA、PortB、 PortC,它们的使用情况如下:PortA:读取键盘扫描码;PortB:输出系统内部的某些控制信号;PortC输入系统板上的方式设置开关DIP的状态和系统的其他状态信号。8259A的8级中断在IBM PC/XT系统中分配如下:0级:连到计数器/定时器的计数器0输出端,接收对电子钟进行计时的中断请求;1级:接到键盘接口电路,接收键盘的中断请求,每当收到1个键盘扫描码时,键盘接口电路便产生1个中断请求;2~7级:连接到扩展槽供用户使用。8237A-5的4个DMA通道的使用情况如下:通道0(CH0):RAM刷新;通道1(CH1):为用户保留;通道2(CH2):软盘驱动器使用;通道3(CH3):硬盘驱动器使用。8253-5的3个内部计数器在IBM PC/XT系统中的使用情况如下:计数器0:作为定时器,为计时电子钟提供时间标准;计数器1:为DMA通道0产生刷新请求;计数器2:产生扬声器的音调。
30、用带两级数据缓冲器的8位D/A转换器时,为什么要用三条指令才能完成16位或12位数据转换?分别画出DAC0832单缓冲和双缓冲方式的原理图,并编程产生三角波。
①工作时,CPU先调用两条输出指令把数据送到第一级数据缓冲器,然后通过第三条输出指令使数据送到第二级数据缓冲器,从而使D/A转换器一次得到12位待转换的数据
②略
31、A/D转换分哪四步完成?分别叙述计数式,双积分式和逐次逼近式A/D转换的原理。
①采样、保持、量化、编码
②计数式A/D转换:首先启动信号S由高电平变为低电平,使计数器清0,当启动信号恢复高电平时,计数器准备计数。开始,D/A转换器输入端获得的数据量不断增加,使输出电压V0不断上升。当V0上升到某个值时,会出现V0大于VI的情况,这时,运算放大器的输出变为低电平,即C为0于是,计数器停止计数,这时候的数字输出量D7~D0就是与模拟输入电压对应的数字量。
双积分式A/D转换:对标准电压进行反向积分的时间T正比于输入模拟电压,输入模拟电压越大,反向积分所需要的时间越长。因此,只要用标准的高频时钟脉冲测定反向积分花费的时间,就可以得到输入模拟电压所对应的数字量,即实现了A/D转换。
逐次逼近式A/D转换:和计数式A/D转换一样,逐次逼近式A/D转换时,也用D/A转换器的输出电压来驱动运算放大器的反相端,不同的是用逐次逼近式进行转换时,要用一个逐次逼近寄存器存放转换好的数字量,转换结束时,将数字量送到缓冲器寄存器中。逐次逼近寄存器工作时与普通计数器不同,它不是从低位往高位逐一进行计数和进位,而是从最高位开始,通过设置试探值来进行计数。
--------------------------------------------------------------------------------
相关文章
《微机原理与接口技术》复习范围内容及自测题2004-9-3 23:15:08
《微机原理与接口技术》复习题自测题162004-9-3 23:12:39
《微机原理与接口技术》复习题自测题172004-9-3 22:35:56
《微机原理与接口技术》复习自测题(含答案)2004-8-31 0:22:24
《微机原理与接口技术》复习自测题(含答案)2004-8-31 0:21:26
以上就是关于关于《微机原理》的一些问题全部的内容,包括:关于《微机原理》的一些问题、微机原理、微机原理编程题!计算负数的个数问题!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)