微机原理(1)

更新时间:2023-09-29 00:52:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1.8086处理器组成:总线接口单元(BIU),执行单元(EU)

总线接口部件的组成:

(1)4段寄存器(CS,DS,ES,SS) (2)16位指令指针寄存器IP。 (3)20位的地址加法器。

(4)六字节的指令队列缓冲器。 功能:

(1)从内存取指令送到指令队列。

(2)CPU执行指令时,到指定的位置取操作数,并将其送至要求的位置单元中。 执行部件组成:

(1)4个通用寄存器都是16位或作两个8位来使用。(AX、BX、CX、DX) (2)4个专用寄存器(SP BP DI SI) (3)算术逻辑单元ALU

完成8位或者16位二进制算术和逻辑运算,计算偏移量。 (4)数据暂存寄存器

协助ALU完成运算,暂存参加运算的数据。 (5)执行部件的控制电路

从总线接口的指令队列取出指令操作码,通过译码电路分析,发出相应的控制命令,控制ALU数据流向。

(6)标志寄存器 16位寄存器,其中有7位未用。 功能:

(1)从指令队列中取出指令。

(2)对指令进行译码,发出相应的控制信号。

(3)接收由总线接口送来的数据或发送数据至总线接口。 (4)进行算术运算。

2.8086CPU的奇偶存储体结构 P34

8086从奇地址访问:2个总线周期 从偶地址访问:1个总线周期

3.8086 1MB(220)的存储空间最多可分为216个段,每段最小容量24字节;最多可分为

24个段,每段最大容量216字节(64KB)

4.8086重要引脚的功能:不全,见P29

MN/MX:最小/最大模式选择。

MN//MX=1,表示CPU工作在最小模式系统; MN//MX=0,表示CPU工作在最大模式系统。。

M/IO:存储器,I/O端口选择。

M//IO=1,表示CPU正在访问存储器; M//IO=0,表示CPU正在访问IO端口。

A0:低8位数据选择 BHE:高8位数据选择

/RD:读信号,三态输出,低电平有效。

/RD=0,表示当前CPU正在对存储器或I/O端口进行读操作。 /WR:写信号,三态输出,低电平有效。

/WR=0,表示当前CPU正在对存储器或I/O端口进行写操作。 DT//R:数据发送/接收控制信号

DT//R=1,发送数据----写操作; DT//R=0,接收数据----读操作。

5.微机的主要性能指标:字长,主频,运算速度,主存容量

6.字长是微处理器一次可以直接处理的二进制数码的位数,它通常取决于微处理器内部通

用寄存器的位数和数据总线的宽度。

8086:16位CPU。8088:准16位CPU。80386,80486,Pentium32位CPU

7奇偶校验:

在通信中将最高位(D7位)用作奇偶校验位。

偶校验:包括校验位在内的8位二进制数码中1的个数为偶数。 奇校验:包括校验位在内的8位二进制数码中1的个数为奇数。

例:字母A的ASCII码为1000001,偶校验码为01000001,奇校验码为11000001。

8.寄存器分组及主要功能 P24

8086CPU中有哪些寄存器?各有什么用途?

包含4组16位寄存器,分别是通用寄存器、指针和变址寄存器、段寄存器、指令指针和标志寄存器

通用寄存器:4个16位数据寄存器以存放普通数据和地址,也有特殊用途如

AX(AL)用于输入输出指令,乘除法指令;

BX在间接寻址中用作基址寄存器,用来存放偏移地址;

CX在串操作和循环指令中用作计数器,用于控制循环程序的执行次数 DX用于乘除法指令和I/O端口操作等。

指针和变址寄存器:BP,SP,SI,DI在间接寻址中用于存放基址和偏移地址。 段寄存器:DS,CS,SS,ES,存放数据段,代码段,堆栈段,附加段的段地址

指令指针寄存器IP:用来存放将要执行的下一条指令在现行代码段中的偏移地址。 标志寄存器FLAGS: 用来存放运算结果的特征。

9.存储器容量 存储容量=存储器单元数×每单元二进制位数

存储范围计算:

例1(存储器接口分析):已知一个存储器子系统如下图所示,试指出其中RAM和EPROM的存储容量以及各自的地址范围。

RAM的存储容量为2KB,地址范围为F9000H~F97FFH或

F9800H~F9FFFH。

EPROM的存储容量为4KB,地址范围为FD000H~FDFFFH。 10.汇编语言编程

例1:当X﹥0时,Y=1;当X=0时,Y=0;当X﹤0时,Y=﹣1。试编写程序完成这一功能。

DATA SEGMENT ;段定义语句P119 data段名 segment+ends

X DB ? ;伪指令DB定义字节变量,DW字变量,DD双字变量 Y DB ? 伪指令格式: 名字 伪指令符 操作数 ;注释 DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA ;段分配语句P120,4个段寄存器分别与哪

个段有关,各段段名用段定义segment和ends定义过的段名

START:MOV AX,DATA ;立即数不能直接传送给段寄存器P62 MOV DS,AX MOV AL,X

CMP AL,0 JGE NEXT1 MOV AL,0FFH 别

JMP EXIT

NEXT1:JE NEXT2 MOV AL,1 JMP EXIT NEXT2:MOV AL,0 EXIT: MOV Y,AL

MOV AH,4CH INT 21H CODE ENDS

END START ;P75比较

;P102 JGE/JNL:带符号数大于等于/不小于转移 ;小于0 16进制数字以A-F开头前面必加0区 ;等于0 P101 JZ/JE :结果为零/相等转移 ;大于0 ;返回操作系统 P127这种方式程序不要写成proc形

式只需给出assume语句,接下来直接给出要执行的指令语句start,代码段结束前就可以返回操作系统

;end:程序结束语句

例2:编制计算下面函数的程序(X、Y均为带符号字节数):当X≥0、Y≥0时,Z=1;当X、

Y均为负数时,Z=-1;当X、Y异号时,Z=0。

DATA SEGMENT X DB -8 Y DB 90 Z DB 0

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA START:MOV AX,DATA MOV DS,AX CMP X,0

JL L1 ;P102 JL/JNGE:小于/不大于等于,X小于0,转L1 CMP Y,0

JL L2 ;Y小于0,转L2 MOV Z,1 ;X、Y均大于或等于0 JMP EXIT L1:CMP Y,0

JGE L2 ;Y大于等于0,转L2 MOV Z,-1 ;X、Y均为负数 JMP EXIT

本文来源:https://www.bwwdw.com/article/tzid.html

Top