南京邮电大学通达学院微机最新期末考点含例题整理.docx
《南京邮电大学通达学院微机最新期末考点含例题整理.docx》由会员分享,可在线阅读,更多相关《南京邮电大学通达学院微机最新期末考点含例题整理.docx(16页珍藏版)》请在冰豆网上搜索。
![南京邮电大学通达学院微机最新期末考点含例题整理.docx](https://file1.bdocx.com/fileroot1/2023-1/4/5cbbdbb7-3a2c-4879-a2a5-ec8cef14ddf6/5cbbdbb7-3a2c-4879-a2a5-ec8cef14ddf61.gif)
南京邮电大学通达学院微机最新期末考点含例题整理
汇编语言程序设计
汇编语言程序设计(约10%)
1.指令的正确书写格式
2.重要指令的功能
3.计算机系统的基本组成。
计算机的硬件系统的五大组成部分。
硬件的系统包括控制器、运算器、储存设备、输入设备、输出设备五个部分。
4.存储器的扩展。
例:
现有16K×1的静态RAM芯片,欲组成128K×8位的存储器,需要64片这样的RAM芯片。
5.汇编语言程序的开发过程。
6.读写程序段能力
80X86微处理器
1、真值数和补码数之间的转换方法及定字长表示不同数的范围
字长为n,无符号数0-(
),原码数—(
)-(
),
反码数—(
(
),补码数—(
)-(
)
2、实地址模式下,物理地址的形成
物理地址计算公式:
物理地址=段基址*16+偏移地址
3、80486的寻址方式:
486有3类7种寻址方式(段约定的概念)
立即寻址方式:
获得立即数
寄存器寻址方式:
获得寄存器操作数
存储器寻址方式:
获得存储器操作数(内存操作数)
内存寻址方式16位寻址规定可使用的寄存器
6、计算机系统的基本组成,存储器的扩展
硬件:
运算器、控制器、存储器、输入/输出设备、电源系统
4.X86微处理器的工作模式及特点
实地址模式、保护虚拟地址模式、虚拟8086模式
I/O接口概念
1.接口电路中的端口是什么?
端口如何分类?
1)接口是CPU与外部设备之间的连接部件,是CPU与外部设备进行信息交换的中转站;
2)端口是输入/输出接口电路中能与CPU交换信息的寄存器,按端口寄存器存放信息的物理意义来分,分为数据端口、状态端口、控制端口。
3)数据端口:
存放数据信息,存放CPU向外设输出或外设输入的数据;控制端口:
存放控制信息—控制接口电路、外设的工作;状态端口:
存放状态信息—反映外设状态。
2.总线基本概念与分类
总线是指计算机中多个部件之间共用的一组连线,由它构成系统插件间、插件的芯片间或系统间的标准信息通路,是连接CPU与存储器、I/O接口的公共导线,是各部件信息传输的公用通道。
通过总线可以传输数据信息、地址信息、各种控制命令和状态信息。
分类:
按传输信号的性质:
地址总线、数据总线、控制总线;按连接对象和所处层次:
芯片级总线、系统总线、局部总线、外部总线;按方向:
单向传输、双向传输,双向分为半双工、全双工;按用法:
专用总线、非专用总线。
3.掌握CPU对外设(I/O设备)的寻址有哪两种(统一编址和独立编址)。
统一编址:
把I/O端口作文存储器的一个单元来看待,故每个I/O端口占用存储器的一个地址。
从输入端口输入一个数据,作为一次存储器的读操作,向输出端口输出一个数据,作为一次存储器的写操作。
特点:
CPU对外设的操作可以使用存储器操作指令,不需要专门的输入/输出指令;端口地址占用内存空间,使内存容量减少;执行存储器指令往往要比那些为独立的I/O而专门设计的指令慢。
独立编址:
在这种方式中,I/O端口和存储器分别建立两个地址空间,单独编址。
特点:
对于I/O端口,CPU须有专门的I/O指令访问;端口地址不占用内存空间。
(PC系列机中,I/O端口采用独立编址方式。
)
4.CPU的输入,输出指令(IN,OUT指令)。
1、输入指令IN输出指令OUT都是累加器专用指令。
2、用法:
1)INAX/AL,I/O端口地址;表示从外部设备输入数据给累加器,如果从外设端口中输入一个字节则给8位累加器AL,若输入一个字则给16位累加器AX。
如INAL,80H
2)OUTI/O端口地址,AX/AL;表示将累加器的数据输出给外部设备,如果向外设端口输出一个字节则用8位累加器AL,若输出一个字则用16位累加器AX。
如OUT81H,AL
说明:
当I/O端口地址不超过8位时,则直接放在指令中,若超过8位,则用DX间址。
如MOVDX,8080H
INAL,DX
5.微机系统与I/O之间有哪些传送方式?
(其中DMA方式不需要CPU参与)
四种方式分别为:
无条件传送方式、查询方式、中断方式、存储器直接存取(DMA)方式
1)无条件:
直接用IN或OUT指令完成与外设之间的数据传送,主要用于对简单I/O设备的控制或CPU明确知道外设所处状态的情况下。
输入传送成功的前提是外设数据已经准备好,输出传送成功的前提是外设空闲,因此传送成功率无法保证。
2)查询:
主要用于CPU不太忙且传送速度不高的情况下,接收数据前,CPU要查询输入数据是否准备好;输出数据前,CPU要查询输出设备是否空闲。
只有确认外设已经具备了输入或输出条件后,才能用IN或OUT指令完成数据传送。
程序段:
查询式输入核心程序
设状态口地址=200H,数据口地址=201H
RSCAN:
MOVDX,200H
INAL,DX
TESTAL,80H(D7=1准备好)
JZRSCAN
MOVDX,201H
INAL,DX
查询式数据输出核心程序
设状态口地址=200H=数据口地址
TSCAN:
MOVDX,200H
INAL,DX
TESTAL,1(D0=0设备空闲)
JNZTSCAN
MOVDX,200H
MOVAL,某数
OUTDX,AL
3)中断:
主要用于CPU的任务比较忙的情况下,尤其适合实时控制和紧急事件的处理。
在外设没有作好数据传送准备时,CPU可执行与传送数据无关的其它指令;当外设作好传送准备后,主动向CPU请求中断;若CPU响应这一请求,则暂停正在运行的程序,转入中断服务程序,完成数据传送;待服务完毕后,自动返回原来运行的程序继续执行。
4)DMA:
主要用于高速外设进行大批量的数据传送的场合,用硬件实现外设与内存之间直接进行数据交换,不通过CPU,数据传送速度的上限就取决于存储器的工作速度,信息传送速度较快。
计数器/定时器8254
1.掌握可编程芯片8254定时器/计数器的基本结构(三个16位计数器,每个计数器有6种工作方式,计数初值可设置成2进制或BCD码)和相关外部引脚功能(CLK,OUT,GATE)。
D7—D0为数据线,
为片选信号输入端,A1A0为内部寄存器选择信号,
接收来自CPU的输入、输出读/写命令,GATE0—GATE2、CLK0—CLK2、OUT0—OUT2是三个计数器的外部引脚。
2.掌握8254的三个计数器工作在方式2和方式3时的基本特点和应用。
方式2:
(脉冲发生器)软件启动,减1计数,减到1时OUT从1→0,下一CLK初值;自动重装;所以OUT为周期性波形,输出负脉冲的宽度为一个TCLK,周期=N×TCLK
方式3:
(方波发生器)软件启动,减2计数,有初值自动重装功能;N=偶数时,计数值减到0时初值重装,输出1:
1连续波形;N=奇数时,装入的及重新装入的初值均为写入的初值-1,输出正脉冲期间,减到-2时重新装初值;输出负脉冲期间,减到0时重新装初值。
输出正脉冲宽度=TCLK×(N+1)/2,输出负脉冲宽度=TCLK×(N–1)/2
3.掌握PC系统8254的端口地址和三个计数器的作用。
4.掌握怎样确定8254的端口地址、根据工作要求确定控制字和计数初值,熟练掌握初始化编程。
4个端口地址:
第一个0号,第二个1号,第三个2号,第四个是控制口地址
计数初值:
N=fclk/fout
例:
设8254的口地址为40H~43H,要求2#计数器工作在方式3,计数初值=4000,写出2#的初始化程序段
解1:
设初值为二进制,初值写入顺序为先低8位后高8位。
MOVAL,10110110B
OUT43H,AL
MOVAX,4000
OUT42H,AL
MOVAL,AH
解2:
设初值为BCD码,写入顺序为先低后高。
MOVAL,10110111B
OUT43H,AL
MOVAL,0
OUT42H,AL
MOVAL,40H
OUT42H,AL
解3:
设初值为BCD码,仅写高8位。
MOVAL,10100111B
OUT43H,AL
MOVAL,40H
OUT42H,AL
OUT42H,AL
中断与8259控制器
1.什么是中断?
什么是中断源?
中断:
CPU暂停执行现行程序,转而处理随机事件,处理完毕后再返回被中断的程序,这一全过程称为中断。
中断源:
能够引发CPU中断的信息源。
按中断源划分:
CPU中断,硬件中断,软件中断。
硬件中断分为可屏蔽中断和非屏蔽中断,软件中断分为BIOS中断和DOS中断(DOS分为DOS专用中断,DOS保留中断,用户可用DOS中断,用户可开发的中断。
2.什么是中断向量?
中断类型码和80X86的中断向量表的关系。
中断向量是实模式下,中断服务子程序的入口地址,它由2部分组成:
服务程序所在代码段的段基址2个字节;服务程序入口的偏移地址2个字节。
关系:
4n和4n+1存放n型服务程序入口的偏移地址;4n+2和4n+3存放n型服务程序入口的段基址。
3.CPU响应可屏蔽中断和非屏蔽中断的条件。
DMA请求级别>非屏蔽中断>可屏蔽中断
可屏蔽:
INTR引脚有中断请求,NMI引脚没有中断请求,系统没有DMA请求;CPU当前执行指令完毕;CPU处于开中断状态(I标志=1)
非屏蔽:
NMI引脚有中断请求,系统没有DMA请求;CPU当前指令执行完毕。
4.8259A芯片的作用。
管理众多的外部中断源。
例:
PC/AT系统使用两片8259级联,可管理()级中断。
A.8B.9C.15D.16
5.CPU响应可屏蔽中断的全过程。
首先由中断请求寄存器寄存加到引脚IR0~IR7上的中断请求②在中断屏蔽寄存器的管理下,没有被屏蔽的中断请求被送到优先权电路判优③经过优先权电路的判别,选中当前级别最高的中断源,然后从引脚INT向CPU发出中断请求信号④CPU满足一定条件后,向8259A发出2个中断响应信号(负脉冲)⑤8259A从引脚INTA收到第1个中断响应信号之后,立即使中断服务寄存器中与被选中的中断源对应的那一位置1,同时把中断请求寄存器中的相应位清0⑥从引脚INTA收到第2个中断响应信号后,8259A把选中的中断源类型码n,通过数据线送往CPU⑦在实模式下,CPU从4×n~4×n+3单元取出该中断源的中断向量→IP、CS,从而引导CPU执行该中断源的中断服务程序。
6.硬件中断和软件中断的区别(相同点和不同点)
硬件中断时通过中断请求线输入信号来请求处理机;软件中断是处理机内部识别并进行处理的中断过程。
硬件中断一般是由中断控制器提供中断码类型,处理机自动转向中断处理程序;软件中断完全有处理机内部形成中断处理程序的入口地址并转向中断处理程序的入口地址,并转向中断处理程序,不需要外部提供信息。
相同点:
都是中断,都会产生中止信号,引起指令中止
不同:
①中断的引发方式不同
CPU获取中断类型码的方式不同③CPU响应的条件不同
中断处理程序的结束方式不同
7.掌握可屏蔽中断中日时钟中断,用户中断的中断类型码和中断处理过程;重点掌握中断向量的置换和用户中断的设计。
例1:
编程实现:
利用系统定时中断,每隔18*55ms,显示一行“hello”,主机按任意键停止。
例2:
#把用户程序中以“TIMER”命名的中断服务子程序的入口地址→4×1CH~4×1CH+3单元
OLD1CDD?
MOVAH,35H
MOVAL,1CH
INT21H
MOVWORDPTROLD1C,BX
MOVWORDPTROLD1C+2,ES
PUSHDS
MOVAX,CS
MOVDS,AX
MOVDX,OFFSETTIMER
MOVAH,25H
MOVAL,1CH
INT21H
POPDS
#实现用户中断必须对主、从8259应用编程,保证中断申请由8259中断控制器提向CPU
INAL,0A1H
ANDAL,11111101B
OUT0A1H,AL;开放用户中断
INAL,21H
ANDAL,11111011B
OUT21H,AL;开放从8259中段
BIOS为“71H型”设计的服务程序如下:
PUSHAX
MOVAL,20H
OUT0A0H,AL
POPAX
INT0AH
串行接口8250
1.掌握异步通信的特点(即两个一致)及数据帧的格式及波特率(通信速率)的定义;(串行异步通信一帧字符最短7位,最长12位。
)
1)异步通信是指通信中两个字符之间的时间间隔是不固定的,而在一个字符内各位的时间间隔是固定的。
异步串行通信并不要求发送方和接收方的时钟完全一样,字符与字符间的传输是异步的。
采用异步通信时,每一个字符的前后都要加上一些标志位(分隔位)组成一帧信息,然后才能被发送。
接收方再去掉这些分隔位就可以得到原始数据信息,完成传输。
这些标志位用作帧与帧之间的分隔位。
因此,异步通信两个字符之间的传输间隔是任意的。
2)数据帧格式:
起始位:
一位逻辑0,数据位:
5~8位逻辑0/1,奇偶校验位:
1位逻辑0/1,停止位:
1~2位逻辑1
3)通信速率:
包括起始、停止、数据、校验位在内每秒传送的0、1代码个数。
单位:
bps
例:
设异步通信一帧字符有8个数据位,无校验,1个停止位,如果波特率为9600,则每秒钟能传输多少帧字符?
(960)传输一帧字符需要多少时间?
(1/960秒)
2.掌握单工,半双工,全双工通信的含义;
单工通信:
双方单线对地传输,一方只发,另一方只收。
半双工通信:
双方只有一条信道对地传输,同一时间只能进行A→B或B→A。
全双工通信:
双方双线对地传输,同一时间可进行A→B、B→A的传输
3.掌握RS-232C接口标准,电平(逻辑0和1的电平范围)
信号标准:
32TXD输出发送数据;23RXD输入接收数据;74
输入请求发送;85
输入允许发送;66
输入数据设备准备好;57GND信号地;18
输入载波检测;420
输出数据终端准备好;922RI输入振铃指示。
电平标准:
常用负逻辑,“1”=3V~15V,“0”=3V~15V,与计算机采用TTL电平范围相差很远(相反),所以连接时需要用到电平转换器:
MC1488:
TTL电平→RS232电平,MC1489:
RS232电平→TTL电平
4.掌握8250在异步串行通信中的具体使用(根据具体的通信环境进行初始化和查询方式通信程序设计)。
例1:
编写子程序,对PC系列机主串口进行初始化,要求:
通信速率=1200bps,一帧数据包括:
8个数据位,1个停止位,无校验,查询方式,完成内环自检
分析:
速率=1200bps分频系数=1.8432M/(16*1200)=0060H一帧数据结构命令字:
00000011B=03H中断允许命令字=0MODEM控制字:
00010000H=10H
I8250PROC
MOVDX,3FBH
MOVAL,80H(不变)
OUTDX,AL
MOVDX,3F9H
MOVAL,0(分频高八OUTDX,AL
MOVDX,3F8H
MOVAL,60H(分频低八位)
OUTDX,AL
MOVDX,3FBH
MOVAL,03H(数据格式)
OUTDX,AL
MOVDX,3F9H
MOVAL,0(中断允许)
OUTDX,AL
MOVDX,3FCH
MOVAL,10H(MODEM控制字,D3查询0中断1,D2有pc是0,无是1,D1D0有联络11,无联络00)
OUTDX,AL
RET
I8250ENDP
例2:
利用甲、乙两台计算机的主串口直接相连进行单工通信。
甲发送,乙接收。
双方通信前约定:
7位数据位,1位停止位,偶校验,通信速率为2400bps(0030H),双方均采用查询方式进行数据的发送和接收。
请将下列对甲计算机的I8250初始化程序段补充完整。
MOVDX,3FBH
MOVAL,
(1)________
OUTDX,AL
MOVDX,3F8H
MOVAL,
(2)________
OUTDX,AL
MOVDX,3F9H
MOVAL,0
OUTDX,AL;设置波特率
MOVDX,3FBH
MOVAL,(3)________
OUTDX,AL;设置数据格式
MOVDX,3F9H
MOVAL,(4)________
OUTDX,AL;禁止所有中断
MOVDX,3FCH
MOVAL,(5)________
OUTDX,AL
(2)查询方式发送程序段
RSCAN:
MOVDX,3FDH
INAL,DX
TESTAL,20H
JZRSCAN
MOVAL,待发送的数据
MOVDX,3F8H
OUTDX,AL
(3)查询方式接收程序段
TSCAN:
MOVDX,3FDH
INAL,DX
TESTAL,01H
JZTSCAN
MOVDX,3F8H
INAL,DX
并行接口8255A
1.了解8255A的组成结构;
对外设一侧有3个并行端口:
A口、B口、C口,每个端口对外设有8根端口数据线;内部有二个控制模块:
A组控制模块:
控制A口和C口上半部(PC7~PC4),B组控制模块:
控制B口和C口下半部(PC3~PC0);C口分为上、下两半,但CPU对C口读写时把C口看成是一个整体,不能对上、下半部分别读写;对CPU一侧有两个控制模块:
数据总线缓冲器完成和CPU数据线的配接,读/写控制模块接收CPU的控制信号,完成对端口的读/写
2.掌握如何确定8255A的端口地址、控制字以及初始化编程;
例1:
设端口地址280H—283H,PA为方式0输出,PB为方式1输入,PC为方式0输出,初始化程序:
MOVDX,283H
MOVAL10000110B
OUTDX,AL
MOVAL,0XXX0101B
OUTDX,AL
例2:
设系统外扩一片8255及相关外围电路,端口地址为200H~203H,现设置8255A的A口、B口工作在选通型输入方式,允许B口中断、A口禁止中断。
要求编写初始化程序段。
(要求无关项设置“0”)
3.掌握8255A的三种工作方式及其特点;重点在方式0和方式1的工作过程,及方式1的信息传送特点;
方式0:
基本输入/输出方式。
端口和外设之间不需要联络信号。
A、B、C端口可由方式选择控制字规定为输入或输出。
方式1:
选通型输入/输出方式。
8255A工作在方式1时,端口和外设之间必须有联络线,CPU与8255A可由用查询方式或中断方式交换信息。
方式2:
双向传输方式。
只有A端口可工作在方式2.当A端口工作在方式2时,A端口为输入输出双向端口,PA7—PA0为双向数据线,PC4和PC5为一对输入联络线,PC6和PC7为一对输出联络线,PC3为中断请求线。
当A端口工作于方式2时,B端口可工作在方式0或方式1.
A口可工作在方式0、1、2,B口可工作在方式0、1,C口可工作在方式0
例:
8255A的A口工作在方式1输入或输出时,各对应的一组端口联络信号是什么?
对应的信号名称?
8255A的B口工作在方式1输入或输出时,各对应的一组端口联络信号是什么?
对应的信号名称?
4.掌握CPU对8255A读写操作时芯片相关引脚的状态。
附:
讲义例题程序
计数器/定时器8254
4.例题8254初始化
MOVAL,10110110B
OUT43H,AL
MOVAX,2000
OUT42H,AL
MOVAL,AH
OUT42H,AL
并行接口8255
2.例题
I8255PROC
MOVDX,203H
MOVAL,10110110B
OUTDX,AL
MOVDX,200H
MOVAL,08H
OUTDX,AL
MOVDX,201H
MOVAL,00000101B
OUTDX,AL
串行接口8250
7.例题
.486
DATASEGMENTUSE16
OLDICDD?
BUFDB'hello',0AH,0DH,'$'
ICOUNTDB18
DATAENDS
CODESEGMENTUSE16
ASSUMECS:
CODE,DS:
DATA
BEG:
MOVAX,DATA
MOVDS,AX
CLI
CALLREADIC
CALLWRITEIC
CALLDISP
STI
SCAN:
MOVAH,1
INT16H
JZSCAN
CALLRESET
MOVAH,4CH
INT21H
DISPPROC
MOVAH,09H
MOVDX,OFFSETBUF
INT21H
RET
DISPENDP
SERVICEPROC
PUSHA
PUSHDS
MOVAX,DATA
MOVDS,AX
DECICOUNT
JNZEXIT
MOVICOUNT,18
CALLDISP
DECICOUNT
EXIT:
POPDS
POPA
IRET
SERVICEENDP
READICPROC
MOVAX,351CH
INT21H
MOVWORDPTROLDIC,BX
MOVWORDPTROLDIC+2,ES
RET
READICENDP
WRITEICPROC
PUSHDS
MOVAX,CODE
MOVDS,AX
MOVDX,OFFSETSERVICE
MOVAX,251CH
INT21H
POPDS
RET
WRITEICENDP
RESETPROC
MOVDX,WORDPTROLDIC
MOVDS,WORDPTROLDIC+2
MOVAX,251CH
INT21H
RET
RESETENDP
CODEENDS
ENDBEG