第一章计算机基础知识一、微机系统的基本组成1. 微型计算机系统由硬件和软件两个部分组成。
(1) 硬件:①冯●诺依曼计算机体系结构的五个组成部分:运算器,控制器,存储器,输入设备,输入设备。
其特点是以运算器为中心。
②现代主流的微机是由冯●诺依曼型改进的,以存储器为中心。
③冯●诺依曼计算机基本特点:核心思想:存储程序;基本部件:五大部件;信息存储方式:二进制;命令方式:操作码(功能)+地址码(地址),统称机器指令;工作方式:按地址顺序自动执行指令。
(2) 软件:系统软件:操作系统、数据库、编译软件应用软件:文字处理、信息管理(MIS)、控制软件二、微型计算机的系统结构大部分微机系统总线可分为 3 类:数据总线DB(Data Bus) ,地址总线AB(Address Bus),控制总线CB(Control Bus) 。
总线特点:连接或扩展非常灵活,有更大的灵活性和更好的可扩展性。
三、工作过程微机的工作过程就是程序的执行过程, 即不断地从存储器中取出指令, 然后执行指令的过程。
★例:让计算机实现以下任务:计算计算7+10=?程序:mov al,7Add al,10hlt指令的机器码:10110000 (OP )0000011100000100 (OP)0000101011110100 (OP )基本概念:2. 微处理器、微型计算机、微型计算机系统3. 常用的名词术语和二进制编码(1)位、字节、字及字长(2)数字编码(3)字符编码(4)汉字编码4. 指令、程序和指令系统习题:1.1 ,1.2 ,1.3 ,1.4 ,1.5第二章8086/8088 微处理器一、8086/8088 微处理器8086 微处理器的内部结构:从功能上讲,由两个独立逻辑单元组成,即执行单元EU和总线接口单元BIU。
执行单元EU包括:4 个通用寄存器(AX,BX,CX,DX,每个都是16 位,又可拆位,拆成 2 个8 位)、4 个16 位指针与变址寄存器(BP,SP,SI ,DI)、16 位标志寄存器FLAG(6 个状态标志和 3 个控制标志)、16 位算术逻辑单元(ALU) 、数据暂存寄存器;EU功能:从BIU 取指令并执行指令;计算偏移量。
总线接口单元BIU 包括:4 个16 位段寄存器(CS(代码段寄存器) 、DS(数据段寄存器) 、SS(堆栈段寄存器) 和ES(附加段寄存器) )、16 位指令指针寄存器IP (程序计数器)、20 位地址加法器和总线控制电路、 6 字节(8088 位4 字节)的指令缓冲队列;BIU 功能:形成20 位物理地址;从存储器中取指令和数据并暂存到指令队列寄存器中。
3、执行部件EU和总线接口部件BIU 的总体功能:提高了CPU的执行速度;降低对存储器的存取速度的要求。
4、地址加法器和段寄存器由IP 提供或由EU按寻址方式计算出寻址单元的16 位偏移地址( 又称为逻辑地址或简称为偏移量) ,将它与左移 4 位后的段寄存器的内容同时送到地址加法器进行相加,最后形成一个20 位的实际地址( 又称为物理地址) ,以对应存储单元寻址。
要形成某指令码的物理地址(即实际地址),就将IP 的值与代码段寄存器CS(Code Segment)左移 4 位后的内容相加。
【例假设CS=4000H,IP =0300H,则指令的物理地址PA=4000H× 1 0H+0300H=40300H。
逻辑地址=4000H: 0300H 。
“段加偏移”的寻址机制:物理地址=段基地址(又称段起始地址=段地址×10 H)+偏移地址逻辑地址:其表达形式为“段地址:段内偏移地址”。
二、8086/8088CPU 基本执行环境指令指针(IP )寄存器包含下一条要执行的指令在当前码段中的偏移。
8086 /8088 的16 位标志寄存器 F 只用了其中的9 位作标志位,即 6 个状态标志位, 3 个控制标志位。
6 个状态标志位:CF(Carry Flag )进位标志:进位或借位时,则CF为1;否则为0。
PF(Parity Flag )奇偶性标志:含有偶数个“1”时,则PF 为1;否则为0。
AF(Auxiliary Carry Flag) 辅助进位标志:ZF(Zero Flag) 零标志:运算结果为零,ZF 为1;否则为0。
SF(Sign Flag) 符号标志:OF(Overflow Flag) 溢出标志:3 个控制标志位(程序设置(1),清除(0)):DF(Direction Flag) 方向标志IF(Interrupt Enable Flag) 中断允许标志TF(Trap Flag) 跟踪( 陷阱) 标志存储器组织:1M字节存储器以64K 为范围分为若干段。
在寻址一个具体物理单元时,必须要由一个基地址再加上由SP或IP 或BP或SI 或DI 等可由CPU处理的16 位偏移量来形成实际的20 位物理地址。
三、总线周期1、时钟周期:时钟脉冲信号的一个循环时间叫一个时钟周期,又称为一个“T”状态,是微处理器工作的最小时间单位2、总线周期(机器时间):完成一次对存储器或I/O 端口的操作所需要的时间。
3、指令周期:执行一条指令所需要的时间。
1 个最基本的总线周期由 4 个时钟周期组成, 4 个时钟周期又称为 4 个状态, 。
四、8086/8088 引脚地址/数据总线AD15~AD0:分时复用地址/ 状态总线:A19/S6~A16/S3:控制总线:BHE/S7:表示高8 位数据有效,T1 输出。
RD:存储器或I/O 口读信号,输出,低电平有效,T2~T3 有效。
READY:准备就绪信号,输入,高电平有效。
READY=1 时,表示CPU访问的存储器或I/O 端口已准备好传送数据,马上可以进行读/写操作。
TEST:测试信号,输入,低电平有效。
INTR:可屏蔽中断请求信号,输入,电平触发,高电平有效。
CPU每执行完一条指令, 即检查INTR, 为“1”表示有中断清求,为“0”,则没有。
是否响应受标志寄存器中IF 的控制NMI:不可屏蔽中断请求信号,输入,上升沿触发。
RESET:复位信号,输入,高电平有效。
CPU复位后,从FFFF0H单元开始读取指令。
电源线和地线:VCC,GND五、8086 系统的最小/ 最大工作方式最小工作方式:①INTA: 中断响应信号,输出,低电平有效。
②ALE: 地址锁存允许信号,输出,高电平有效。
③DEN: 数据允许信号,三态输出,低电平有效。
④DT/R :数据发送/ 接收控制信号,三态输出。
⑤M/IO:存储器或I/O 端口选择信号,三态输出。
M/IO=1,表示当前CPU正在访问存储器;M/IO=0,表示当前CPU正在访问I/O 端口。
⑥WR:写信号,三态、输出。
当WR=0 低电平有效时,表示当前CPU正在对存储器或I/O 端口进行写操作。
⑦HOLD:总线保持请求信号,输入,高电平有效。
⑧HLDA:总线请求响应信号,输出,高电平有效。
最大工作方式:在最大方式系统中,外加有8288 总线控制器,一般包含 2 个或多个处理器。
8282: 地址锁存器,8286: 数据收发器第三章8086 指令系统一、计算机语言5. 机器语言:面向机器,0 和1 表示机器是否可接受并执行指令。
2.汇编语言:面向人,符号表示,必须翻译才能执行。
汇编语言指令的格式:一般格式:操作码操作数具体格式:标号:操作码(空格分隔符)目的操作数(存放结果),(逗号分隔符)源操作数;注释一条指令可以无操作数,必须有操作码,不同的机器,操作数个数不同。
1.2 高级语言二、指令寻找操作数的寻址方式操作数通常保存在:(1)指令中(2)CPU 内部寄存器中(3)内存单元中(4)I/O端口中;8086/8088CPU与数据有关寻址方式:1. 立即寻址2. 寄存器寻址3. 直接寻址4. 寄存器间接寻址5. 变址寻址6. 基址寻址7. 基址加变址寻址9. 相对基址变址寻址10. I/O 端口寻址11. 数据串寻址例:设DS=1200H,BX=05A6H,SS=5000H,BP=40A0H,SI =2000H,DI=3000H,位移量DISP =1618H,试判断下列指令的寻址方式,并求出在各种寻址方式下,这些寄存器与位移量所产生的有效地址EA和实际地址(物理地址)PA。
说明指令执行的结果。
①MOV AX,[0618H]这是一条直接寻址方式的指令。
EA=0618HPA=12000H+0618H=12618H该指令执行的结果是将数据段的实际地址为12618H和12619H两单元中的内容取出送AX。
②MOV AX,[BX]这是一条以数据段基址寄存器BX间接寻址的指令。
EA=05A6HPA=12000H+05A6H=125A6H该指令执行的结果是将数据段的125A6H和125A7H两单元的字内容取出送AX。
③MOV AX,[BP]这是一条以堆栈段基址寄存器BP间接寻址的指令。
由于寻址时用上了BP寄存器,则操作数所默认的段寄存器就是SS。
EA=40A0HPA=50000H+40A0H=540A0H该指令执行的结果是将堆栈段的540A0H和540A1H两单元的字内容取出送AX。
④MOV AX,[DI]这是一条变址寻址的指令。
EA=3000HPA=12000H+3000H=15000H该指令执行的结果是将数据段的15000H和15001H两单元的字内容取出送AX。
⑤MOV AX,[BX+DI]这是一条基址加变址寻址的指令。
EA=05A6H+3000H=35A6HPA=12000H+35A6H=155A6H该指令执行的结果是将数据段的155A6H和155A7H两单元的字内容取出送AX。
⑥MOV AX,[BP+SI+DISP]这是一条带位移量的基址加变址寻址的指令,又叫相对基址加变址寻址的指令,且操作数的默认段为SS。
EA=40A0H+2000H+1618H=76B8HPA=50000H+76B8H=576B8H该指令执行的结果是将堆栈段的576B8H和576B9H两单元的字内容取出送AX。
三、指令的寻址=>CS:IP(不用表示,固定的)转移寻址:用于控制转移类指令。
实质:控制转移类指令通过改变IP 和CS值,从新位置开始执行指令。
转移寻址分成 2 种类型:段内转移和段间转移。
条件转移指令只允许实现段内转移,而且是段内短转移,由指令中直接给出8 位地址位移量无条件转移和调用指令又可分为段内短转移、段内直接转移、段内间接转移、段间直接转移和段间间接转移等 5 种不同的寻址方式。
段间转移=远转移。
四、指令分类8086/8088 的指令按功能可分为 6 类:数据传送、算术运算、逻辑运算、串操作、程序控制和CPU控制。
6. 数据传送类指令数据传送类指令可完成寄存器与寄存器之间、寄存器与存储器之间、寄存器与I/O 端口之间的字节或字传送,共同特点是不影响标志寄存器的内容,分成 4 种类型。