汇编资料整理(二) 计算机基本原理

计算机的工作原理: 存储程序 + 程序控制

计算机组成: 计算器 + 控制器 + 存储器 + 输入设备 + 输出设备; 计算器 + 控制器 = 中央处理器(CPU);各系统间通过系统总线相连:地址总线(A-BUS) + 控制总线(C-BUS) + 数据总线(D-BUS)

                 

1.冯诺依曼计算机的基本特点

a.采用存储程序方式,即程序与数据放在同一个存储器中,程序指令和数据都用二进制表示,两者都可以送到CPU执行计算。

b.存储器是按地址访问的,每个存储单元的位数是固定的,存储单元采用线性编址方式,按顺序取出指令。

c.指令由操作码和地址码构成的。根据指令含义发出控制信号控制计算机操作。

d.机器以运算器为中心,输入/输出设备都要经过CPU与存储器间进行数据传送。

2.指令流水线技术,超标量超流水技术,乱序发射乱序执行技术(后面研究一下,进行补充)

3.冯诺依曼计算计算的基本结构

a.中央处理器CPU:是计算机硬件系统的核心部件,是一块超大规模的集成电路,是计算机系统接受命令并按照命令完成对应操作的控制指挥中心(Control Unit)和运算中心(Core)。

CPU主要是由组成: 算术逻辑单元ALU + 地址发生和控制单元 + 指令译码单元 + 数据寄存器单元 + 总线驱动单元 + 时序控制单元 

b.存储器:是用来存储计算机系统中的程序、数据和运行结果的设备。内存(主存)用于存储计算机当前正在运行的程序、正在处理的原始数据、中间结果以及最红结果的寄存器。可由CPU直接寻址。

              

c.输入输出设备:被统称为外部设备,是用来实现人机交换信息的装置。

输入设备,向计算机的主存或CPU送入数据或程序。

输出设备,将计算机处理的结果输出给用户。

d.总线及接口:总线分为内部总线(CPU内部各个部件连线)和外部总线(又名系统总线,分为A-BUS,D-BUS,C-BUS三种)

外部设备和计算机主机间必须有一个中间介质作为缓冲部件,该部件被称为接口。外部设备通过连在外部总线上的接口与CPU相连。接口分为串行接口与并行接口。

串行接口:数据是一位接一位传输的,只需要一根数据线

并行接口:同时并行的传送多位数据。



微处理器:由运算器和控制器两部分组成,是微型计算机的核心。运算器是微机的运算部件,控制器是微机的指挥控制中心。

微处理器(结构上) = 执行部件EU + 总线接口部件BIU

执行部件EU
算术逻辑单元ALU 
通用寄存器组AX、BX、CX、DX、SP、BP、SI、DI
标志寄存器组FLAGS
单元控制系统EC
总线接口部件BIU
段寄存器组CS、DS、ES、SS
指令指针寄存器IP
指令队列单元 
地址加法器 
总线控制系统 

                                        


8086寄存器组:

8086寄存器都是16位的寄存器,根据用途分为4类:数据寄存器、地址寄存器、段寄存器和控制寄存器。

                                                    

1.数据寄存器:包括AX、BX、CX、DX四个16位的通用寄存器,用于存放计算过程中所用的的操作数、结果或其他信息,简而言之即存放数据的寄存器。

数据寄存器
AX通用寄存器,主要做为累加器使用,算术运算的主要寄存器
BX通用寄存器,还作为基址寄存器
CX通用寄存器,还作为计数器
DX通用寄存器,做双精度运算时与AX组合存放双子长,其中DX存放高字,AX存放低字

数据寄存器中每个寄存器又可以分为2个8位寄存器。分别为:AH、AL、BH、BL、CH、CL、DH、DL。-H为高字节寄存器;-L为低字节寄存器。

例如:DX和AX寄存器保存双精度数:23456789H。表示为 (DX) = 23 45H, (AX) = 67 89H。其中AX又可以表示为 (AX) = AH AL :(AH)=67H,(AL)=89H

2.地址寄存器:包括指针和变址寄存器SI、DI、SP、BP四个16位寄存器。地址寄存器可以用来作为通用寄存器,其主要用来存放存储器的偏移地址。严格上来说,用来存放存储器偏移地址的寄存器都应该归为地址寄存器,如BX基址寄存器,IP指令指针寄存器。

地址寄存器
SI源变址寄存器,可用于存放源缓冲区的偏移地址
DI目的变址寄存器,可用于存放目的缓冲区的偏移地址
SP堆栈指针寄存器,可用于指出堆栈区栈顶的偏移地址
BP基址指针寄存器,用于指出堆栈区某个单元的偏移地址

3.段地址寄存器:包括CS、DS、ES、SS四个16位寄存器。

段地址寄存器
CS代码段寄存器,用于指出存放程序的代码段的段地址
DS用于指出存放数据的数据段的段地址
ES用于指出存放附加数据的附加段的段地址
SS用于指出堆栈区的堆栈段的段地址

4.控制寄存器:包括IP和FLAGS(又称PSW程序状态字)两个16位寄存器。用于控制程序的执行。

IP指令指针寄存器,用来存放代码段中的偏移地址,指出当前正在执行的指令的下一条指令所在的单元的偏移地址。

FLAGS标志寄存器,其中的某位代表CPU的一个标志,最低位为D0,最高位为D15。

                     

FLAGS标志寄存器
CF进位标志,当指令执行结果的最高位向前有进位时,CF=1,否则CF=0
SF符号标志,当指令执行结果的最高位为负时,SF=1,否则SF=0
ZF零标志,当指令执行结果为0时,XF=1,结果不为0时,ZF=0
OF溢出标志,当指令执行结果有益处时,OF=1,否者OF=0
AF辅助进位标志,当指令的结果的第三位向前进位时,AF=1,否者AF=0
PF奇偶标志,当指令执行结果中1的个数为偶数时,PF=1,否者PF=0
DF方向标志,控制标志。执行串处理指令时,若设置DF=0,存储单元的地址寄存器的值自动增加,若设置DF=1,存储单元的地址寄存器的值自动减小
IF中断标志,控制标志。设置IF=1,允许CPU响应可屏蔽中断,IF=0则不响应
TF陷阱标志,控制标志。在debug调试时,TF=1,采用单步调试,即进入陷阱;TF=0,正常执行程序

                                  


内存储器:简称内存。在内存中每个存储单元相当于一个房间,地址相当于房间号,用于标识存储单元。

地址在计算机中分为:物理地址 + 逻辑地址

若地址位数为n,则地址空间的大小为2^n个存储单元(寻址空间为2^n B)

物理地址:是内存单元的真实地址。存储单元的物理地址是惟一的。物理地址的范围与系统总线的地址总线的宽度有关,CPU存取数据时必须使用物理地址。

逻辑地址:是用户编程时使用的地址,分为段地址和偏移地址两部分。内存地址空间划分为若干逻辑段,每段由一些存储单元构成。逻辑地址的形式:

                                                                       段地址:偏移地址

用户编程时采用的逻辑地址在CPU执行程序时都要转换成实际的物理地址,这个转换过程是由CPU中的地址加法器自动完成的。转换公式:

                                                               物理地址 = 段地址*10 + 偏移地址

                                                 

例如:3020 : 005A H 的物理地址 = 3020H * 10H + 005AH = 3075AH  

在汇编语言中,把存储单元分为字节单元、字单元、双字单元,程其为存储单元的属性。其中字节单元可存储8位二进制数;2个相邻的字节单元作为字单元存储16位二进制数;用4个字节单元代表双字单元存储32位二进制数。

各段的逻辑地址对应表
段名段寄存器偏移地址
代码段CSIP
数据段DSBX、SI、DI等地址寄存器
附加段ESBX、SI、DI等地址寄存器
堆栈段SSSP或BP

Debug命令详解:    https://www.cnblogs.com/tiger2soft/p/5094917.html
常用debug指令:
R             查看和修改寄存器
D             查看内存单元
E             修改内存单元
U             反汇编,将机器指令变成汇编指令
T/P         单步执行
G             连续执行程序
A             输入汇编指令
Q             退出

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值