微机论文 2Word格式.docx
《微机论文 2Word格式.docx》由会员分享,可在线阅读,更多相关《微机论文 2Word格式.docx(17页珍藏版)》请在冰点文库上搜索。
微处理器是构成微型计算机的核心,微型计算机的发展其实质就是微处理器的发展,是一个微处理器更新换代的过程。
①微型计算机的构成。
它包括微处理器、存储器、I/O接口和总线,在此基础上再加上外部设备、应用软件等就形成了微机系统。
微处理器、存储器、I/O接口通过数据总线、地址总线和控制总线相互通信,其中数据总线用来传输数据信号,地址总线用来传输地址信号,控制总线用来传输控制信号。
②微机的工作过程。
按照冯·
诺依曼模型,计算机工作的核心就是程序存储和程序控制,微机也不例外。
微机的工作过程就是三个步骤,取指令→指令译码→执行指令。
在掌握了上述的基本知识后,我们要具体了解8086/8088微处理器的结构、功能和操作。
①
编程结构。
②引脚功能。
引脚可分为以下几部分来掌握:
·
数据线:
16位/8位,双向传输。
地址线:
20位,单向传输。
控制线:
每个引脚作用不同,有输入也有输出。
其中,读、写、工作模式选择、中断控制是重点。
③ 基本操作。
8086/8088CPU有6种基本操作:
系统复位与启动、暂停、总线操作、中断、最小模式下的总线保持和最大模式下的总线请求/允许。
第2章8086/8088的指令系统
2.18086/8088寻址方式
简单讲述一下指令的一般格式:
操作码
操作数
……
计算机中的指令由操作码字段和操作数字段组成。
操作码:
指计算机所要执行的操作,或称为指出操作类型,是一种助记符。
操作数:
指在指令执行操作的过程中所需要的操作数。
该字段除可以是操作数本身外,也可以是操作数地址或是地址的一部分,还可以是指向操作数地址的指针或其它有关操作数的信息。
寻址方式就是指令中用于说明操作数所在地址的方法,或者说是寻找操作数有效地址的方法。
8086/8088的基本寻址方式有六种。
1.立即寻址
所提供的操作数直接包含在指令中。
立即寻址主要用来给寄存器或存储器赋初值。
2.直接寻址
操作数地址的16位偏移量直接包含在指令中。
3.寄存器寻址
操作数包含在CPU的内部寄存器中,如寄存器AX、BX、CX、DX等。
4.寄存器间接寻址
操作数是在存储器中,但是,操作数地址的16位偏移量包含在以下四个寄存器SI、DI、BP、BX之一中。
可以分成两种情况:
(1)以SI、DI、BX间接寻址,
(2)以寄存器BP间接寻址,则操作数在堆栈段区域中。
5.变址寻址
由指定的寄存器内容,加上指令中给出的8位或16位偏移量(当然要由一个段寄存器作为地址基准)作为操作数的偏移地址。
6.基址加变址寻址
操作数在存贮器中,其偏移地址由(基址寄存器)+(变址寄存器)+相对偏移量形成。
2.28086/8088指令系统
8086/8088的指令系统可以分为以下六个功能组。
1.数据传送(DataTranster)2.算术运算(Arithmetic)
3.逻辑运算(Logic)4.串操作(Stringmenipulation)
5.程序控制(ProgramControl)6.处理器控制(ProcessorControl)
一、数据传送指令
1.数据传送MOV指令
2.堆栈指令
包括入栈(PUSH)和出栈(POP)指令两类。
仅能进行字运算。
3.交换指令XCHG
一般格式:
XCHGOPRD1,OPRD2
功能:
完成数据交换即(OPRD1)←→(OPRD2)
4.累加器专用传送指令
有三种,输入、输出和查表指令。
前两种又称为输入输出指令。
⑴IN指令
⑵OUT指令
⑶XLAT指令
5.地址传送指令(有三条地址传送指令)
⑴LEA(LoadEffectiveAddress)
⑵LDS(LoadpointerintoDS)
⑶LES(LoadpointerintoES)
6.标志寄存器传送(有四条标志传送指令)
⑴LAHF(LOADAHWITHFLAG)
⑵SAHF(STOREAHWITHFLAG)
⑶PUSHF(PUSHFLAG)
⑷POPF(POPFLAG)
二、算术运算指令
1.加法指令(Addition)
2.减法指令(Subtraction)
3.乘法指令(分为无符号乘法指令和带符号乘法指令两类)
(1)无符号乘法指令MUL
一般格式:
MULOPRD
(2)带符号数乘法指令IMUL
IMULOPRD;
OPRD为源操作数
4.除法指令
(1)无符号数除法指令DIV
DIVOPRD
(2)带符号数除法IDIV
IDIVOPRD
(3)字节扩展指令CBW
CBW
(4)字扩展指令CWD
CWD
5.十进制调整指令
三、逻辑运算和移位指令包括逻辑运算、移位和循环移位指令
1.逻辑运算指令
2.移位指令
(1)算术/逻辑移位指令
(2)循环移位指令
四、串操作类指令(选讲或简单介绍)
串操作类指令可以用来实现内存区域的数据串操作。
这些数据串可以是字节串,也可以是字串。
1.重复指令前缀
2.串指令
五、程序控制指令
转移类指令可改变CS与IP的值或仅改变IP的值,以改变指令执行的顺序。
1.无条件转移
2.条件转移指令
3.循环控制指令
4.调用和返回指令
六、标志处理和CPU控制类指令
标志处理指令用来控制标志,主要有CF、DF和IF三个。
处理器控制指令用以控制处理器的工作状态,均不影响标志位,我们仅列出了一些常用指令,具体见表2-7所示。
表2-7标志处理和CPU控制类指令
汇编语言格式
执行操作
标志类指令
CLC
置进位标志,CF=1
STC
清进位标志,CF=0
CMC
进位标志取反
CLD
清方向标志,DF=0
STD
置方向标志,DF=1
CLI
关中断标志,IF=0,不允许中断
STI
开中断标志,IF=1,允许中断
CPU控制类指令
HLT
使处理器处于停止状态,不执行指令
WAIT
使处理器处于等待状态,TEST线为低时,退出等待
ESC
使协处理器从系统指令流中取得指令
LOCK
封锁总线指令,可放在任一条指令前作为前缀
NOP
空操作指令,常用于程序的延时和调试
第3章汇编语言程序设计
3.1汇编语言的基本元素
一、汇编语言的语句格式
由汇编语言编写的源程序是由许多语句(也可称为汇编指令)组成的。
每个语句由1~4个部分组成,其格式是:
[标识符]指令助记符[操作数][;
注解]
其中用方括号括起来的部分可有可无。
每部分之间用空格(至少一个)分开,一行最多可有132个字符。
1.标识符
是给指令或某一存储单元地址所起的名字,以字母或圆点开头。
2.指令助记符
表示不同操作的指令,
3.操作数
是指令执行的对象。
4.注解
该项可有可无,是为源程序所加的注解,用于提高程序的可读性。
二、汇编语言的运算符
1.算术运算符、逻辑运算符和关系运算符
2.取值运算符SEG、OFFSET、TYPE、SIZE和LENGTH
3.属性运算符
属性运算符用来给指令中的操作数指定一个临时属性,而暂时忽略当前的属性。
三、表达式
1.常数
汇编语言语句中出现的常数可以有7种:
①二进制数后跟字母B,如01000001B。
②八进制数后跟字母Q或O,如202Q或202O。
③十进制数后跟D或不跟字母,如85D或85。
④十六进制数后跟H,如56H,0FFH。
注意,当数字的第一个字符是A~F时,在字符前应添加一个数字0,以示和变量的区别。
另有,十进制浮点数、十六进制实数、字符和字符串
2.常量操作数
常量操作数是一个数值操作数,一般是常量或者是表示常量的标识符。
3.存储器操作数
存储器操作数是一个地址操作数,代表一个存储单元的地址,通常以标识符的形式出现。
4.常量表达式
由常量操作数及运算符构成,在汇编时产生一个常量。
5.地址表达式
由存储器操作数与运算符构成,必须有明确的物理意义。
四、汇编语言程序汇编步骤
1.编写源程序
2.汇编
3.连接
4.调试
3.2伪指令
一、定义数据伪指令
该类伪指令用来定义存储空间及其所存数据的长度。
DB:
定义字节,即每个数据是1个字节。
DW:
定义字,即每个数据占1个字(2个字节)。
DD:
定义双字,即每个数据占2个字。
低字在低地址,高字在高地址。
DQ:
定义4字长,即每个数据占4个字。
·
DT:
定义10个字节长,用于压缩式十进制数,
例如:
DATA1DB5,6,8,100
DATA2DW7,287
TABLEDB?
;
表示在TABLE单元中存放的内容是随机的
当一个定义的存储区内的每个单元要放置同样的数据时,可用DUP操作符。
COUNTDUP(?
),COUNT为重复的次数,“( )”中为要重复的数据
二、符号定义伪指令EQU、=、及PURGE
三、段定义伪指令SEGMENT和ENDS
四、设定段寄存器伪指令ASSUME
五、定义过程的伪指令PROC和ENDP
六、宏指令
七、ORG伪指令
八、汇编结束伪指令END
3.3汇编程序设计
一、简单程序设计
简单程序设计是没有分支,没有循环的直线运行程序,程序执行按照IP内容自动增加的顺序进行。
二、分支程序设计
分支程序的基本思想是根据逻辑判断的结果来形成程序的分支。
三、循环程序设计
循环程序是经常遇到的程序结构,一个循环结构通常由以下几个部分组成。
1.循环初始化部分。
2.循环体。
3.循环控制部分
4.循环结束部分。
3.3汇编程序设计
主要包括循环程序设计和子程序设计
参数传递一般有三种方法实现。
(1)利用寄存器。
(2)利用存储单元。
把所需传递的参数直接放在子程序调用指令之后或通过数据区传递。
(3)利用堆栈。
这种方法将参数压入堆栈,在子程序运行时从堆栈中取参数。
第4章存储器系统
4.1存储器分类
1.按构成存储器的器件和存储介质分类
按构成存储器的器件和存储介质主要可分为:
磁芯存储器、半导体存储器、光电存储器、磁膜、磁泡和其
2.按存取方式分类
可将存储器分为随机存取存储器、只读存储器两种形式。
(1).随机存储器RAM(RandomAccessMemory)
它磁表面存储器以及光盘存储器等。
(2).只读存储器ROM(Read-OnlyMemory)
3.按在微机系统中位置分类
二、存储器的系统结构
一般情况下,一个存储器系统由以下几部分组成。
1.基本存储单元
2.存储体(以图示讲解说明)
3.地址译码器
4.片选与读/写控制电路
5.I/O电路
6.集电极开路或三态输出缓冲器
7.其它外围电路
4.2读写存储器RAM
RAM(RandomAccessMemory)意指随机存取存储器,其工作特点是:
在微机系统的工作过程中,可以随机地对其中的各个存储单元进行读/写操作。
读写存储器分为静态RAM与动态RAM两种。
一、静态RAM
2.静态RAM存储器芯片Intel2114
•存储矩阵:
Intel2114内部共有4096个存储电路,排成64×
64的矩阵形式;
•地址译码器:
输入为10根线,采用两级译码方式,其中6根用于行译码,4根用于列译码;
•I/O控制电路:
分为输入数据控制电路和列I/O电路,用于对信息的输入/输出进行缓冲和控制;
•片选及读/写控制电路:
用于实现对芯片的选择及读/写控制。
(2).Intel2114的外部结构
Intel2114RAM存储器芯片为双列直插式集成电路芯片,共有18个引脚,引脚图如图4-3所示,各引脚的功能如下:
•A0-A9:
10根地址信号输入引脚。
•
:
读/写控制信号输入引脚,当
为低电平时,使输入三态门导通,信息由数据总线通过输入数据控制电路写入被选中的存储单元;
反之从所选中的存储单元读出信息送到数据总线。
•I/O1~I/O4:
4根数据输入/输出信号引脚,图4-3Intel2114引脚图
低电平有效,通常接地址译码器的输出端。
•+5V:
电源。
•GND:
地。
二、动态RAM
1.动态RAM基本存储单元
2.动态RAM存储器芯片Intel2164A
(1).Intel2164A的内部结构
如图4-5所示,其主要组成部分如下:
图4-5Intel2164A内部结构
•存储体:
64K×
1的存储体由4个128×
128的存储阵列构成;
•地址锁存器:
由于Intel2164A采用双译码方式,故其16位地址信息要分两次送入芯片内部。
但由于封装的限制,这16位地址信息必须通过同一组引脚分两次接收,因此,在芯片内部有一个能保存8位地址信息的地址锁存器;
•数据输入缓冲器:
用以暂存输入的数据;
•数据输出缓冲器:
用以暂存要输出的数据;
•1/4I/O门电路:
由行、列地址信号的最高位控制,能从相应的4个存储矩阵中选择一个进行输入/输出操作;
•行、列时钟缓冲器:
用以协调行、列地址的选通信号;
•写允许时钟缓冲器:
用以控制芯片的数据传送方向;
•128读出放大器:
与4个128×
128存储阵列相对应,共有4个128读出放大器,它们能接收由行地址选通的4×
128个存储单元的信息,经放大后,再写回原存储单元,是实现刷新操作的重要部分;
•1/128行、列译码器:
分别用来接收7位的行、列地址,经译码后,从128×
128个存储单元中选择一个确定的存储单元,以便对其进行读/写操作。
(2).Intel2164A的外部结构
•A0~A7:
地址信号的输入引脚,用来分时接收CPU送来的8位行、列地址;
行地址选通信号输入引脚,低电平有效,兼作芯片选择信号。
当
为低电平时,表明芯片当前接收的是行地址;
列地址选通信号输入引脚,低电平有效,表明当前正在接收的是列地址(此时
应保持为低电平);
写允许控制信号输入引脚,当其为低电平时,执行写操作;
否则,执行读操作。
•DIN:
数据输入引脚;
•DOUT:
数据输出引脚;
图4-6Intel2164A引脚
•VDD:
十5V电源引脚;
•Css:
地;
•N/C:
未用引脚。
参考文献
【1】侯晓霞等,微型计算机原理及应用。
-北京-化学工业出版社,2001
【2】侯晓霞等.微型计算机原理及应用.北京:
化学工业出版社,2007.
【3】李大友等.微机计算机接口技术.北京:
清华大学出版社,1998.
【4】雷丽文等.微机计算机接口技术.北京:
电子工业出版社,1997.