微机原理复习大纲

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

汇编语言程序设计(约30%)
一、基本概念1、二进制数,十进制数,十六进制数和BCD 码数之间的转换方法。

例:(129.5)10=(10000001.01 )2=(81.8 )16 (10010111)BCD=(97 )10=(110001 )2
十进制与非十进制的转换基本原则:
原则1:整数部分与小数部分分别转换;
原则2:整数部分采用除基数(转换为2进制则每次除2,转换为8进制每次除8,以此类推)取余法,直到商为0,而余数作为转换的结果,第一次除后的余数为最低为,最后一次的余数为最高位;
原则3:小数部分采用乘基数(转换为2进制则每次乘2,转换为8进制每次乘8,以此类推)取整法,直至乘积为整数或达到控制精度。

2 、真值数和补码数之间的转换方法及8 位字长表示不同数的范围。

机器字长为8 位的补码数,其表示数值的真值范围是-128-+127
机器字长为8 位的原码数,反码数,其表示数值的真值范围是-127-+127
机器字长为8 位的无符号数,其表示数值的真值范围是0-255
例:字长=8 位,则[-6]补=( F9 ) 16,
若[X]补=E8H,则X 的真值为( - FE ) 16
原码
最高位为符号位,数值位部分就是该数的绝对值。

例如:假设某机器的字长为8位,则:
+23(17H)的原码机器数为:00010111
-23(-17H)的原码机器数为:10010111
其中最高位是符号位,后7位是数值位。

反码
最高位为符号位,数值位部分对于正数就是该数的绝对值,对于负数则为其绝对值的按位取反。

例如:
+23(17H)的反码机器数为:00010111
-23(-17H)的反码机器数为:11101000
数字0的反码有两种表示方式
(+0)10 = (00000000)2
(- 0)10 = (11111111)2
补码
对于正数,补码和其原码、反码相等;对于负数,补码的符号位为1,数值位为其绝对值按位取反后末位加1。

例如:
+23(17H)的补码机器数为:00010111
-23(-17H)的反码机器数为:11101000
-23(-17H)的补码机器数为:11101001
3.整数的补码运算
4.实地址模式下,物理地址的形成
物理地址计算公式:物理地址=段基址*16+偏移地址
4、80486 的寻址方式
486 有3 类7 种寻址方式(段约定的概念)
立即寻址方式:获得立即数
寄存器寻址方式:获得寄存器操作数
存储器寻址方式:获得存储器操作数(内存操作数)
内存寻址方式16 位寻址规定可使用的寄存器
例:指出下列指令源、目操作数的寻址方式:
ADD AX,TABLE 间接寻址
MOV AX,[BX+SI+6] 基址加间址寻址
MOV AL,[BX +6] 基址寻址
MOV AL,[SI+6] 间址寻址
MOV DX,[BX] 间接寻址
MOV AX,BX 寄存器寻址
MOV AL,-1 立即寻址
5.指令的正确书写格式
指令的书写格式
目标指令(机器指令):用一串0,1代码书写的指令;
注意:硬件只能识别、存储、运行目标指令!
符号指令:用规定的助记符、规定的书写格式书写的指令。

6.6 种标志位的意义A,C,O,P,S,Z
条件码:
①OF(Overflow Flag)溢出标志,溢出时为1,否则置0.标明一个溢出了的计算,如:结构和目标不匹配.
②SF(Sign Flag)符号标志,结果为负时置1,否则置0.
③ZF(Zero Flag)零标志,运算结果为0时置1,否则置0.
④CF(Carry Flag)进位标志,进位时置1,否则置0.注意:Carry标志中存放计算后最右的位.
⑤AF(Auxiliary carry Flag)辅助进位标志,记录运算时第3位(半个字节)产生的进位置。

有进位时1,否则置0.
⑥PF(Parity Flag)奇偶标志.结果操作数中1的个数为偶数时置1,否则置0.
控制标志位:
⑦DF(Direction Flag)方向标志,在串处理指令中控制信息的方向。

⑧IF(Interrupt Flag)中断标志。

⑨TF(Trap Flag)陷井标志。

为举例方便说一下jnz和jz
测试条件
JZ ZF=1
JNZ ZF=0
即Jz=jump if zero (结果为0则设置ZF零标志为1,跳转)
Jnz=jump if not zero
5、重要指令的功能
指令的组成形式为:
操作码+ 操作数
操作码——告诉计算机要执行的操作是什么,如:加、减、逻辑与等。

操作数——执行操作过程所要操作的数,如加运算的两个加数。

6, 计算机系统的基本组成。

硬件:存储器、运算器、控制器、输入设备、输出设备。

软件:
系统软件:操作系统,程序设计语言及其编辑、编译软件……
应用软件:为解决某一实际问题而编制的软件。

7,存储器的扩展。

位扩展法:只加大字长,而存储器的字数与存储器芯片字数一致, 对片
子没有选片要求。

字扩展法。

字位同时扩展法。

总片数=总容量/(容量/片)
8. 汇编语言程序的开发过程。

编辑,编译,连接,运行
9. 读写程序段能力
I/O 接口概念
1.接口电路中的端口是什么?端口如何分类?【教材P220,数据端口,状态端口,控制端楼】
端口是接口电路中能与CPU通过IN、OUT指令交换信息的寄存器。

端口分类
数据口:存放CPU和外设交互(输入或输出)的数据;
控制口:存放控制接口电路、外设工作的控制信息。

状态口:存放状态信息,主要用于反映外设的状态。

2.总线基本概念与分类。

(地址总线,数据总线,控制总线)
总线(BUS)是微型计算机中将各部件连接起来的信息传
输通道,是各种公共信息线的集合,采用总线结构便于部件和
设备的扩充。

地址总线:传输CPU访问存储器、I/O端口的地址信号。

数据总线:传输CPU读/写内存,读写I/O端口时的数据。

控制总线:CPU发出的控制命令,或外部向CPU提出的请求。

3.掌握CPU 对外设(I/O 设备)的寻址有哪两种(统一编址和独立编址)。

存储器映像方式
将存储器与外设端口统一编址,或者说将外设端口看作是存储器的一个单元。

优点:不需要专门的端口操作指令,可以使用全部的存储器操作指令访问端口(指令多且灵活)。

缺点:外设端口占用了存储器空间,减少了存储器容量,增加了译码电路的复杂度。

I/O端口独立编址
优点:不占用存储器地址空间。

缺点:CPU需要增加专门的I/O操作指令。

4.CPU 的输入,输出指令。

(IN,OUT 指令)
IN
OUT:执行OUT指令时:AL内容→数据线;端口地址→地址线;地址译码器输出有效,同时#IOW变低,把数据锁存到8个D触发器中。

5.微机系统与I/O 之间有哪些传送方式?(无条件,查询,中断,DMA)其中DMA 方式不需要CPU 参与
1、无条件传送
只能用于外部设备和CPU的动作同步时,否则出错。

现在已经很少使用。

2、查询方式传送
接口电路简单。

但是在状态查询过程中,如果外设数据一直没有准备好,则CPU会不断的查询、等待,此时软件上必须做合适的处理,否则将影响程序的执行效率。

3、中断传送方式
只有当外设数据准备好时(此时外设将向CPU发出请求),CPU才进行数据传送(在中断服务程序中),其余时间CPU可以做其他事情,CPU效率大大提高;但是,每传送一次数据,CPU都要执行一次中断服务程序,在中断服务程序中,除执行IN 和OUT 指令外,还要进行诸如保护断点、保护标志寄存器、保护某些通用寄存、恢复等一些工作,95%的时间是额外开销,从而传送效率并不高。

4、DMA传送方式
在DMAC的控制下,外设直接和存储器(也可外设与外设,存储器与存储器之间)进行数据传送,而不必经过CPU。

这种方式下的传送速度基本取决于外设与存储器的速度,从而传送效率大大提高。

计数器/定时器8254
1.掌握可编程芯片8254 定时器/计数器的基本结构(三个16 位计数器;每个计数器有6 种工作方式,计数初值可设置成 2 进制或BCD 码)和相关外部引脚功能(CLK,OUT,GATE)。

GATE:控制引脚;CLK:计数脉冲输入;OUT:计数器输出
2.掌握8254 的三个计数器工作在方式2 和方式3 时的基本特点和应用。

计数器0:工作在方式3,初值=0,OUT0输出周期为55ms的方波,其作用是定时向系统提出日时钟中断请求。

计数器1:工作在方式2,初值=18,OUT1输出周期为15.1μs的连续脉冲,其作用是定时向DMAC提出动态存储器刷新请求。

计数器2:工作在方式3,初值=533H,为声音系统提供900Hz方波。

注意:用户禁止使用计数器1,可以使用计数器0、2。

3.掌握怎样确定8254 的端口地址、根据工作要求确定控制字和计数初值,熟练掌握初始化编程。

例:设系统8254 的计数器2 工作在方式3,计数初值为2000,采用二进制计数。

下列程序段的功能是完成对该片8254(口地址为40H~43H)计数器 2 的初始化,请将程序补充完整。

MOV AL, ①___10110110B_____
OUT ②_43H______,AL
MOV AX,2000
OUT ③__42H_______,AL
④__MOV____AL, AH____
OUT ⑤_____42X____,AL
中断与8259 控制器
1.什么是中断?
CPU暂停执行现行程序,转而处理随机事件,处理完毕后再返回被中断的程序继续执行,这一全过程称为中断。

2.(1)什么是中断向量?
中断向量是实模式下,中断服务子程序的入口地址。

它由两部分组成:
中断服务程序所在代码段的段基址,2字节;
中断服务程序所在代码段的段内偏移地址,2字节;
(2)中断类型码和80X86 的中断向量表的关系。

例:(00180H)=44H ,(00181H)=55H,(00182H)=66H,(00183H)=77H,请问00180H~00183H 中存放的是什么中断类型的中断向量?中断向量为多少?对应的物理地址是多少?
3.CPU 响应可屏蔽中断和非屏蔽中断的条件。

响应可屏蔽中断的条件
①有可屏蔽中断请求、没有DMA请求、没有非屏蔽中断请求;
②CPU一条指令执行完毕;
③CPU处于开中断状态(I标志=1)。

响应非屏蔽中断的条件
①有非屏蔽中断请求、没有DMA请求;
②一条指令执行完毕。

4.8259A 芯片的作用。

作用:中断控制器。

例:PC/AT 系统使用两片8259 级联,可管理( C )级中断。

A.8 B.9 C.15 D.16
5.CPU 响应可屏蔽中断的全过程。

8259A的中断过程──CPU响应硬件中断的过程
①首先,如果外部有有效中断请求输入,则中断请求寄存器将寄存加到引脚IR0~IR7上的中断请求;
②在中断屏蔽寄存器的过滤下,没有被屏蔽的中断请求被送到优先权电路判优;
③优先权电路选中当前级别最高的中断源,然后从引脚INT向CPU发出中断请求信号;
④如果CPU满足响应中断的条件,则CPU向8259A发出2个中断响应信号(2个连续的负脉冲,由#INTA引脚送出)。

⑤8259A从引脚#INTA收到第1个中断响应信号之后,立即使中断服务寄存器中与被选中的中断源对应的那一位置1,同时把中断请求寄存器中的相应位清0;
6.掌握可屏蔽中断中日时钟中断,用户中断的中断类型码和中断处理过程;重点掌握中断向量的置换和用户中断的设计。

例:编程实现:利用系统定时中断,每隔18*55ms,显示一行“hello”,主机按任意键停止。

日时钟中断
中断源:系统8254 0#计数器,每55ms有一次中断请求;
中断类型:8型;
日时钟中断的处理流程:
①开中断,保护现场(DS…压栈);
②40H DS,对“日时钟计数器”加1;
③测算软驱马达关闭时间;
④执行INT 1CH(即在INT 08H的ISR中执行软件中断INT 1CH,INT 1CH结束时IRET 返回INT 08H的ISR);
⑤向主8259送中断结束命令;
⑥恢复现场,IRET
7、硬件中断和软件中断的区别
①中断的引发方式不同;
连接到INTR或NMI引脚的信号引发/ 执行INT n引发。

②CPU获取中断类型码的方式不同;8259A提供/ 按中断号取自中断向量表。

③CPU响应的条件不同;硬件中断只有在开中断情况下才能响应/ 软件中断不受此限制。

④中断处理程序的结束方式不同;硬件中断结束前要做两件事:一是向8259A送中断结令,以使8259A在ISR中清除标志位,结束中断;二是执行IRET指令,中断返回/ 软件中断只需直接执行IRET指令。

串行接口8250
1.掌握异步通信的特点及数据帧的格式及波特率(通信速率)的定义;
异步通信特点:异步通信传送中,收、发双方必须约定:
收发双方的通信速率必须一致;
收发双方的数据帧格式必须一致
数据帧的格式:
波特率定义:通信速率,又称波特率,表示每秒钟传送的0、1 代码个数(包括起始位、校验位、停止位),单位为“波特”。

(bits per second,bps)——波特率
2.串行数据传输的三种方式:掌握单工,半双工,全双工通信的含义;
单工:单工方式只允许数据按照一个固定的方向传送;
半双工:收发双方均具备接收和发送数据的能力,但只有一条信道,数据不能同时在两个方向上传送;
全双工:收发双方均可同时进行数据接收和发送.
3.掌握RS-232C 接口标准
该标准对串行通信中的两个关键问题作了规定:信号的电平标准和控制信号的定义。

4.掌握8250 在异步串行通信中的具体使用(初始化和查询方式通信程序设计)。

(1)例:利用甲、乙两台计算机的主串口直接相连进行单工通信。

甲发送,乙接收。

双方通信前约定:7 位数据位,1 位停止位,偶校验,通信速率为2400bps (0030H), 双方均采用查询方式进行数据的发送和接收。

请将下列对甲计算机的I8250 初始化
程序段补充完整。

MOV DX,3FBH
MOV AL, (1)____80H____
OUT DX,AL
MOV DX,3F8H
MOV AL, (2)____0____
OUT DX,AL
MOV DX,3F9H
MOV AL,0
OUT DX,AL ;设置波特率
MOV DX,3FBH
MOV AL, (3)_____30H___
OUT DX,AL ;设置数据格式
MOV DX,3F9H
MOV AL, (4)____0AH____
OUT DX,AL ;禁止所有中断
MOV DX,3FCH
MOV AL, (5)__01H______
OUT DX,AL
(2)查询方式发送程序段
RSCAN: MOV DX,3FDH
IN AL,DX
TEST AL,20H
JZ RSCAN
MOV AL,待发送的数据
MOV DX,3F8H
OUT DX,AL
(3)查询方式接收程序段
TSCAN: MOV DX,3FDH
IN AL,DX
TEST AL,01H
JZ TSCAN
MOV DX,3F8H
IN AL,DX
并行接口8255A
1.了解8255A 的组成结构;
2.掌握如何确定8255A 的端口地址、控制字以及初始化编程;
例:设系统外扩一片8255 及相关外围电路,端口地址为200H~203H,现设置8255A 的 A 口、B 口工作在选通型输入方式,允许 B 口中断、A 口禁止中断。

要求编写初始化程序段。

(要求无关项设置“0”)
I8255A PROC
MOV DX,233H
MOV AL,10000110
OUT DX,AL
MOV AL,00000101
OUT DX,AL
RET
I8255A ENDP
3.掌握8255A 的三种工作方式及其特点;重点在方式0 和方式1 的工作过程,及方式1 的信息传送特点;
方式0:基本型输入/输出端口A、端口B、端口C
方式1:选通型输入/输出端口A、端口B
方式2:双向传输端口A
即:
A口可工作在方式0、1、2
B口可工作在方式0、1
C口只能工作在方式0
例:8255A 的 A 口工作在方式 1 输入或输出时,各对应的一组端口联络信号是什么?对应的信号名称?
8255A 的B 口工作在方式1 输入或输出时,各对应的一组端口联络信号是什么?对应的信号名称?
4.掌握CPU 对8255A 读写操作时芯片相关引脚的状态。

8255A的初始化编程
端口工作在方式0时
方式选择命令字->8255A控制端口;
端口工作在方式1、2时:
(1)方式选择命令字->8255A控制端口;
(2)允许或禁止中断命令字->8255A控制端口;。

相关文档
最新文档